Empêcher Alertmanager D'envoyer Des Alertes en Dehors Des Heures De Bureau
Alertmanager permet d’envoyer les alertes de prometheus en toute simplicité, mais des fois, on ne veut pas être dérangé pour une sur utilisation de processeur pendant 5 minutes le week-end.
Pour cela alertmanager implémente maintenant une solution pour permettre de définir des heures silencieuses.
Exemple d’alerte prometheus:
- alert: HostOutOfDiskSpace
expr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 10 and ON (instance, device, mountpoint) node_filesystem_readonly == 0
for: 2m
labels:
severity: warning
annotations:
summary: Host out of disk space (instance {{ $labels.instance }})
description: "Disk is almost full (< 10% left)\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
# Critical si remplissage du disque à + de 95%
- alert: HostDiskWillFillIn24Hours
expr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 5 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: critical
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 }}\n LABELS = {{ $labels }}"
Exemple de configuration alertmanager:
route:
routes:
- matchers:
- severity!="critical"
mute_time_intervals:
- weekend_hours
- work_hours
mute_time_intervals:
- name: weekend_hours
time_intervals:
- weekdays:
- 'saturday'
- 'sunday'
- name: work_hours
time_intervals:
- times:
- start_time: '00:00'
end_time: '08:00'
- start_time: '19:00'
end_time: '24:00'
Avec cette configuration toutes les alertes non critiques ne sont pas envoyés en dehors des horaires de bureau.