Files
srv-docker/monitoring/rules/base-alerts.yml
2026-03-07 21:06:24 +00:00

111 lines
3.8 KiB
YAML

groups:
- name: base-alerts
rules:
- alert: InstanceDown
expr: up == 0
for: 2m
labels:
severity: critical
annotations:
summary: "{{ $labels.instance }} down"
description: "{{ $labels.job }} on {{ $labels.instance }} is not responding"
- alert: NodeExporterDown
expr: up{job=~"node|revproxy-node"} == 0
for: 2m
labels:
severity: critical
annotations:
summary: "Node exporter down on {{ $labels.instance }}"
description: "node_exporter is not responding"
- alert: HighCPU
expr: (1 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m]))) > 0.90
for: 10m
labels:
severity: warning
annotations:
summary: "High CPU on {{ $labels.instance }}"
description: "CPU usage > 90% for 10m"
- alert: HighMemory
expr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) > 0.90
for: 10m
labels:
severity: warning
annotations:
summary: "High memory on {{ $labels.instance }}"
description: "Memory usage > 90% for 10m"
- alert: MemAvailableLow
expr: (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) < 0.08
for: 10m
labels:
severity: warning
annotations:
summary: "Low available memory on {{ $labels.instance }}"
description: "MemAvailable < 8%"
- alert: SwapUsageHigh
expr: (1 - (node_memory_SwapFree_bytes / node_memory_SwapTotal_bytes)) > 0.50
for: 20m
labels:
severity: warning
annotations:
summary: "Swap usage high on {{ $labels.instance }}"
description: "Swap usage > 50%"
- alert: DiskFull
expr: (node_filesystem_avail_bytes{fstype!~"tmpfs|overlay"} / node_filesystem_size_bytes{fstype!~"tmpfs|overlay"}) < 0.10
for: 15m
labels:
severity: warning
annotations:
summary: "Disk low on {{ $labels.instance }}"
description: "<10% free on {{ $labels.mountpoint }}"
- alert: DiskUsageHigh
expr: (1 - (node_filesystem_avail_bytes{fstype!~"tmpfs|overlay",mountpoint!~"/boot/efi"} / node_filesystem_size_bytes{fstype!~"tmpfs|overlay",mountpoint!~"/boot/efi"})) > 0.85
for: 15m
labels:
severity: warning
annotations:
summary: "Disk usage >85% on {{ $labels.instance }}"
description: "{{ $labels.mountpoint }} usage above 85%"
- alert: DiskUsageCritical
expr: (1 - (node_filesystem_avail_bytes{fstype!~"tmpfs|overlay",mountpoint!~"/boot/efi"} / node_filesystem_size_bytes{fstype!~"tmpfs|overlay",mountpoint!~"/boot/efi"})) > 0.95
for: 5m
labels:
severity: critical
annotations:
summary: "Disk usage >95% on {{ $labels.instance }}"
description: "{{ $labels.mountpoint }} usage above 95%"
- alert: DockerContainerDown
expr: time() - container_last_seen > 120
for: 2m
labels:
severity: warning
annotations:
summary: "Container down"
description: "A container has not been seen for >2m"
- alert: HttpEndpointDown
expr: probe_success{job="blackbox-http"} == 0
for: 2m
labels:
severity: critical
annotations:
summary: "HTTP endpoint down: {{ $labels.instance }}"
description: "Blackbox probe failed"
- alert: HttpEndpoint5xx
expr: probe_success{job="blackbox-5xx"} == 1
for: 1m
labels:
severity: critical
annotations:
summary: "HTTP 5xx detected: {{ $labels.instance }}"
description: "Endpoint returned 5xx"