如何将查询结果添加到Prometheus警报管理器说明中

时间:2020-02-11 02:03:31

标签: prometheus prometheus-alertmanager

当从Prometheus警报管理器发出警报时,尤其是磁盘装满时,我想知道磁盘的大小以及磁盘上剩余的空间。我正在尝试将模板查询添加到警报描述中,并且具有以下警报规则

      - alert: Disk_space_80_percent_full
    expr: |
      100 - ((node_filesystem_avail{device=~"/dev/nvme.+|/dev/xvd.+"} * 100 ) / node_filesystem_size{device=~"/dev/nvme.+|/dev/xvd.+"}) > 80
    for: 5m
    labels:
      alert_policy: "warning" 
      alert_receiver: "slack"
    annotations:
      summary: "Disk space is above 80% full"
      description: |
        "
        available = {{ printf `node_filesystem_avail{instance="%s",device=~"/dev/nvme.+|/dev/xvd.+"}` $labels.instance | query | first }}
        disk size = {{ printf `node_filesystem_size{instance="%s",device=~"/dev/nvme.+|/dev/xvd.+"}` $labels.instance | query | first }}
        "

但是,这并没有给我想要的结果。它返回的看起来像元组

{
map[
    _name__:node_filesystem_size 
    device:/dev/nvme0n1p1 
    env:dev 
    fstype:ext4 
    instance:<redacted>
    mountpoint:/ 
] 
1.040835129344e+12

}

我真正想要的是我1.040835129344e+12的最后一个值,如何重构查询以仅显示该值。

0 个答案:

没有答案