Propagation des incidents

Présentation

Lorsqu'un service tombe en panne, l'impact s'arrête rarement à ce seul service. D'autres services qui en dépendent peuvent être affectés — même si leurs propres sondes sont en parfait état. La fonctionnalité de propagation des incidents rend cette cascade visible sur la carte de dépendances des services.


Fonctionnement

Onagre parcourt le graphe de dépendances à partir de chaque service dont le statut est Hors service ou Dégradé. Pour chaque service défaillant, il suit la chaîne de dépendances pour trouver tous les services qui en dépendent — directement ou de manière transitive.

Un service est marqué comme Impacté lorsque :

  • Ses propres sondes sont saines (ou inconnues).
  • Mais un ou plusieurs services dont il dépend sont défaillants.

Le statut effectif du service impacté devient Dégradé pour refléter le risque hérité, tandis que son propre statut est conservé séparément. Cette distinction permet de déterminer immédiatement si un service est en échec de lui-même ou à cause d'une dépendance.

La propagation est automatique

Le calcul de propagation s'exécute côté serveur à chaque chargement de la carte de dépendances. Vous n'avez pas besoin de configurer de règles ou de seuils — Onagre calcule le graphe d'impact à partir de vos dépendances existantes et de l'état de vos sondes.


Utiliser la propagation sur la carte

  1. Ouvrez la carte de dépendances des services depuis Supervision → Carte des services.
  2. Cliquez sur le bouton Afficher la propagation dans la barre d'outils.
  3. La carte se met à jour avec des indicateurs visuels :

Indicateurs visuels

Indicateur Signification
Bordure rouge lumineuse Service cause racine — à l'origine de la défaillance. Ses propres sondes sont en échec ou dégradées.
Bordure orange en pointillés Service impacté — sain de lui-même, mais une dépendance est défaillante.
Arête orange pleine Chemin de propagation — l'arête par laquelle la défaillance se propage.

Détails enrichis des nœuds

Lorsque la propagation est active, cliquer sur un nœud affiche des informations supplémentaires dans le panneau :

  • Les nœuds impactés affichent :

    • Un libellé d'avertissement Impacté.
    • La source de l'impact — le nom du service cause racine.
    • Le nombre d'incidents actifs sur le service.
  • Les nœuds cause racine affichent :

    • Le nombre d'impacts en aval — combien de services sont affectés de manière transitive par cette défaillance.

Cliquez à nouveau sur le bouton Afficher la propagation pour désactiver la surcouche et revenir à la vue standard.


Exemple de scénario

Considérons trois services avec la chaîne de dépendances suivante :

Web App  →  API  →  Database

Web App dépend de API, qui dépend de Database.

Si le service Database tombe en panne :

  • Database est affiché avec une bordure rouge lumineuse (cause racine). Son panneau indique « Impact en aval : 2 services ».
  • API est affiché avec une bordure orange en pointillés (impacté). Son panneau indique « Source de l'impact : Database ».
  • Web App est affiché avec une bordure orange en pointillés (impacté). Son panneau indique « Source de l'impact : Database ».
  • Les deux arêtes de la chaîne sont mises en surbrillance en orange, traçant le chemin complet de propagation.

Cela vous permet d'identifier immédiatement Database comme la cause racine, plutôt que d'investiguer chaque service individuellement.

Dépendances en diamant

La propagation gère également les topologies complexes. Considérons :

        ┌──→  Service B  ──┐
App  ──┤                    ├──→  Service D
        └──→  Service C  ──┘

Si Service D tombe en panne, les trois services amont (B, C et App) sont marqués comme impactés, et toutes les arêtes de propagation sont mises en surbrillance.


Gestion des cycles

Si votre graphe de dépendances contient des cycles (par ex. A → B → A), la propagation les gère correctement sans boucle infinie. Chaque nœud n'est visité qu'une seule fois par cause racine.


Résumé

Aspect Détails
Accès Supervision → Carte des services → Bouton Afficher la propagation
Cause racine Bordure rouge lumineuse, affiche le nombre d'impacts en aval
Impacté Bordure orange en pointillés, affiche le nom de la source de l'impact
Chemin de propagation Arêtes orange pleines traçant la chaîne de défaillance
Calcul Automatique, côté serveur, basé sur les dépendances et l'état des sondes
Topologies supportées Chaînes linéaires, diamants, cycles — tous gérés