如何在Kibana / Logstash中对日志进行分组?

时间:2018-11-29 08:19:36

标签: logstash kibana elastic-stack

我们有一个ELK设置,Logstash正在接收来自服务器上安装的Filebeat的所有日志。因此,当我打开Kibana并要求输入索引时,我仅将*用作索引值,然后转到“发现”选项卡检查日志,它在单独的可扩展部分显示了日志的每一行。

我希望能够首先根据时间戳对日志进行分组,然后根据每个请求在我们的日志中生成的通用ID进行分组,以便从其余日志中进行识别。我们得到的日志示例:

DEBUG [2018-11-23 11:28:22,847][298b364850d8] Some information
INFO  [2018-11-23 11:27:33,152][298b364850d8] Some information
INFO  [2018-11-24 11:31:20,407][b66a88287eeb] Some information
DEBUG [2018-11-23 11:31:20,407][b66a88287eeb] Some information

我希望在同一下拉列表中查看所有请求ID为298b364850d8的日志,因为它们是连续日志。然后,它可以再次进入第二个下拉列表,并按时间戳顺序按请求ID b66a88287eeb分组。

这是否有可能,或者我对工具的期望过高?

或者,如果有更好的日志分组策略,我很乐意听取建议。

一个朋友告诉我,我可以在logstash中进行配置,以基于某些正则表达式对日志进行分组,但是我只是不知道在何处以及如何对其进行配置以进行分组。

我对整个ELK堆栈完全陌生,无法回答我的问题,这些问题本质上可能是非常基本的。

2 个答案:

答案 0 :(得分:0)

您所说的问题确实有点含糊和笼统。但是,我会尽力提供帮助:)

  1. 检查您在logstash output中定义的索引。这是需要定义的索引Kibana-不是*。
  2. Create an Index Pattern to Connect to Elasticsearch。这将解析日志的字段,并允许您根据需要进行过滤。
  3. 建议您使用GUI工具(例如Cerebro)来更好地了解ES中的情况。它还可以帮助您更好地了解那里的索引。

祝你好运

答案 1 :(得分:0)

您可以使用@timeStamp过滤器和下面的示例图像搜索查询来过滤所需的内容。 enter image description here