plateforme d'environ 3000 machines, réparties sur 3 sites
supervision actuelle par Big Brother
utilisé depuis plus de 10 ans
nombreuses sondes et programmes annexes
projet de remplacement de Big Brother par Nagios
initié il y a plusieurs années
démarré sur Nagios 2, migré sur Nagios 3
très peu de ressources affectées au projet
changements d'orientation
compatibilité avec la plateforme et les clients Big Brother
mécanisme de réplication des données intra et inter sites
nœud de clustering
communication avec les autres nœuds et le NEB NagiosCluster
réplication "intelligente" des messages
réception des messages Big Brother
POE::Component::Server::BigBrother
messages status
envoyés dans le cluster
messages order
et event
envoyés à PoCo MQ pour traitement ultérieur
lecture des messages stockés dans PoCo MQ
conversion des messages order
en commandes Nagios
traitement des messages event
, résultats envoyés dans le cluster
ePN (embedded Perl Nagios), interpréteur Perl embarqué
NEB NagiosCluster, plugin de la boucle interne d'évènements
Nagios::Cluster::Interface
(Perl, XS), couche protocolaire Nagios Cluster
Nagios::InternalAPI
(XS), accès aux fonctions internes de Nagios
injection bas niveau de messages
dans le NEB NagiosCluster.c :
static PerlInterpreter *my_perl = NULL; void declare_perl_interpreter(PerlInterpreter *interpreter) { my_perl = interpreter; }
dans le module XS Nagios::Cluster::Interface :
void
export_perl_interpreter()
CODE:
declare_perl_interpreter(my_perl);
remplacement du code d'initialisation de ePN :
use strict; use Nagios::InternalAPI; use Nagios::Cluster::Interface; require '/usr/share/nagios3/p1.pl'; MAIN: { # hack to allow us to use the Nagios embedded # Perl interpreter from our NEB plugin Nagios::Cluster::Interface::export_perl_interpreter(); } 1;
tenue en charge par rapport à la plateforme
mais toujours des bugs à corriger, des problèmes de fuites mémoire
seulement deux modules sur le CPAN