You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kibana中为每个机器名自动创建心跳时间直方图可视化?

自动化生成各机器心跳在线/离线可视化方案

完全可以实现自动化创建,无需为新增机器手动配置可视化,以下是具体实现步骤(基于Kibana可视化工具):

1. 选择可视化类型

使用折线图(或条形图),这类图表能直观展示时间轴上各机器的在线状态(有心跳显示1,无心跳显示0)。

2. 基础数据配置

  • 选择你的心跳数据索引
  • 设置合适的时间范围(比如最近7天、自定义区间)

3. 核心分桶配置(实现自动化分组)

  • X轴(时间维度):选择Date Histogram聚合,关联字段为Heartbeat Signal Time,时间间隔根据你的心跳频率设置(比如5分钟、10分钟,确保覆盖机器心跳的正常间隔)。
  • 拆分系列(机器维度):选择Terms聚合,关联字段为Machine Name,设置“最大显示条数”为足够大的值(或勾选显示全部),这样所有新增的机器会自动被纳入分组,无需手动添加。

4. Y轴调整为固定在线标识(1/0)

因为每个心跳文档代表一次在线,需要将Y轴设置为“有心跳显示1,无心跳显示0”:

  • 先添加Count聚合(统计时间区间内的心跳数)
  • 再添加Math聚合,输入公式:count > 0 ? 1 : 0,用这个聚合作为Y轴的指标。这样只要该时间区间内有心跳,Y轴就显示1,无心跳则显示0,精准对应在线/离线状态。

5. 可视化效果优化

  • 将Y轴范围固定为0-1,视觉上更清晰区分在线/离线
  • 开启“空值填充”,把无心跳的时间点填充为0,离线状态会显示为平线
  • 配置图例为滚动模式(如果机器数量较多),避免图例遮挡图表

6. 自动适配新增机器

保存这个可视化后,后续新增的机器只要有心跳数据写入Elasticsearch,就会自动出现在图表的系列分组中,无需手动修改可视化配置。

补充说明

你之前尝试Buckets未成功,大概率是没用到「拆分系列」的Terms聚合来自动按机器分组,或是没通过Math聚合将Y轴转换为1/0的在线标识。按上述步骤配置即可实现需求。

内容的提问来源于stack exchange,提问作者user2753013

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:40:23