Sujet :

prometheus alerte cpu high memory low pas de déclenchement

RÉSOLU

Liste des sujets Répondre Créer un sujet

maurice-legros

Membre depuis le 01/06/2024

salut tout le monde ! j'ai un problème avec prometheus. j'ai une alerte pour cpu usage high > 90% sur 5min et une autre pour memory free low < 10% sur 5min. les métriques montrent bien que ça dépasse les seuils mais l'alerte prometheus ne se déclenche jamais. les targets sont up l'exporteur envoie bien les données. j'ai raté un truc ?


# rule.yml (simplifié)
groups:
- name: my-app-alerts
  rules:
  - alert: HighCpuUsage
    expr: 100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 90
    for: 5m
    labels:
      severity: critical
    annotations:
      summary: "CPU usage high on {{ $labels.instance }}"
  - alert: LowMemoryFree
    expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "Low memory on {{ $labels.instance }}"

mace-jeannine

Membre depuis le 08/05/2024

hello. première chose à check c'est prometheus lui-même. va dans l'ui sous /alerts et regarde si l'alerte apparaît en pending ou firing. si elle n'apparaît pas du tout c'est que l'expression est ptete pas bonne ou que la rule_file est pas chargée

marchal-franck

Membre depuis le 23/08/2024

pour l'expr du cpu attention au 100 - ... idle. si t'as plusieurs coeurs ça peut être tricky. essaie avec sum by (instance) (rate(node_cpu_seconds_total{mode!="idle"}[5m])) / count by (instance) (node_cpu_seconds_total{mode="idle"}[5m]) * 100 > 90. et regarde les types de métriques (gauge counter) si tu fais pas une connerie avec le rate

charlotte00

Membre depuis le 06/05/2024

et la config de alertmanager ? prometheus envoie les alertes à alertmanager. si alertmanager est down ou mal configuré prometheus ne verra pas d'où il doit l'envoyer. check les logs de prometheus pour voir s'il y a des erreurs de connexion à alertmanager

oceane-lebon

Membre depuis le 21/07/2024

un classique aussi c'est le for: 5m. si tes données ont des gaps ou si l'exporteur est intermittent prometheus ne verra pas 5 minutes de données continues au-dessus du seuil et l'alerte ne partira pas. assure-toi que tes scrape intervals et evaluation intervals sont alignés

maurice-legros

Membre depuis le 01/06/2024

d'acc merci à tous. en fait c'était une combinaison. ma rule_file n'était pas rechargée après modification (j'avais oublié le kill -hup) et l'expr du cpu était pas tip top. j'ai corrigé le rule_file et l'expr cpu avec vos suggestions et là ça marche impec. j'ai vu l'alerte se déclencher direct en testant. merci bien

Répondre

vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire