logstash 弹性搜索日期输出不同
logstash elastic search date output is different
我的系统审核日志包含日期格式,如 created_at":1422765535789,因此,elastic search 输出也显示相同样式的日期。但是,我想将此 1422765535789 转换并打印为 unix 样式日期格式。
我在 syslog 文件中使用了这种格式(正如另一个问题线程所建议的)。但我没有得到以上值到 unix 风格的日期格式
日期 {
匹配 => ["created_at", "UNIX_MS"]
}
嗨,我已经更新了 syslog 中的代码,但是,我得到 created_at 仍然以与 1422765535789 相同的格式输出到弹性搜索页面,请查找修改后的代码
input {
stdin {
}
}
filter {
grok {
match => [ "message", "%{NUMBER:created_at}"
]
}
if [message] =~ /^created_at/ {
date {
match => [ "created_at" , "UNIX_MS" ]
}
ruby {
code => "
event['created_at'] = Time.at(event['created_at']/1000);
"
}
}
}
output {
elasticsearch { host => localhost }
stdout { codec => rubydebug }
}
date
过滤器用于更新 @timestamp
字段值。
input {
stdin {
}
}
filter {
grok {
match => [ "message", "%{NUMBER:created_at:int}"
]
}
if "_grokparsefailure" not in [tags]
{
date {
match => [ "created_at" , "UNIX_MS" ]
}
ruby {
code => "
event['created_at'] = Time.at(event['created_at']/1000);
"
}
}
}
output
{
stdout {
codec => rubydebug
}
}
这是我的配置。当我输入 1422765535789
时,它可以解析值并更新 @timestamp
字段值。
输出为
{
"message" => "1422765535789",
"@version" => "1",
"@timestamp" => "2015-02-01T04:38:55.789Z",
"host" => "ABC",
"created_at" => "2015-02-01T12:38:55.000+08:00"
}
你可以发现 @timestamp
的值与 created_at
相同。
并且,ruby
过滤器用于将 created_at
转换为 UTC 格式。
仅供参考。
我的系统审核日志包含日期格式,如 created_at":1422765535789,因此,elastic search 输出也显示相同样式的日期。但是,我想将此 1422765535789 转换并打印为 unix 样式日期格式。
我在 syslog 文件中使用了这种格式(正如另一个问题线程所建议的)。但我没有得到以上值到 unix 风格的日期格式 日期 { 匹配 => ["created_at", "UNIX_MS"] }
嗨,我已经更新了 syslog 中的代码,但是,我得到 created_at 仍然以与 1422765535789 相同的格式输出到弹性搜索页面,请查找修改后的代码
input {
stdin {
}
}
filter {
grok {
match => [ "message", "%{NUMBER:created_at}"
]
}
if [message] =~ /^created_at/ {
date {
match => [ "created_at" , "UNIX_MS" ]
}
ruby {
code => "
event['created_at'] = Time.at(event['created_at']/1000);
"
}
}
}
output {
elasticsearch { host => localhost }
stdout { codec => rubydebug }
}
date
过滤器用于更新 @timestamp
字段值。
input {
stdin {
}
}
filter {
grok {
match => [ "message", "%{NUMBER:created_at:int}"
]
}
if "_grokparsefailure" not in [tags]
{
date {
match => [ "created_at" , "UNIX_MS" ]
}
ruby {
code => "
event['created_at'] = Time.at(event['created_at']/1000);
"
}
}
}
output
{
stdout {
codec => rubydebug
}
}
这是我的配置。当我输入 1422765535789
时,它可以解析值并更新 @timestamp
字段值。
输出为
{
"message" => "1422765535789",
"@version" => "1",
"@timestamp" => "2015-02-01T04:38:55.789Z",
"host" => "ABC",
"created_at" => "2015-02-01T12:38:55.000+08:00"
}
你可以发现 @timestamp
的值与 created_at
相同。
并且,ruby
过滤器用于将 created_at
转换为 UTC 格式。
仅供参考。