需要您通过logstash自定义日志解析的帮助
以下是我尝试通过logstash解析的日志格式
2015-11-01 07:55:18,952 [abc.xyz.com] - /Enter, G, _null, 2702, 2, 2, 2, 2, PageTotal_1449647718950_1449647718952_2_App_e9c00521-eeec-4d47-bf5b-b842ec14a4ff_178.255.153.2___, , , NEW,
我的logstash conf文件如下所示
input {
file {
path => [ "/tmp/access.log" ]
}
}
filter{
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{GREEDYDATA:message}" }
}
date {
match => ["timestamp","yyyy-MM-dd HH:mm:ss,SSSS"]
}
}
由于某种原因,运行logstash命令传递conf文件并不解析日志,不确定配置是否有错误。任何帮助都将受到高度赞赏。
bin/logstash -f conf/access_log.conf
Settings: Default filter workers: 6
Logstash startup completed
答案 0 :(得分:1)
我已经检查了您的Grok Match过滤器,并且可以: Grok Debugger
您不必使用日期匹配器,因为grok匹配器已正确匹配TIMESTAMP_ISO8601时间戳。
我认为你的问题是" since_db"文件。 这是文档: since_db
简而言之,logstash记住文件是否已经被读取并且不再读取它。 Logstash记住是否已读取一个文件,因为将其写入自数据库以来。 如果您想测试过滤器读数总是相同的文件,您可以尝试:
input {
file {
path => [ "/tmp/access.log" ]
sincedb_path => "/dev/null"
}
}
此致