Files
homeprod/kubernetes/infrastructure/observability/vmalert-rules.yaml
T

37 lines
1.4 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: vmalert-rules
namespace: observability
labels:
app.kubernetes.io/name: vmalert
app.kubernetes.io/component: alerting-rules
data:
node.rules: |
groups:
- name: node
rules:
- alert: HighNodeCPU
expr: 100 - (avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 90
for: 5m
labels:
severity: warning
annotations:
summary: "High CPU on {{ $labels.instance }}"
description: "CPU usage above 90% for 5m on {{ $labels.instance }}."
- alert: HighNodeRAM
expr: 1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) > 0.9
for: 10m
labels:
severity: warning
annotations:
summary: "RAM >90% on {{ $labels.instance }}"
description: "Available RAM below 10% for 10m on {{ $labels.instance }}."
- alert: LowDiskSpace
expr: 1 - (node_filesystem_avail_bytes / node_filesystem_size_bytes{fstype!~"tmpfs|overlay"}) > 0.85
for: 10m
labels:
severity: warning
annotations:
summary: "Disk >85% full on {{ $labels.instance }} {{ $labels.mountpoint }}"
description: "Filesystem {{ $labels.mountpoint }} on {{ $labels.instance }} is more than 85% full for 10m."