当我发送警报时,我希望在触发警报时发送推送 我想在描述中添加更多信息,例如node_filesystem_files_free&node_cpu_seconds_total&node_cpu_guest_seconds_total
groups:
- name: test
rules:
- alert: test
expr: (node_filesystem_free_bytes{job="big-data"} / 1024^3) < 10
for: 1m
labels:
name: instance
severity: Critical
level: Warning
job: big-data
annotations:
summary: "test - {{ $labels.appname }}"
description: "{{ $labels.device }} 10GB! \n last: {{ $value | printf \"%.1f\" }} GB"
value: "{{ $value}}%"
当我尝试使用时
描述:“{{node_filesystem_free_bytes}}”
错误:函数“node_filesystem_free_bytes”未定义
Prometheus 可以轻松定义警报规则,警报规则允许您基于 Prometheus 表达式、语言表达式定义警报条件,并向外部服务发送有关触发警报的通知。
可能存在 Prometheus 模板中函数语法使用不正确的问题。从这个grafana文档你可以找到各种prometheus警报规则。检查文档中的以下部分
alert: HostDiskWillFillIn24Hours
expr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 10 and ON (instance, device, mountpoint) predict_linear(node_filesystem_avail_bytes{fstype!~"tmpfs"}[1h], 24 * 3600) < 0 and ON (instance, device, mountpoint) node_filesystem_readonly == 0
for: 2m
labels:
severity: warning
annotations:
summary: Host disk will fill in 24 hours (instance {{ $labels.instance }})
description: Filesystem is predicted to run out of space within the next 24 hours at current write rate\n VALUE = {{ $value }}
当磁盘填满非root用户时,使用“node_filesystem_free_bytes”的相同规则将触发,并且在github中也类似。
看看这个Prometheus风格的UI,用于您的警报、记录规则和Alertmanager。