我最近一直在调查ELK作为潜在的日志记录/监控解决方案。我有堆栈设置和工作,我开始通过grok过滤日志。
是否可以将您的grok模式的特定部分显示为Kibana中的字段?
例如,采用以下模式:
SAMSLOG %{HOUR}:%{MINUTE}:%{SECOND} \[%{USERNAME:user}\] - %{JAVALOGMESSAGE}
我希望(并且从我读过的内容)“用户”应该成为Kibana的一个可用字段,我可以搜索/过滤结果?我是否完全被误解了,或者我错过了链条中的重要链接?
Full Grok模式:
multiline {
patterns_dir => "/home/samuel/logstash/grok.patterns"
pattern => "(^%{SAMSLOG})"
negate => true
what => "previous"
}
谢谢你, 萨姆
答案 0 :(得分:0)
是的,logstash的整个“魔力”是获取非结构化数据并从中生成结构化字段。所以,你的基本前提是正确的。
您缺少的是多行{}是一个过滤器,用于将多个输入行合并为一个事件;这基本上就是它的全部。其中的“模式”字段用于标识何时应该启动新行。
要从事件中创建字段,您需要使用grok {}过滤器。