0

我有以下配置文件。但是当我运行它时,我在终端中更改了时间戳,但日志没有发送到 ElasticSearch。

这是配置文件:

input {
stdin {
    type => "stdin-type"
  }
}
filter {

  grok {
    type => "stdin-type"
    patterns_dir=>["./patterns"]
    pattern => "%{PARSE_ERROR}"
    add_tag=>"%{type1},%{type2},%{slave},ERR_SYSTEM"
  }


mutate
{
    type=>"stdin-type"
    replace => ["@message", "%{message}" ]
replace =>["@timestamp","2013-05-09T05:19:16.876Z"]

}


}
output {
  stdout { debug => true debug_format => "json"}
  elasticsearch
{
}
}

删除替换行后,日志将被发送。我哪里错了?

4

2 回答 2

0

在第二个变异代码块中尝试第二个“替换”。

mutate
{
    type=>"stdin-type"
    replace => ["@message", "%{message}" ]
}
mutate
{
    type=>"stdin-type"
    replace =>["@timestamp","2013-05-09T05:19:16.876Z"]

}
于 2013-06-27T08:12:40.300 回答
0

使用详细标志运行 logstash,然后检查您的 logstash 日志是否有任何输出。在详细模式下,logstash 进程通常会确认消息是否已发送到 ES 或未发送的原因。

你的配置看起来很干净......如果详细标志没有给你任何有意义的输出,那么你应该检查你的 ES 设置。

于 2013-05-19T08:54:49.210 回答