Centreon-HA
Vue d'ensemble​
Centreon-HA est l'implémentation en haute disponibilité de la fonction centrale de Centreon. Plus d'informations sont disponibles ici.
Le connecteur de supervision Centreon-HA s'appuie sur deux autre connecteurs de supervision :
Par conséquent, il utilise les protocoles de ces deux connecteurs de supervision - SNMP et SSH - pour se connecter aux nœuds du cluster Centreon-HA et récupérer informations et métriques relatives aux processus et à la santé du cluster.
Contenu du connecteur de supervision​
Objets supervisés​
- NĹ“uds d'un cluster Centreon-HA
- Noeud actif d'un cluster Centreon-HA via la VIP
- Serveur tiers fournissant le service de Quorum Device (service
corosync-qnetd
)
Métriques collectées​
- PCS-Status
- proc-corosync
- proc-pacemakerd
- proc-pcsd
Ce modèle ne collecte pas de métrique, mais donne l'état général du cluster :
- remontée des "failed actions"
- Ă©tat des ressources :
php
cbd_rrd
vip
http
gorgone
centreon_central_sync
cbd_central_broker
centengine
centreontrapd
snmptrapd
Metric name | Description | Unit |
---|---|---|
nbproc | Nombre de processus dont le nom correpond au filtre corosync | Count |
Metric name | Description | Unit |
---|---|---|
nbproc | Nombre de processus dont le nom correpond au filtre pacemakerd | Count |
Metric name | Description | Unit |
---|---|---|
nbproc | Nombre de processus dont le nom correpond au filtre pcsd | Count |
Prérequis​
Configuration SNMP de l'équipement​
La configuration de SNMP sur un serveur Linux est expliquée dans la page de documentation du connecteur de supervision Linux SNMP.
Configuration de la connexion SSH sans mot de passe​
NB : Il est très fortement recommandé de surveiller le cluster à partir d'un poller plutôt qu'à partir du cluster.
Ouvrir une session en ligne de commande sur :
- le poller qui sera chargé de superviser le cluster
- chaque nœud de ce cluster
Une fois ces sessions ouvertes, lancer cette commande :
su - centreon-engine
À présent nous sommes dans l'environnement bash
de centreon-engine
. Lancer ensuite cette commande :
ssh-keygen -t ed25519 -a 100
Nous avons généré une paire de clés sur chaque serveur, ainsi que le répertoire ~/.ssh
.
Sur le poller lancer cette commande pour afficher la clé publique créée :
cat ~/.ssh/id_ed25519.pub
Après avoir lancé cette commande, copier le contenu du fichier qui s'est affiché sous la commande cat
et le coller à la fin du fichier (probablement à créer) ~/.ssh/authorized_keys
des nœuds centraux, puis appliquer les bons droits sur le fichier (toujours en tant que centreon-engine
) :
chmod 600 ~/.ssh/authorized_keys
Une fois cette étape effectuée sur chaque nœud central, il ne reste plus qu'à initialiser une première connexion depuis le poller vers chacun des nœuds :
ssh <cluster-node-ip-address>
L'utilisateur centreon-engine
du poller est alors capable d'ouvrir une session SSH sur les deux nœuds centraux.
Il ne reste plus qu'à l'intégrer au groupe haclient
pour lui permettre d'exécuter les commandes nécessaires à la surveillance du cluster :
usermod -a -G haclient centreon-engine
Installation​
- Online License
- Offline License
- Installer le Plugin sur chaque collecteur Centreon devant superviser un cluster Centreon-HA :
yum install centreon-plugin-Operatingsystems-Linux-Snmp centreon-plugin-Applications-Pacemaker-Ssh
- Sur l'interface Web de Centreon, installer le connecteur de supervision Centreon-HA depuis la page Configuration > Gestionnaire de connecteurs de supervision
- Installer le Plugin sur chaque collecteur Centreon devant superviser un cluster Centreon-HA :
yum install centreon-plugin-Operatingsystems-Linux-Snmp centreon-plugin-Applications-Pacemaker-Ssh
- Installer le RPM du connecteur de supervision sur le serveur Centreon Central:
yum install centreon-pack-applications-monitoring-centreon-ha
- Sur l'interface Web de Centreon, installer le connecteur de supervision Centreon-HA depuis la page Configuration > Gestionnaire de connecteurs de supervision
Configuration​
- Ajoutez un nouvel HĂ´te depuis la page "Configuration > HĂ´tes"
- Complétez les champs Communauté SNMP et Version SNMP
- Appliquez le Modèle d'Hôte App-Monitoring-Centreon-HA-Cluster-Node-custom
Si vous utilisez la version 3 du protocole SNMP, utilisez la Macro SNMPEXTRAOPTIONS afin de renseigner les paramètres d'authentification et de chiffrement adéquats.
Mandatory | Name | Description |
---|---|---|
SNMPEXTRAOPTIONS | Extra options SNMP |
FAQ​
Comment puis-je tester le Plugin et que signifient les options des commandes ?​
Une fois le Plugin installé, vous pouvez tester celui-ci directement en ligne de commande depuis un collecteur Centreon en vous connectant avec l'utilisateur centreon-engine
:
/usr/lib/centreon/plugins/centreon_pacemaker_ssh.pl \
--plugin=apps::pacemaker::local::plugin \
--mode=crm \
--hostname=10.0.0.1 \
--command='pcs' \
--command-options='status --full' \
--verbose
La commande devrait retourner un message de sortie de la forme ci-dessous:
OK: Cluster is OK |
Resource 'php' is started on node 'central-primary'
Resource 'php' is started on node 'central-secondary'
Resource 'cbd_rrd' is started on node 'central-primary'
Resource 'cbd_rrd' is started on node 'central-secondary'
Resource 'vip' is started on node 'central-secondary'
Resource 'http' is started on node 'central-secondary'
Resource 'gorgone' is started on node 'central-secondary'
Resource 'centreon_central_sync' is started on node 'central-secondary'
Resource 'cbd_central_broker' is started on node 'central-secondary'
Resource 'centengine' is started on node 'central-secondary'
Resource 'centreontrapd' is started on node 'central-secondary'
Resource 'snmptrapd' is started on node 'central-secondary'
Dans cet exemple, le Plugin récupère les informations concernant l'état général du cluster Centreon-HA par l'intermédiaire du nœud identifié par l'adresse IP 10.0.0.1 (--hostname=10.0.0.1
).
Une alarme WARNING sera ainsi déclenchée si une ou plusieurs failed actions sont remontées par la commande pcs status --full
. L'alarme sera de type CRITICAL si une ou plusieurs ressource sont arrêtées alors qu'elles devraient être démarrées.
Pour chaque mode, la liste de toutes les métriques, seuils associés et options complémentaires peut être affichée en ajoutant le paramètre --help
Ă la commande:
/usr/lib/centreon/plugins/centreon_pacemaker_ssh.pl --plugin=apps::pacemaker::local::plugin --mode=crm --help
Les options --command='pcs'
et --command-options='status --full'
permettent de surcharger le fonctionnement du plugin en remplaçant la commande crm_mon -1 -r -f 2>&1
par pcs status --full
.
J'obtiens le message d'erreur suivant:​
The authenticity of host 'x.x.x.x (x.x.x.x)' can't be established​
Attention, la tentative d'exécution du plugin et de connexion via SSH doivent impérativement se faire depuis le compte
centreon-engine
.
Le message complet ressemble Ă ce qui suit :
The authenticity of host 'x.x.x.x (x.x.x.x)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
ECDSA key fingerprint is MD5:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? UNKNOWN: Command too long to execute (timeout)...
Si vous obtenez ce message, cela signifie que vous n'avez pas accepté l'empreinte du serveur.
Pour y remédier il faut initier une première connexion :
ssh x.x.x.x
Puis taper 'yes' Ă l'invite suivante :
The authenticity of host 'x.x.x.x (x.x.x.x)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
ECDSA key fingerprint is MD5:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?
UNKNOWN: Command error: Permission denied, please try again​
Le message complet ressemble Ă ce qui suit :
UNKNOWN: Command error: Permission denied, please try again. - Permission denied, please try again. - Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
Si l'exécution de la sonde renvoie ce message, c'est que la clé publique du compte centreon-engine
du poller n'est pas correctement déposée sur le nœud que l'on cherche à superviser.
Il faut tout d'abord s'assurer que celle-ci (contenue dans /var/lib/centreon-engine/.ssh/id_ed25519.pub
) est bien présente dans le fichier /var/lib/centreon-engine/.ssh/authorized_keys
.
Si le point précédent est bien validé, alors s'assurer que les permissions du fichier authorized_keys
et du répertoire .ssh
qui le contient sont conformes Ă ce qui s'affiche suite Ă la commande :
ls -al /var/lib/centreon-engine/.ssh
Le résultat doit être conforme à ce qui suit :
total 20
drwx------ 2 centreon-engine centreon-engine 4096 Sep 4 14:44 .
drwxr-xr-x. 5 centreon-engine centreon-engine 4096 Sep 4 14:44 ..
-rw------- 1 centreon-engine centreon-engine 0 Sep 4 14:44 authorized_keys
Dans le cas contraire, lancer ces commandes :
chmod 700 /var/lib/centreon-engine/.ssh
chmod 600 /var/lib/centreon-engine/.ssh/authorized_keys