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.