Vous êtes ici:

Menu

Stacks Image 16937
Nous utiliserons une architecture Centreon standard pour configurer le plugin. Le module Centreon-Clapi sera requis pour notre configuration. En effet, il vous suffira de copier-coller mes commandes pour réaliser la configuration. Cette méthode est vraiment plus efficace que l'utilisation de l'interface graphique.

1 Le module os::linux

Notre exemple sera basé sur la supervision d'un hôte distant sous Linux. Nous utiliserons les modes load, cpu, memory, swap, storage. Notre configuration sera réalisé avec des templates et les macros personnalisées seront utilisées pour les paramètres.

1.1 Schéma global de la configuration

Voici la configuration de notre serveur de supervision. Nous utiliserons trois commandes dont une utilisant le plugin centreon. Nous utiliserons les templates de services et d'hôtes. La première configuration est assez fastidieuse à réaliser mais permet un gain de temps lors de la création des hôtes. Nous n'aborderons pas la création du service Ping-Lan et des commandes check_ping et check_host_alive dans cet article.
L'hôte distant est un serveur Linux nommé weblamp. le serveur SSH est configuré et opérationnel.
Stacks Image 17137
Schéma de principe pour la configuration

1.2 Préparation de la connexion SSH

Connectez-vous sur votre serveur Weblamp et créez un utilisateur remote_centreon. Saisissez un mot de passe.
root@weblamp:~# adduser remote_centreon
root@weblamp:~# passwd remote_centreon
Sur le serveur de supervision, connectez-vous en utilisateur centreon-engine. Créez votre clé publique et envoyez cette clé sur le serveur weblamp.
root@supervision:~# su - centreon-engine
$ mkdir .ssh
$ ssh-keygen -b 2048 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/centreon-engine/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /var/lib/centreon-engine/.ssh/id_rsa.
Your public key has been saved in /var/lib/centreon-engine/.ssh/id_rsa.pub.
The key fingerprint is:
f0:90:7a:0a:4f:2a:00:86:7b:42:eb:60:fd:4c:8e:68 centreon-engine@supervision
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|.      .         |
|oo    +          |
|+.o  . +         |
|=oo.o.. S        |
|=o.=*o           |
|.E..o+           |
|..               |
|                 |
+-----------------+
$ ssh-copy-id -i .ssh/id_rsa.pub remote_centreon@172.16.209.51
The authenticity of host '172.16.209.51 (172.16.209.51)' can't be established.
ECDSA key fingerprint is 54:54:61:47:ca:74:61:c6:c3:80:26:4b:06:39:e5:39.
Are you sure you want to continue connecting (yes/no)? yes
Now try logging into the machine, with "ssh 'remote_centreon@172.16.209.51'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.
Vérifiez l'absence de mot de passe pour la connexion au serveur weblamp avec l'utilisateur remote_centreon, toujours en utilisateur centreon-engine.
$ ssh remote_centreon@172.16.209.51
Linux weblamp 3.2.0-4-686-pae #1 SMP Debian 3.2.57-3 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
$ exit
Connection to 172.16.209.51 closed.

1.3 Préparation des commandes Clapi

Avant de créer notre configuration, vous pouvez améliorer l'utilisation de la commande clapi si ce n'est pas déjà fait.

2 Création de la configuration avec clapi

2.1 Macros Personnalisées

Passons à la configuration de Centreon. Nous commencerons par les macros personnalisées pour réaliser la configuration.
Stacks Image 17232
création des macros
Centreon-Clapi
Création des macros personnalisées avec mon script que vous trouverez ici (nous créons juste les macros utiles pour la suite)
./create_macrocustom.sh _SERVICEWARNING 0 Central "Custom Macro"
./create_macrocustom.sh _SERVICECRITICAL 0 Central "Custom Macro"
./create_macrocustom.sh _SERVICEMODE 0 Central "Custom Macro"
./create_macrocustom.sh _SERVICEOPTION 0 Central "Custom Macro"
./create_macrocustom.sh _SERVICEPLUGIN 0 Central "Custom Macro"
./create_macrocustom.sh _SERVICEUSERNAME 0 Central "Custom Macro"
./create_macrocustom.sh _SERVICEINTERFACE 0 Central "Custom Macro"
./create_macrocustom.sh _SERVICESPEED 0 Central "Custom Macro"

2.2 La commande check_centreon_plugin_remote_os

Voici les relations entre la commande et les modèle de services.
Stacks Image 17269
synoptique de la relation entre la commande et les modèles de service
Voici la configuration de la commande dans l'interface web.
Stacks Image 17290
la commande check_centreon_plugin_remote_os
Ci-dessous le champ Command Line de la commande check_centreon_plugin_remote_os.
$USER1$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --warning=$_SERVICEWARNING$ --critical=$_SERVICECRITICAL$ $_SERVICEOPTION$ --remote --hostname=$HOSTADDRESS$ --ssh-option="-l=$_SERVICEUSERNAME$"
Centreon-Clapi

commande check_centreon_plugin_remote_os
clapi -o CMD -a ADD -v 'check_centreon_plugin_remote_os;check;$USER1$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --warning=$_SERVICEWARNING$ --critical=$_SERVICECRITICAL$ $_SERVICEOPTION$ --remote --hostname=$HOSTADDRESS$ --ssh-option="-l=$_SERVICEUSERNAME$"'

2.3 Les templates de service

Maintenant, il s'agit de créer les templates de services pour les modes que l'on a défini en début de chapitre.
Stacks Image 17343
synoptique des templates
Les templates de service pour les systèmes de fichiers Linux utiliseront un modèle principal disk-remote-Model-Service. Voici les commandes clapi pour créer ces modèles de service.
Centreon-clapi

# CPU
clapi -o STPL -a add -v "Cpu-remote-Model-Service;Cpu-remote;Model-service-active"
clapi -o STPL -a setparam -v "Cpu-remote-Model-Service;check_command;check_centreon_plugin_remote_os"
clapi -o STPL -a setmacro -v "Cpu-remote-Model-Service;PLUGIN;os::linux::local::plugin"
clapi -o STPL -a setmacro -v "Cpu-remote-Model-Service;USERNAME;remote_centreon"
clapi -o STPL -a setmacro -v "Cpu-remote-Model-Service;WARNING;70"
clapi -o STPL -a setmacro -v "Cpu-remote-Model-Service;CRITICAL;90"
clapi -o STPL -a setmacro -v "Cpu-remote-Model-Service;MODE;cpu"
clapi -o CMD -a setparam -v "Cpu-remote-Model-Service;graphtemplate;CPU"

# DISK
# Model Disk
clapi -o STPL -a add -v "disk-remote-Model-Service;disk-remote-model;Model-service-active"
clapi -o STPL -a setparam -v "disk-remote-Model-Service;check_command;check_centreon_plugin_remote_os"
clapi -o STPL -a setmacro -v "disk-remote-Model-Service;PLUGIN;os::linux::local::plugin"
clapi -o STPL -a setmacro -v "disk-remote-Model-Service;USERNAME;remote_centreon"
clapi -o STPL -a setmacro -v "disk-remote-Model-Service;WARNING;80"
clapi -o STPL -a setmacro -v "disk-remote-Model-Service;CRITICAL;90"
clapi -o STPL -a setmacro -v "disk-remote-Model-Service;MODE;storage"
clapi -o STPL -a setparam -v "disk-remote-Model-Service;graphtemplate;Storage"

# DISK
# Disk home
clapi -o STPL -a add -v "disk-remote-home-Model-Service;Disk-remote-Home;disk-remote-Model-Service"
clapi -o STPL -a setmacro -v "disk-remote-home-Model-Service;OPTION;--name /home"

# DISK
# Disk root
clapi -o STPL -a add -v "disk-remote-root-Model-Service;Disk-remote-Root;disk-remote-Model-Service"
clapi -o STPL -a setmacro -v "disk-remote-root-Model-Service;OPTION;--name /"

# DISK
# Disk tmp
clapi -o STPL -a add -v "disk-remote-tmp-Model-Service;Disk-remote-Tmp;disk-remote-Model-Service"
clapi -o STPL -a setmacro -v "disk-remote-tmp-Model-Service;OPTION;--name /tmp"

# DISK
# Disk usr
clapi -o STPL -a add -v "disk-remote-usr-Model-Service;Disk-remote-Usr;disk-remote-Model-Service"
clapi -o STPL -a setmacro -v "disk-remote-usr-Model-Service;OPTION;--name /usr"

# DISK
# Disk var
clapi -o STPL -a add -v "disk-remote-var-Model-Service;Disk-remote-Var;disk-remote-Model-Service"
clapi -o STPL -a setmacro -v "disk-remote-var-Model-Service;OPTION;--name /var"

# LOAD
clapi -o STPL -a add -v "Load-remote-Model-Service;Load-remote;Model-service-active"
clapi -o STPL -a setparam -v "Load-remote-Model-Service;check_command;check_centreon_plugin_remote_os"
clapi -o STPL -a setmacro -v "Load-remote-Model-Service;PLUGIN;os::linux::local::plugin"
clapi -o STPL -a setmacro -v "Load-remote-Model-Service;USERNAME;remote_centreon"
clapi -o STPL -a setmacro -v "Load-remote-Model-Service;WARNING;4,3,2"
clapi -o STPL -a setmacro -v "Load-remote-Model-Service;CRITICAL;6,5,4"
clapi -o STPL -a setmacro -v "Load-remote-Model-Service;MODE;load"
clapi -o STPL -a setparam -v "Load-remote-Model-Service;graphtemplate;LOAD_Average"

# MEMORY
clapi -o STPL -a add -v "Memory-remote-Model-Service;Memory-remote;Model-service-active"
clapi -o STPL -a setparam -v "Memory-remote-Model-Service;check_command;check_centreon_plugin_remote_os"
clapi -o STPL -a setmacro -v "Memory-remote-Model-Service;PLUGIN;os::linux::local::plugin"
clapi -o STPL -a setmacro -v "Memory-remote-Model-Service;USERNAME;remote_centreon"
clapi -o STPL -a setmacro -v "Memory-remote-Model-Service;WARNING;70"
clapi -o STPL -a setmacro -v "Memory-remote-Model-Service;CRITICAL;90"
clapi -o STPL -a setmacro -v "Memory-remote-Model-Service;MODE;memory"
clapi -o STPL -a setparam -v "Memory-remote-Model-Service;graphtemplate;Memory"

# SWAP
clapi -o STPL -a add -v "Swap-remote-Model-Service;Swap-remote;Model-service-active"
clapi -o STPL -a setparam -v "Swap-remote-Model-Service;check_command;check_centreon_plugin_remote_os"
clapi -o STPL -a setmacro -v "Swap-remote-Model-Service;PLUGIN;os::linux::local::plugin"
clapi -o STPL -a setmacro -v "Swap-remote-Model-Service;USERNAME;remote_centreon"
clapi -o STPL -a setmacro -v "Swap-remote-Model-Service;WARNING;80"
clapi -o STPL -a setmacro -v "Swap-remote-Model-Service;CRITICAL;90"
clapi -o STPL -a setmacro -v "Swap-remote-Model-Service;MODE;swap"
clapi -o STPL -a setparam -v "Swap-remote-Model-Service;graphtemplate;Memory"
Vous obtiendrez, par exemple, le template cpu-remote-Model-service.
Stacks Image 17380
le template cpu-remote-Model-Service

2.4 Le template d’hôte

Nous regrouperons les services dans un template d'hôte nommé OS-Linux-remote
Centreon-clapi

# HOSTS MODEL GROUP
clapi -o HTPL -a add -v "OS-Linux-remote;OS-Linux-remote;;;;"
clapi -o STPL -a addhost -v "Cpu-remote-Model-Service;OS-Linux-remote"
clapi -o STPL -a addhost -v "disk-remote-home-Model-Service;OS-Linux-remote"
clapi -o STPL -a addhost -v "disk-remote-root-Model-Service;OS-Linux-remote"
clapi -o STPL -a addhost -v "disk-remote-tmp-Model-Service;OS-Linux-remote"
clapi -o STPL -a addhost -v "disk-remote-usr-Model-Service;OS-Linux-remote"
clapi -o STPL -a addhost -v "disk-remote-var-Model-Service;OS-Linux-remote"
clapi -o STPL -a addhost -v "Load-remote-Model-Service;OS-Linux-remote"
clapi -o STPL -a addhost -v "Memory-remote-Model-Service;OS-Linux-remote"
clapi -o STPL -a addhost -v "Swap-remote-Model-Service;OS-Linux-remote"
Stacks Image 17076
le template d'hôte OS-Linux-remote avec les relations de template de service

2.5 Création de notre hôte

Pour créer notre hôte nous utiliserons les templates d'hôtes generic-host et OS-Linux-remote.
Centreon-clapi

# CREATE HOST
clapi -o HOST -a add -v "weblamp;serveur Web;172.16.209.51;generic-host;Central;Linux-servers"
clapi -o HOST -a addtemplate -v "weblamp;OS-Linux-remote"
clapi -o HOST -a applytpl -v "weblamp"
Stacks Image 17047
Création de notre hôte distant weblamp

3 Vérification de la configuration

Appliquez la configuration. Vous devriez avoir cette vue pour les services après quelques minutes de fonctionnement.
Stacks Image 16979
Résultat des plugins pour l'hôte weblamp
comments powered by Disqus
 Vous êtes ici: