📊 Tableau de bord des alertes¶
Ce document détaille les différentes alertes configurées pour la surveillance de nos serveurs et applications, incluant leurs configurations Prometheus.
🔔 Alertes de service général¶
🚫 Service indisponible¶
Se déclenche lorsqu'un service surveillé est indisponible.
- alert: service_down
expr: up == 0
for: 3m
labels:
env: testing
severity: page
annotations:
summary: "Instance {{ $labels.instance }} indisponible"
description: "L'instance {{ $labels.instance }} du job {{ $labels.job }} est indisponible depuis plus de 2 minutes."
💻 Alertes de ressources système¶
🔥 Charge élevée¶
Se déclenche lorsque la charge système est élevée.
- alert: high_load
expr: avg by (node_ip,hostname,instance)(node_load15) / count by (node_ip,hostname,instance)(count(node_cpu_seconds_total) by (cpu, node_ip,hostname,instance)) > 1
for: 2m
labels:
env: testing
severity: page
annotations:
summary: "Instance {{ $labels.instance }} sous charge élevée"
description: "L'instance {{ $labels.instance }} du job {{ $labels.job }} est sous charge élevée."
💾 Mémoire faible¶
Se déclenche lorsque la mémoire disponible est faible.
- alert: low_memory
expr: (node_memory_MemFree_bytes / node_memory_MemTotal_bytes) * 100 < 20
for: 2m
labels:
env: testing
severity: page
annotations:
summary: "Instance {{ $labels.instance }} a peu de mémoire"
description: "L'instance {{ $labels.instance }} du job {{ $labels.job }} a peu de mémoire."
🖥️ Utilisation CPU¶
Se déclenche lorsque l'utilisation du CPU est élevée.
- alert: CPUUsage
expr: 100 * sum by (node_ip,hostname,instance) (rate(node_cpu_seconds_total{node_ip="151.80.26.239",mode!="idle"}[5m])) / count by (node_ip,hostname,instance) (rate(node_cpu_seconds_total{node_ip="151.80.26.239", mode="idle"}[5m])) > 85
for: 1m
labels:
severity: critical
annotations:
summary: "Utilisation CPU élevée"
description: "L'utilisation CPU pour {{ $labels.node_ip }} est supérieure à 85%."
💽 Disque occupé¶
Se déclenche lorsque l'utilisation du disque est élevée.
- alert: DiskBusy
expr: 100 - (sum(node_filesystem_avail_bytes{mountpoint="/", fstype!="rootfs"}) / sum(node_filesystem_size_bytes{mountpoint="/", fstype!="rootfs"})) * 100 > 85
for: 1m
labels:
severity: critical
annotations:
summary: "Disque occupé"
description: "L'utilisation du disque est supérieure à 85%."
📡 Utilisation de la bande passante¶
Se déclenche lorsque l'utilisation de la bande passante est élevée.
- alert: BandwidthUsage
expr: (sum(avg(node_filesystem_size_bytes{node_ip="151.80.26.239",job=~"node-exporter",fstype=~"xfs|ext.*"}) by (device, node_ip)) - sum(avg(node_filesystem_free_bytes{node_ip="151.80.26.239",job=~"node-exporter",fstype=~"xfs|ext.*"}) by (device, node_ip))) * 100 / (sum(avg(node_filesystem_avail_bytes{node_ip="151.80.26.239",job=~"node-exporter",fstype=~"xfs|ext.*"}) by (device, node_ip)) + (sum(avg(node_filesystem_size_bytes{node_ip="151.80.26.239",job=~"node-exporter",fstype=~"xfs|ext.*"}) by (device, node_ip)) - sum(avg(node_filesystem_free_bytes{node_ip="151.80.26.239",job=~"node-exporter",fstype=~"xfs|ext.*"}) by (device, node_ip)))) > 85
for: 1m
labels:
severity: critical
annotations:
summary: "Utilisation élevée de la bande passante"
description: "L'utilisation de la bande passante pour {{ $labels.node_ip }} est supérieure à 85%."
🐳 Alertes de conteneur et de stack¶
📊 Utilisation du disque par stack et service¶
Se déclenche lorsque l'utilisation du disque pour un stack ou service spécifique est élevée.
- alert: DiskUsagePerStackAndService
expr: (sum(container_fs_usage_bytes{container_label_com_docker_stack_namespace=~"(monitor|prom|proxy)", id=~"/docker/.*"}) by (container_label_com_docker_swarm_service_name, node_ip) / sum(node_filesystem_size_bytes{fstype=~"xfs|ext.*"}) by (node_ip)) * 100 > 85
for: 1m
labels:
severity: critical
annotations:
summary: "Utilisation élevée du disque par stack & service"
description: "L'utilisation du disque pour {{ $labels.node_ip }} est supérieure à 85%."
🧠 Utilisation de la mémoire par stack¶
Se déclenche lorsque l'utilisation de la mémoire pour un stack est élevée.
- alert: MemoryUsageByStack
expr: (sum(node_memory_MemTotal_bytes) by (node_ip) - sum(node_memory_MemAvailable_bytes) by (node_ip)) / sum(node_memory_MemTotal_bytes) by (node_ip) * 100 > 85
for: 1m
labels:
severity: critical
annotations:
summary: "Utilisation élevée de la mémoire par stack"
description: "L'utilisation de la mémoire pour {{ $labels.node_ip }} est supérieure à 85%."
🔧 Utilisation CPU par service¶
Se déclenche lorsque l'utilisation CPU pour un service est élevée.
- alert: CpuUsagePerService
expr: avg(sum(rate(container_cpu_usage_seconds_total{id=~"/docker/.*", container_label_com_docker_stack_namespace=~"(monitor|prom|proxy)"}[5m])) by (container_label_com_docker_swarm_service_name, node_ip)) * 100 > 70
for: 1m
labels:
severity: critical
annotations:
summary: "Utilisation CPU élevée par service"
description: "L'utilisation CPU pour le service {{ $labels.container_label_com_docker_swarm_service_name }} est supérieure à 85%."
👥 Alertes de connexion utilisateur¶
👤 Nombre élevé de connexions utilisateur¶
Se déclenche lorsque le nombre d'utilisateurs connectés est élevé.
- alert: HighUserLogin
expr: max(server_users_logged_in) >= 6
for: 1m
labels:
severity: warning
annotations:
summary: "Nombre élevé d'utilisateurs connectés (Avertissement)"
description: "Le nombre d'utilisateurs connectés est {{ $value }}. C'est plus élevé que le seuil normal."
⚠️ Nombre critique de connexions utilisateur¶
Se déclenche lorsque le nombre d'utilisateurs connectés est critiquement élevé.
- alert: CriticalUserLogin
expr: max(server_users_logged_in) >= 10
for: 1m
labels:
severity: critical
annotations:
summary: "Nombre critique d'utilisateurs connectés"
description: "Le nombre d'utilisateurs connectés est {{ $value }}. C'est critiquement élevé !"