Prometheus的报警规则可以通过正则表达式匹配目标数据,当匹配到符合条件的数据时,会触发报警。
对于磁盘I/O读写时间大于30s的报警规则,可以使用以下配置:
yaml复制代码
groups:
- name: Disk I/O报警规则
rules:
- alert: DiskIOTimeOut
expr: |
(
sum(node_disk_io_time_seconds_total{device=~"/dev/.*"}[5m])
/
sum(node_disk_io_time_seconds_total{device=~"/dev/.*", operation=~"read|write"}[5m])
) > 0.03
for: 10m
labels:
severity: page
annotations:
summary: 服务器{{ $labels.instance }}磁盘I/O超时
description: 服务器{{ $labels.instance }}, 磁盘设备: 使用超过80%!
以上配置中,expr字段定义了报警规则的表达式,其中node_disk_io_time_seconds_total是一个度量标准,表示磁盘I/O运行的总时间,device=~"/dev/.*"operation=~"read|write"分别过滤出所有磁盘设备和读写操作的I/O时间,sum(node_disk_io_time_seconds_total{device=~"/dev/.*"}[5m])计算5分钟内所有磁盘设备的总I/O时间,sum(node_disk_io_time_seconds_total{device=~"/dev/.*", operation=~"read|write"}[5m])计算5分钟内所有读写操作的I/O时间。最后通过计算比例,如果超过0.03(即30%),则触发报警。
alert怎么读
for: 10m字段定义了报警持续时间,这里是10分钟。labels字段定义了报警标签,这里是严重程度为"page"。annotations字段定义了报警备注,这里是描述了报警的原因和解决方案。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。