当从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
的最后一个值,如何重构查询以仅显示该值。