我有以下配置文件。但是当我运行它时,我在终端中更改了时间戳,但日志未发送到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
{
}
}
在删除替换行时,会发送日志。我哪里错了?
答案 0 :(得分:0)
使用详细标志运行logstash,然后检查logstash日志中是否有任何输出。在详细模式下,logstash进程通常会确认消息是否已发送到ES或为什么不是。
您的配置看起来很干净......如果详细标记没有给您任何有意义的输出,那么您应该检查您的ES设置。
答案 1 :(得分:0)
在第二个mutate代码块中尝试第二个'replace'。
mutate
{
type=>"stdin-type"
replace => ["@message", "%{message}" ]
}
mutate
{
type=>"stdin-type"
replace =>["@timestamp","2013-05-09T05:19:16.876Z"]
}