我创建了一个过滤器来拆分我们的日志文件,并且遇到以下问题。我无法弄清楚如何保存"消息的部分"他们自己的领域或标签或任何你称之为。我已经有3天的新日志了,并且在找到知道它的人时没有运气。
因此,举个例子,假设这是日志文件中的日志行
2017-12-05 [user:edjm1971] msg:这是来自系统的消息。
您要做的是获取用户的值并将其设置为某个索引映射,以便您可以搜索该用户的所有日志。此外,您应该在Kibana的自己的字段中看到消息中的信息。
我的logstash的pipeline.conf文件就像
grok {
match => {
"message" => "%{TIMESTAMP_ISO8601:timestamp} [sid:%{USERNAME:sid} msg:%{DATA:message}"
}
add_tag => [ "foo_tag", "some_user_value_from_sid_above" ]
}
现在,当我运行记录器来创建日志时,数据会转移到ES,我可以在KIBANA中看到数据但是我根本没有看到foo_tag的sid值。 我究竟如何使用它来创建存储到ES中的新标记,以便从消息中看到我想要的数据?
注意:使用正则表达式工具,它似乎都可以很好地解析日志格式,而logstash的日志在处理时不会吐出错误。
对于logstash映射,它使用一些自动定义的映射,因为路径值为nil。
我不清楚如何为此创建映射。
非常感谢指导。