Connecteur Centreon "Stream Connector"¶
Description¶
Le connecteur convertit des évènements envoyés par le Broker Centreon en évènements Canopsis. Ce connecteur utilise les fonctionnalités du Stream Connector de Centreon.
Liens connexes :
Principe de fonctionnement¶
Le connecteur est développé en lua
, le langage imposé par le mécanisme du Stream Connector.
Tous les évènements filtrés par le connecteur sont traduits au format JSON et
envoyés sur l'API Canopsis via le protocole HTTP.
Évènements filtrés¶
Les évènements de type "NEB" suivants sont actuellement gérés par le connecteur et correspondent à une catégorie et un élément du protocole BBDO de Centreon :
- Acquittement ou "Acknowledgment" (category 1, element 1)
- Plages de maintenance ou "Downtime" (category 1, element 5)
- Hôtes ou "Host status" (category 1, element 14)
- Services ou "Service status" (category 1, element 24)
Nous ajoutons des informations "extra" supplémentaires aux évènements hôtes et services :
- action_url
- notes_url
- servicegroups (pour les services)
- hostgroups (pour les hôtes)
Acquittement (ack)¶
Deux sortes d'actions sont envoyées à Canopsis :
- Création d'un ack
- Suppression d'un ack
L'ack est positionné sur le couple resource/component concerné.
Plages de maintenance (downtimes)¶
Deux sortes d'actions sont envoyées à Canopsis :
- Création d'un downtime
- Annulation d'un downtime
Pour chaque downtime, un identifiant unique est généré afin que l'action d'annulation puisse être fonctionnelle en retrouvant le downtime précèdemment créé.
Warning
Les downtimes récurrents ne sont actuellement pas gérés par le connecteur.
Hosts¶
Seuls les évènements de type HARD lors d'un changement d'état sont envoyés à Canopsis. La traduction des états entre Centreon et Canopsis est la suivante :
CENTREON | CANOPSIS |
---|---|
UP (0) | INFO (0) |
DOWN (1) | CRITICAL (3) |
UNREACHABLE (2) | MAJOR (2) |
Services¶
Seuls les évènements de type HARD lors d'un changement d'état sont envoyés à Canopsis. La traduction des états entre Centreon et Canopsis est la suivante :
CENTREON | CANOPSIS |
---|---|
OK (0) | INFO (0) |
WARNING (1) | MINOR (1) |
CRITICAL (2) | CRITICAL (3) |
UNKNOWN (3) | MAJOR (2) |
Intégration du connecteur¶
Prérequis¶
- lua version >= 5.1.4
- lua-socket library >= 3.0rc1-2
- centreon-broker version 19.10.5 ou >= 20.04.2
Installation¶
Par les paquets¶
Warning
Uniquement valable pour une version de centreon-broker >= 20.04.2.
Installation du dépôt Canopsis :
echo "[canopsis]
name = canopsis
baseurl=https://repositories.canopsis.net/pulp/repos/centos7-canopsis/
gpgcheck=0
enabled=1" > /etc/yum.repos.d/canopsis.repo
Installation du paquet :
yum install canopsis-connector-centreon-stream-connector
Par les sources¶
Warning
Compatible avec la version 19.10.5 et >= 20.04.2 :
- Récupérer les sources du connecteur
- Copier le script sur le serveur Centreon central dans
/usr/share/centreon-broker/lua/bbdo2canopsis.lua
. - Ajouter les permissions suivantes :
chown centreon-engine:centreon-engine /usr/share/centreon-broker/lua/bbdo4canopsis.lua
Activation du connecteur¶
- Ajout d'une nouvelle entrée "Generic - Stream connector" Voir les détails de la configuration dans la section Configuration
- Export de la configuration du poller
- Redémarrage des services
systemctl restart cbd centengine gorgoned
Configuration¶
Toute la configuration du connecteur peut se faire au travers de l'interface Centreon.
Voici les principaux paramètres :
VARIABLE | DESCRIPTION | VALEUR PAR DÉFAUT |
---|---|---|
connector_name | Nom du connecteur | centreon-stream-central |
canopsis_user | Utilisateur de l'API | root |
canopsis_password | Mot de passe de l'utilisateur | root |
canopsis_host | Hôte Canopsis | localhost |
canopsis_port | Port d'écoute de Canopsis | 8082 |
Il est possible de modifier les paramètres de file d'attente :
VARIABLE | DESCRIPTION | VALEUR PAR DÉFAUT |
---|---|---|
max_buffer_age | Durée (en secondes) de rétention des évènements avant envoi | 60 |
max_buffer_size | Nombre d'évènements en attente avant envoi | 10 |
Temps de propagation et convergence des évènements :
VARIABLE | DESCRIPTION | VALEUR PAR DÉFAUT |
---|---|---|
init_spread_timer | Temps de propagation (en secondes) des évènements, quelque soit leur état, au démarrage du connecteur | 360 |
Étant donné que seuls les changements d'état sont transmis à Canopsis, au moment du démarrage du connecteur, s'il existe déjà des alarmes Centreon, alors elles ne seront pas transmises à Canopsis car aucun changement d'état ne sera détecté.
Pour limiter ce phénomène, nous proposons une option qui permet d'envoyer à Canopsis tous les évènements qui circulent sans qu'il y ait forcément de changement d'état et ce pendant la durée du "init_spread_timer".
Warning
Cela implique un pic de charge lors de l'activation du connecteur pendant la
durée du "init_spread_timer".
Exemple de configuration¶
Dans : Configuration > Pollers > Broker configuration > central-broker-master > Output > Select "Generic - Stream connector" > Add
Contrôle du bon fonctionnement¶
Connectez-vous l'interface de Canopsis et assurez-vous que les évènements et leurs états affichés du côté de Centreon correspondent avec les évènements côté Canopsis.
Pour rappel, seules les alarmes sont envoyées (état différent de "ok").