代码之家  ›  专栏  ›  技术社区  ›  Subtubes

如何将查询结果添加到prometheus alert manager描述中

  •  0
  • Subtubes  · 技术社区  · 6 年前

    当普罗米修斯警报管理器发出警报时,特别是当我的磁盘已满时,我想知道磁盘的大小以及磁盘上剩余的空间。我正在尝试向警报描述中添加模板查询,我有以下警报规则

          - 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 回复  |  直到 6 年前
    推荐文章