Azure Monitor日志查询:为VM心跳添加状态颜色标识并展示至仪表板
Azure Monitor日志查询添加VM状态标识并固定到仪表板
1. 修改查询添加状态列
基于你现有的查询,我们可以通过Kusto函数添加状态判断和颜色标识列,直接在表格中显示绿/红状态:
基础版(仅显示有心跳记录的VM)
Heartbeat | summarize arg_max(TimeGenerated, *) by Computer | extend 心跳间隔 = now() - TimeGenerated | extend 状态 = iff(心跳间隔 < 15m, "正常", "异常") | extend 状态颜色 = iff(心跳间隔 < 15m, dynamic({"type": "color", "value": "green"}), dynamic({"type": "color", "value": "red"})) | project Computer, 状态, 状态颜色, TimeGenerated, ComputerIP, OSType
进阶版(显示所有VM,包括无心跳记录的)
如果需要覆盖订阅内所有VM(哪怕从未上报心跳),可以结合VMInventory表关联查询:
VMInventory | project Computer, OSType | join kind=leftouter ( Heartbeat | summarize arg_max(TimeGenerated, *) by Computer | extend 心跳间隔 = now() - TimeGenerated ) on Computer | extend 状态 = iff(isnotempty(TimeGenerated) and 心跳间隔 < 15m, "正常", "异常") | extend 状态颜色 = iff(isnotempty(TimeGenerated) and 心跳间隔 < 15m, dynamic({"type": "color", "value": "green"}), dynamic({"type": "color", "value": "red"})) | project Computer, 状态, 状态颜色, TimeGenerated, ComputerIP, OSType
说明:
15m是心跳正常的时间阈值,你可以根据实际需求改成5m(5分钟)或30m(30分钟)状态颜色列会在仪表板表格中显示对应颜色的单元格,绿色代表正常,红色代表异常
2. 固定结果到Azure仪表板
- 在Azure Monitor>Logs中运行修改后的查询,确认结果符合预期
- 点击查询页面顶部的固定到仪表板按钮
- 在弹出窗口中选择要固定的目标仪表板(可以选择现有仪表板,或新建一个)
- 点击固定,完成后切换到对应仪表板即可看到VM状态表格
内容的提问来源于stack exchange,提问作者Vipeen Sekharan
相关产品推荐
相关产品推荐

