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

如何从Prometheus获取最旧VM实例指标并在Grafana实现展示与告警

解决方案

一、Grafana面板展示最旧VM名称

由于vm_instance_info的creation_time是字符串标签,并非数值型指标值,直接用max/topk无法完成筛选。需要先将时间标签转为数值型时间戳,再定位最旧实例:

  1. 使用VictoriaMetrics的parse_time函数把creation_time标签转成Unix时间戳,结合bottomk提取最旧的1个实例:
    bottomk(1, vm_instance_info * parse_time(vm_instance_info.creation_time))
    
  2. 在Grafana中选择Stat面板类型,进入面板的Field设置:
    • 将Display name设为{{ name }}
    • 显示模式选择Value,就能直接展示最旧VM的名称。

二、创建实例超7天告警规则

通过计算当前时间与实例创建时间的差值,判断是否超过7天(合计604800秒):

PromQL查询语句

time() - parse_time(vm_instance_info.creation_time) > 604800

告警规则配置(以Prometheus为例)

groups:
- name: vm_instance_age_alerts
  rules:
  - alert: VmInstanceTooOld
    expr: time() - parse_time(vm_instance_info.creation_time) > 604800
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "VM实例 {{ $labels.name }} 已运行超7天"
      description: "实例 {{ $labels.name }} 创建时间为 {{ $labels.creation_time }},已超过7天未处理。"

如果在Grafana Alerting中配置,直接将上述PromQL作为告警查询条件,设置好通知渠道即可触发告警。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:32:43