Aller au contenu

Connecteur Centreon « Stream Connector »

Description

Le connecteur convertit des évènements envoyés par le Broker Centreon en évènements Canopsis.

Ce connecteur est écrit en Lua et utilise les fonctionnalités du Stream Connector de Centreon.

Liens connexes :

Principe de fonctionnement

Tous les évènements filtrés par le connecteur sont traduits au format JSON et envoyés à l'API Canopsis via le protocole HTTP.

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
  • hostgroups
  • servicegroups (pour les services uniquement)

Acquittement (ack)

Deux sortes d'actions sont envoyées à Canopsis :

  1. Création d'un ack
  2. Suppression d'un ack

L'acquittement est positionné sur le couple resource/component concerné.

Plages de maintenance (downtimes)

Attention

Les downtimes récurrents ne sont actuellement pas gérés par le connecteur.

Deux sortes d'actions sont envoyées à Canopsis :

  1. Création d'un downtime
  2. Annulation d'un downtime

Pour chaque plage de maintenance, un identifiant unique est généré afin que l'action d'annulation puisse être fonctionnelle en retrouvant le downtime précédemment créé.

Hôtes (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)

Installation du connecteur

Prérequis

  • Lua ≥ 5.1.4
  • lua-socket ≥ 3.0rc1-2
  • centreon-broker versions 19.10.5, 20.04 ou 20.10

Installation par les paquets

Ajout du dépôt Canopsis pour CentOS 7 :

echo "[canopsis]
name = canopsis
baseurl=https://repositories.canopsis.net/pulp/repos/centos7-canopsis-connectors/
gpgcheck=0
enabled=1" > /etc/yum.repos.d/canopsis.repo

Installation du connecteur pour Centreon 20.10, à partir de Centreon 20.10.3 (tout ancien paquet canopsis-connector-centreon-stream-connector doit être supprimé au préalable) :

yum install canopsis-connector-centreon-stream-connector-2010

Installation du connecteur pour Centreon 20.04, à partir de Centreon 20.04.12 (tout ancien paquet canopsis-connector-centreon-stream-connector doit être supprimé au préalable) :

yum install canopsis-connector-centreon-stream-connector-2004

Installation de l'ancienne version du connecteur pour Centreon 19.10.5, 20.04.2–20.04.11 et Centreon 20.10.1–20.10.2 :

yum install canopsis-connector-centreon-stream-connector

Installation depuis les sources

L'installation par paquets doit être privilégiée lorsqu'elle est possible.

Il est néanmoins possible d'installer ce connecteur (pour Centreon ≥ 20.04.12 et ≥ 20.10.3 uniquement) à partir des sources à l'aide des manipulations suivantes :

  1. Récupérer les sources du connecteur.
  2. Copier le script sur le serveur Centreon central dans /usr/share/centreon-broker/lua/bbdo2canopsis.lua.
  3. Ajouter les permissions suivantes : chown centreon-engine:centreon-engine /usr/share/centreon-broker/lua/bbdo4canopsis.lua

Activation du connecteur

  1. Ajout d'une nouvelle entrée Generic - Stream connector. Voir les détails de la configuration dans la section Configuration.
  2. Export de la configuration du poller.
  3. 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, quel que 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 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, ceci pendant la durée du init_spread_timer.

Attention

Cela implique un pic de charge lors de l'activation du connecteur pendant la durée du init_spread_timer.

Exemple de configuration

Dans Centreon, rendez-vous dans Configuration > Pollers > Broker configuration > central-broker-master > Output, sélectionnez Generic - Stream connector puis cliquez sur Add :

centreon-configuration-screenshot

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).


Dernière mise à jour: 2021-01-26