Elasticsearch Logstash Kibana和Grok如何拆分消息?

时间:2017-12-06 19:20:29

标签: logstash-grok elasticsearch-5 kibana-5

我创建了一个过滤器来拆分我们的日志文件,并且遇到以下问题。我无法弄清楚如何保存"消息的部分"他们自己的领域或标签或任何你称之为。我已经有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。

我不清楚如何为此创建映射。

非常感谢指导。

0 个答案:

没有答案