如何在 Kibana 的 Discover UI 中查看 group/session 中的日志行?
How to view the log rows in group/session in Kibana's Discover UI?
我正在使用 elasticsearch + kibana + logstash + filebeat
最新的 6.4.1 来收集和分析网络日志。我的日志列如下:
timestamp, http_method, request_uri, http_status, host, user_agent, client_ip, client_port
我已配置 ELK 以在 Kibana 中显示我的日志。但是现在我想在会话中查看我的日志。我希望日志行可以按会话分组并显示在 Kibana 的 Discover
页面中。在我的场景中,具有相同 (host, client_ip)
的日志行属于同一会话。
希望带session/groupingUI的Discover能显示所有session。当我点击它时,我仍然可以在一个会话中看到日志行。
可以吗?或者最好的方法是什么?谢谢。
Discover 将日志条目显示为存储的原始文档,您可以在 Discover 上保存搜索,即使不过滤任何内容。通过 Vizualize,您可以创建小部件,这些小部件可以像会话一样聚合数据。我通常为时间线制作一两个“视觉生成器”,为 (request_uri、主机、user_agent、client_ip) 制作一个数据 table,为 [=29=制作一个饼图].使用这些视觉效果,您可以创建一个仪表板并包含来自发现的搜索结果。在此仪表板上,您可以搜索和过滤,如果您从发现中添加搜索,仪表板将显示每个仍会显示的原始数据。我只在添加新索引后使用发现。
https://www.elastic.co/guide/en/kibana/current/visualize.html
https://www.elastic.co/guide/en/kibana/current/dashboard.html
如果您真的希望索引包含 host/client_ip 作为聚合,您必须在将数据存储到 elasticsearch 之前对数据进行分组。仪表板听起来是个更好的主意。
编辑:正如 Waleed Ali 所描述的,可视化可能看起来像这样
正如@sleepyhead 所说,Discover 不是为了你要找的目的。您可以在 Kibana 中从 Visualize 创建 Datatable(我想您已经完成了)。
接下来,在 Bucket Aggregations 部分,您可以选择 Split Rows 并进行 Terms
聚合。 Select 你想要的字段(主机)在那里。然后添加一个子桶,然后再次选择 Split Rows 然后 Terms
Aggregation 和 select 另一个字段 (client_ip).
这将在您的数据 table 中为每个唯一的两个字段集(主机,client_ip)创建一行,据我了解您的问题和评论。
默认情况下,只有一个列 (Count),但是,您显然可以通过添加 Metric Aggregations.
来添加更多列
我正在使用 elasticsearch + kibana + logstash + filebeat
最新的 6.4.1 来收集和分析网络日志。我的日志列如下:
timestamp, http_method, request_uri, http_status, host, user_agent, client_ip, client_port
我已配置 ELK 以在 Kibana 中显示我的日志。但是现在我想在会话中查看我的日志。我希望日志行可以按会话分组并显示在 Kibana 的 Discover
页面中。在我的场景中,具有相同 (host, client_ip)
的日志行属于同一会话。
希望带session/groupingUI的Discover能显示所有session。当我点击它时,我仍然可以在一个会话中看到日志行。
可以吗?或者最好的方法是什么?谢谢。
Discover 将日志条目显示为存储的原始文档,您可以在 Discover 上保存搜索,即使不过滤任何内容。通过 Vizualize,您可以创建小部件,这些小部件可以像会话一样聚合数据。我通常为时间线制作一两个“视觉生成器”,为 (request_uri、主机、user_agent、client_ip) 制作一个数据 table,为 [=29=制作一个饼图].使用这些视觉效果,您可以创建一个仪表板并包含来自发现的搜索结果。在此仪表板上,您可以搜索和过滤,如果您从发现中添加搜索,仪表板将显示每个仍会显示的原始数据。我只在添加新索引后使用发现。
https://www.elastic.co/guide/en/kibana/current/visualize.html
https://www.elastic.co/guide/en/kibana/current/dashboard.html
如果您真的希望索引包含 host/client_ip 作为聚合,您必须在将数据存储到 elasticsearch 之前对数据进行分组。仪表板听起来是个更好的主意。
编辑:正如 Waleed Ali 所描述的,可视化可能看起来像这样
正如@sleepyhead 所说,Discover 不是为了你要找的目的。您可以在 Kibana 中从 Visualize 创建 Datatable(我想您已经完成了)。
接下来,在 Bucket Aggregations 部分,您可以选择 Split Rows 并进行 Terms
聚合。 Select 你想要的字段(主机)在那里。然后添加一个子桶,然后再次选择 Split Rows 然后 Terms
Aggregation 和 select 另一个字段 (client_ip).
这将在您的数据 table 中为每个唯一的两个字段集(主机,client_ip)创建一行,据我了解您的问题和评论。
默认情况下,只有一个列 (Count),但是,您显然可以通过添加 Metric Aggregations.
来添加更多列