如何在警报规则普罗米修斯中显示指标值
How to display values of metrics in alert rules prometheus
我在 prometheus alertmanager 中创建了一条规则,它以百分比形式告诉挂载点上的最少 space - 除此之外,我想显示以千兆字节为单位的最少 space ,但我没有想硬编码一个挂载点以显示千兆字节,我想使用来自 "expr" 的 $labels.mountpoint ,而不是硬编码。
我在这个问题上发现了类似的问题link
https://github.com/prometheus/alertmanager/issues/549
但在这种情况下使用硬编码挂载点
这是我的规则
- alert: OutOfDiskSpace
expr: node_filesystem_free_bytes / node_filesystem_size_bytes * 100 < 10
for: 1m
labels:
severity: Critical
annotations:
description: "Disk is almost full (< 10% left)\n {{ $labels.instance_short }}\n {{ $labels.mountpoint }}\n VALUE = {{ printf `node_filesystem_avail_bytes / 1024 / 1024 / 1024` | query | first | value | humanize }}"
当我在 VALUE
中使用 node_filesystem_avail_bytes / 1024 / 1024 / 1024
时,我没有从表达式中获取挂载点,但我知道实际值在哪里 - 它在 $labels.mountpoint 中,我不能在模板中使用或不知道如何操作
- alert: OutOfDiskSpace
expr: node_filesystem_free_bytes / node_filesystem_size_bytes * 100 < 10
for: 5s
labels:
severity: Critical
annotations:
description: "Disk is almost full (< 10% left)\n {{ $labels.instance_short }}\n {{ $labels.mountpoint }}\n VALUE = {{ printf \"node_filesystem_avail_bytes{mountpoint='%s'}\" .Labels.mountpoint | query | first | value | humanize1024 }}"
我在 prometheus alertmanager 中创建了一条规则,它以百分比形式告诉挂载点上的最少 space - 除此之外,我想显示以千兆字节为单位的最少 space ,但我没有想硬编码一个挂载点以显示千兆字节,我想使用来自 "expr" 的 $labels.mountpoint ,而不是硬编码。
我在这个问题上发现了类似的问题link https://github.com/prometheus/alertmanager/issues/549 但在这种情况下使用硬编码挂载点
这是我的规则
- alert: OutOfDiskSpace
expr: node_filesystem_free_bytes / node_filesystem_size_bytes * 100 < 10
for: 1m
labels:
severity: Critical
annotations:
description: "Disk is almost full (< 10% left)\n {{ $labels.instance_short }}\n {{ $labels.mountpoint }}\n VALUE = {{ printf `node_filesystem_avail_bytes / 1024 / 1024 / 1024` | query | first | value | humanize }}"
当我在 VALUE
中使用 node_filesystem_avail_bytes / 1024 / 1024 / 1024
时,我没有从表达式中获取挂载点,但我知道实际值在哪里 - 它在 $labels.mountpoint 中,我不能在模板中使用或不知道如何操作
- alert: OutOfDiskSpace
expr: node_filesystem_free_bytes / node_filesystem_size_bytes * 100 < 10
for: 5s
labels:
severity: Critical
annotations:
description: "Disk is almost full (< 10% left)\n {{ $labels.instance_short }}\n {{ $labels.mountpoint }}\n VALUE = {{ printf \"node_filesystem_avail_bytes{mountpoint='%s'}\" .Labels.mountpoint | query | first | value | humanize1024 }}"