elasticsearch 无法使用grok筛选日志
我想过滤我与格罗克的日志,我已经浏览了许多文档,但我找不到解决问题的方法。我有一个这样的日志elasticsearch 无法使用grok筛选日志,elasticsearch,logstash,logstash-grok,elasticsearch,Logstash,Logstash Grok,我想过滤我与格罗克的日志,我已经浏览了许多文档,但我找不到解决问题的方法。我有一个这样的日志 2017-01-24|15:00:11|UpToDate.Editorial.Service.Topic.IcgDataIslandSaveUtil|1|[(null)]| - Step 0, Start saving data island. 0.0010006 seconds since last step, 0.0020005 seconds since start. 格式为 date|tim
2017-01-24|15:00:11|UpToDate.Editorial.Service.Topic.IcgDataIslandSaveUtil|1|[(null)]| - Step 0, Start saving data island. 0.0010006 seconds since last step, 0.0020005 seconds since start.
格式为
date|time|class|level|user|log
我已经为此创建了一个conf文件,如下所示
input {
beats {
port => "5044"
}
}
filter {
grok {
match => { "message" => "%{YEAR}-%{MONTHNUM}-%{MONTHDAY}|%{HOUR}:%{MINUTE}:%{SECOND}|%{GREEDYDATA:class}|%{NUMBER:level}|%{GREEDYDATA:user}|%{GREEDYDATA:log}\n" }
}
}
output {
elasticsearch {
hosts => [ "localhost:9200" ]
}
}
但它没有过滤掉这些细节,只是索引了整个日志。有人能指出我做错了什么吗?任何帮助都将不胜感激 图案中有特殊字符。使用此选项:
%{YEAR}-%{MONTHNUM}-%{MONTHDAY}\|%{HOUR}:%{MINUTE}:%{SECOND}\|%{GREEDYDATA:class}\|%{NUMBER:level}\|%{GREEDYDATA:user}\|%{GREEDYDATA:log}<br/>
%%{YEAR}-%%{MONTHNUM}-%%{MONTHDAY}\\\{HOUR}:%%{MINUTE}:%%{SECOND}\\\{SECOND}\\\{greedydydata:class}\\\\{NUMBER:level}\\\{GREEDYDATA:user}\\\\\{GREEDYDATA:log}
我在结尾删除了“\n”,这对我来说把解析搞砸了。如果您再次遇到grok模式问题,请使用此网站,它会有很大帮助: