Gérer les pertes de connexions de Centreon Broker

This post is also available in: Anglais

Centreon Broker est le connecteur entre les différents ordonnanceurs de collecte Centreon Engine et la base de données MySQL pour stocker l’information collectée. Mais Centreon Broker est avant tout un gestionnaire de flux multi-entrées et multi-sorties.

Mais au fait de quoi est composé Centreon Broker ?

Pour s’interfacer, Centreon Engine charge un module Centreon Broker appelé « cbmod ». Ce client a la charge de transférer vers le serveur Centreon central les informations collectées par l’ordonnanceur. En cas de coupure, les données doivent être bufférisées sur disque pour pouvoir être rejouées lorsque le lien réseau est de nouveau opérationnel.

centreon_broker_full-1Pour cela, il suffit de configurer une sortie de type « File » en plus de votre sortie « IPv4 (ou IPv6) » et la lier à celle-ci :

Les informations à saisir sont les suivantes :

  • Name : nom de la sortie qui sera également à saisir dans la sortie « Output 1 – Ipv4 » pour le champ « Failover name » ;
  • File path : chemin complet vers le fichier tampon sur disque ;
  • Serialization protocol : BBDO (mettre le même que celui de la sortie principale) ;
  • Maximum size of file : indiquer 100000000 pour une taille maximale de 100MB par fichier tampon.

Note : Le nom du fichier tampon (champ « Failover name ») doit être strictement le même que le nom de la sortie de type « File ». Dans le cas contraire, la deuxième sortie sera considérée comme une sortie principale par Centreon Broker et un fichier tampon sera généré automatiquement et sera alimenté au fur et à mesure de la collecte pouvant ainsi saturer le disque.

centreon_broker_module

Les données provenant des collecteurs sont réceptionnées par le module « Centreon Broker Master » (également appelé « Centreon Broker SQL »). Ce module a la charge d’insérer en base de données SQL les données de statut temps réel des hôtes et services ainsi que les données de performance. De plus, il transfère ces dernières vers le module Centreon Broker RRD pour les insérer dans les fichiers RRD.
Trois sorties principales sont donc à configurer pour être bufférisées.

Reprendre la même procédure pour chaque sortie principale :

centreon_broker_sql_1centreon_broker_sql_2centreon_broker_sql_3

Le module Centreon Master RRD (également appelé « Centreon Broker RRD ») reçoit les données du module Centreon Broker SQL pour mettre à jour les fichiers RRD. Cette action permet de générer les graphiques d’évolution dans Centreon à la demande de l’utilisateur.

Son unique sortie de type « RRD file generator » doit être également bufférisée de la même manière que précédemment.

centreon_broker_rrd

Les sorties de chaque buffer sont maintenant bufférisées. Ainsi, si une coupure du lien intervient, les données seront enregistrées dans des fichiers tampons sur disque. En cas d’atteinte de la taille maximale fixée, une rotation du fichier tampon a lieu.

Gestion des flux

Contrairement à NDOutils, Centreon Broker permet de gérer les types de flux transmis entre 2 modules. Ainsi, il est possible de réduire le nombre d’éléments devant être traité par un module. Ce processus permet de diminuer les données transférées sur le réseau ainsi que de réduire la consommation mémoire et CPU du serveur.

Les données peuvent être de 3 types :

  • Correlation : données servant pour la corrélation d’évènements traitées par le module Centreon Broker Correlation ;
  • NEB : données de supervision temps réel (état et statut des hôtes, services, …) ;
  • Storage : Données de performance

Le schéma suivant présente en gras, pour chaque sortie, les types de données à transférer entre les différents modules de Centreon Broker

centreon_broker_full-2Pour filtrer les données, il suffit de définir pour chaque sortie d’un module les types à transférer :

centreon_broker_type_filteredDans cet exemple, seules les données de type « Storage » (performance) seront transférées au module Centreon Broker RRD pour insertion dans les fichiers RRD.

Flux important de données en entrée

Que se passe-t-il si le traitement des données par un module broker est moins rapide que le flux de données en entrée ? Pour éviter une consommation mémoire trop importante pour stocker ces données, Centreon Broker a défini la notion de pile maximale mémoire (« Event Queue Max Size »). Pour chaque module Broker : « cbmod », « Centreon Broker SQL »  et « Centreon Broker RRD ».

Définir une valeur, par exemple 50000 et faites de même pour chaque module :

centreon_broker_queue

Que faire si Centreon Broker génère en permanence des fichiers tampon ?

Si Centreon Broker génère en permanence des fichiers tampons et si ces derniers ne sont pas supprimés, il est possible :

  • Que le nom de la sortie de type « fichier » ne soit pas strictement identique au champ « Failover name » avec la sortie principale à laquelle elle est liée.
  • Que le serveur ne soit pas assez puissant pour traiter le flux de données en entrée et cela génère des fichiers de rétention (atteinte de la capacité maximale de la pile mémoire). Répartir la collecte sur d’autre serveur de collecte pour diminuer le nombre de donner à traiter.
  • Que l’une des sorties d’un des modules broker soit perpétuellement en état problématique générant une coupure de lien. Dans ce cas, analyser le module distant et corriger le problème.

Bonne configuration !!!

Incoming search terms:

  • Centreon Broker RRD
  • centreon coupur graphique

Leave a Reply