fischerX/infra/monitoring/prometheus/rules/system-alerts.yml

49 lines
1.9 KiB
YAML

groups:
- name: system_alerts
interval: 30s
rules:
- alert: HighCPUUsage
expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80
for: 5m
labels:
severity: warning
annotations:
summary: "Instance {{ $labels.instance }} 高CPU使用率"
description: "CPU使用率超过80% (当前: {{ $value | humanizePercentage }})"
- alert: HighMemoryUsage
expr: 100 - ((node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100) > 85
for: 5m
labels:
severity: warning
annotations:
summary: "Instance {{ $labels.instance }} 高内存使用率"
description: "内存使用率超过85% (当前: {{ $value | humanizePercentage }})"
- alert: HighDiskUsage
expr: 100 - ((node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs"} / node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs"}) * 100) > 90
for: 5m
labels:
severity: critical
annotations:
summary: "Instance {{ $labels.instance }} 高磁盘使用率"
description: "磁盘使用率超过90% (当前: {{ $value | humanizePercentage }})"
- alert: HostUnreachable
expr: up == 0
for: 1m
labels:
severity: critical
annotations:
summary: "实例 {{ $labels.instance }} 不可达"
description: "实例 {{ $labels.instance }} 已超过1分钟不可用"
- alert: DiskSpaceLow
expr: (node_filesystem_avail_bytes{fstype!="tmpfs",fstype!="rootfs"} / node_filesystem_size_bytes{fstype!="tmpfs",fstype!="rootfs"}) < 0.1
for: 2m
labels:
severity: warning
annotations:
summary: "实例 {{ $labels.instance }} 磁盘空间不足"
description: "挂载点 {{ $labels.mountpoint }} 磁盘使用率超过90%"