【发布时间】:2014-06-08 17:21:13
【问题描述】:
我有一个运行多个 JVM 的服务器,我想使用 Kibana 监控(不一定实时)它们的堆使用情况。我通过 LogStash 在 ElasticSearch 数据库中收集此类信息,并且我的事件具有以下形式
(注意:为简单起见,移除了 JSON 键中的引号)
{ timestamp : "..1", service : "jvm-UsedHeap-App1", metric : 10}
{ timestamp : "..1", service : "jvm-UsedHeap-App2", metric : 20}
{ timestamp : "..2", service : "jvm-UsedHeap-App1", metric : 11}
{ timestamp : "..2", service : "jvm-UsedHeap-App2", metric : 21}
我想创建一个直方图,它将为每个跟踪的 JVM 绘制 2 条线(实际上更多,JVM 数量不同,但最大值为
编辑:如果我的事件有 2 个数字字段并且我想分别绘制它们怎么办?例如。使用 collectd 输入,我的事件如下所示:
{"@timestamp":"2014-04-24T05:00:20.813Z","plugin":"vmem","collectd_type":"vmpage_io","type_instance":"swap","in":0,"out":3103}
并希望将“输入”和“输出”绘制为单独的线。
【问题讨论】:
-
我认为使用 Kibana 实现这一目标的唯一方法是针对不同的 JVM 进行查询。
-
我按照@Pigueiras 的建议解决了这个问题,创建了多个查询并从所有这些查询中绘制了
metric字段。对于有 2 个数字字段的情况,我将它们分成 2 个单独的事件,同时通过 LogStash 并将数字字段重命名为metric。
标签: elasticsearch kibana