Concept

Son rôle principal est de permettre de regrouper l'état de plusieurs hôtes ou checks en un seul indicateur de STATUT pour généralement connaître l'état d'un service ( messagerie, site web, ERP, ... ou tout autre besoin qui correspond à vos besoins de supervision ).

  • Le statut d'un cluster peut être constitué de l'état
    • des hôtes,
    • de checks,
    • d'autres clusters…  
  • Le statut et le contexte sont donc calculés en temps réel en fonctions des éléments qui le composent.


Prenons l'exemple d'un rôle de service "delivery" pour une application ERP .

  • Il est principalement constitué de :
    • 2 bases de données, en haute disponibilité, donc avec une seule base active, le service est considéré comme rendu.
    • 2 serveurs web, en partage de charge, donc avec un web serveur actif, le service est considéré comme rendu.
    • 2 serveurs de répartition, encore en haute disponibilité.
  • Ces composants ( Hôtes dans cet exemple ) seront la base de ce service ERP.
  • Vous pouvez donc avoir une vue agrégée de l'indicateur représentant l'état du service ERP !


Shinken vérifie chaque composant un par un pour l'analyse de problèmes sources.

IMAGE

Règle de calcul d'un STATUT d'un Cluster


Calculer le statut d'un cluster permet

  • d'avoir un seul STATUT en regroupant :
    • les états de plusieurs éléments ( hôtes, cluster, checks ),
    • ou d'essemble d'élements, c.a.d des GROUPE pour en déterminer un indicateur unique.
  • Le status entre éléments ou essemble d'éléments sur fait a l'aide d'op


Un Cluster se constitue en utilisant la SYNTAXE de définition disponible :

  • Pour le calcul du STATUT :
    • : est l'équivalent du ET logique
    • : est l'équivalent du OU logique
    • : pour la négation d'un statut
    • Xof : un ensemble
    • X,Y,Zof
    • Les parenthèses ouvrantes ( et fermantes ) pour la priorité entre les &, | et les !
  • Le nom des hôtes, clusters et checks peuvent être utilisés :
    • Par exemple simplement 
      • host1
      • cluster1 
      • pour les checks ( la virgule servant de séparateur )
        • Soit vers un check précis, ne donnant le nom du père ( Hôtes / Clusters )  et le nom du check
          • host1,check1
          • cluster1, check9
        • Soit plusieurs checks avec en utilisant *,
          • host1,* 
  • Les guillemets "" doivent être utilisés pour délimiter les noms d'hôtes, cluster et check.
    • notamment lorsque les noms contiennent des espaces.
    • exemple : "ERP de bordeaux".

  • Pour construire un ensemble : 
    • <and>,
    • <or>,
    • Ensembles constitués par règles à l'aide des expressions suivantes :
      • g: nom du groupe => Hôtes appartenant au groupe d'hôtes,
      • r: regex => Hôtes dont le nom correspond à l'expression régulière,
      • t: nom du modèle d'hôte => Hôtes ayant le modèle d'hôte,
      • tr: regex => Hôtes ayant le ou les modèles d'hôtes qui correspondent à l'expression régulière.
    • Ensembles définis manuellement :
      • les crochets [  ] permettent de délimiter l'écriture d'un ensemble
      • E1 <or> E2               =>   Union entre 2 ensembles ( ou dans E1, ou dans E2 )
      • E1 <and> E2            =>   Intersection entre 2 ensembles ( Dans E1 et dans E2 )
      • E1 <and> not> E2   =>  Exclusion ( présent dans E1 mais pas dans E2 )