Vous verrez check_cluster sous un autre angle
Le plugin check_cluster sert à superviser un regroupement d'hôtes et de services que vous considérez comme un cluster dans votre supervision. Nous allons voir que si on regarde ce plugin sous un autre angle, son utilisation peut être très utile et surtout très simplifié.
Par exemple, vous disposez d'une batterie de serveur Web et vous désirez créer un service capable de vous alerter quand votre cluster apache commence à être défaillant.
Admettons que vous avez 5 hôtes :
- WEB_1
- WEB_2
- WEB_3
- WEB_4
- WEB_5
Ce qui vous intéresse est de contrôler que tous vos serveurs soient disponible. Pour se faire, l'utilisation traditionnelle de check_cluster veut que vous définissiez dans votre fichier commands.cfg la commande suivante :
define command {
command_name check_cluster_host
command_line /usr/local/nagios/libexec/check_cluster -h -d $ARG1$ -w $ARG2$ -c $ARG3$
}
- $ARG1$ : prend les valeurs des états des hôtes de votre cluster ($HOSTSTATEID)
- $ARG2$ : prend la valeur de la limite d'hôtes en états non-OK avant de passer en WARNING
- $ARG3$ : prend la valeur de la limite d'hôtes en états non-OK avant de passer en CRITICAL
Donc dans votre fichier services.cfg, votre déclaration ressemble à ça :
define service {
host_name SURV_CLUSTER
service_description Cluster WEB
check_command check_cluster_host!$HOSTSTATEID:WEB_1$,$HOSTSTATEID:WEB_2$,$HOSTSTATEID:WEB_3$,$HOSTSTATEID:WEB_4$,$HOSTSTATEID:WEB_5$!2!4
...
}
Ce que l'on remarque c'est que l'option -d donc le $ARG1$ peut être très rébarbative si vous disposez d'un cluster assez gros. Vous me direz que les clusters courent pas les rues forcément et quand il y en a, ça reste relativement petit.
Mais imaginez, que vous désirez appliquer ce "principe" de cluster à d'autres utilisations.
- Regrouper les machines d'un site de production pour avoir un service de surveillance de ce site
- Regrouper les machines d'une région afin de remonter les impacts d'une coupure d'une fibre ou autre
- etc ...
Pour vous simplifier la vie du check_cluster, il est possible de mixer la puissance du check_cluster avec celle des macros à la demande de Nagios (cf : Chapitre 26 - Utilisation des macros dans les commandes.
On va reproduire le même exemple que ci-dessus mais avec les macros à la demande.
La définition de la commande reste la même.
Nous avons toujours nos 5 hôtes. Nous allons les regrouper dans un groupe d'hôtes que nous allons appeler HSTG_CLUSTER_WEB.
define hostgroup{
hostgroup_name HSTG_CLUSTER_WEB
alias Groupe d'hôtes de notre cluster Web
members WEB_1,WEB_2,WEB_3,WEB_4,WEB_5
}
Pour finir, la déclaration de notre service se fera de la manière suivante :
define service {
host_name SURV_CLUSTER
service_description Cluster WEB
check_command check_cluster_host!$HOSTSTATEID:HSTG_CLUSTER_WEB:,$!2!4
...
}
J'explique un peu le principe de ma macro. La macro $HOSTSTATEID:HSTG_CLUSTER_WEB:,$ retournera une liste d'états hôtes séparés par des virgules pour les hôtes membres du groupe HSTG_CLUSTER_WEB:
$HOSTSTATEID:HSTG_CLUSTER_WEB:,$
La définition de cette macro retournera quelque chose ressemblant à ceci :
0,2,1,1,0,0,2
Ca tombe bien c'est ce que désire l'option -d de check_cluster. Donc vous voyez cette petite astuce permet de vous simplifier la vie pour la saisie de cette commande et surtout de ne pas se limiter qu'à une utilisation de cluster.
A vos config !
RSur le même sujet:
- Accusé nagios-fr.org, levez-vous ! nagios-fr.org est dans le collimateur de Ethan Gasltad, créateur de Nagios et de sa femme Marry Starr depuis quelques jours pour avoir eu de leurs points de vue l’outrecuidance de publier des informations sur Icinga, désormais ennemi juré de ces mêmes personnes. Ils nous somment...
- NagVis : Faites tourner vos cartes ! Votre cartographie représente un nombre incalculable de cartes ? Vous en avez marre de changer d’onglets dans votre navigateur pour visualiser et contrôler vos différentes cartes ? Une des fonctionnalités de NagVis peut répondre à vos soucis. Il s’agit de la rotation des cartes. Le...
- MoZBX : Une appli mobile pour Zabbix ! Pour tous les possesseurs de mobiles (smartphones) ou de PDAs, voici une application qui va en intéresser plus d’un : MoZBX. Il s’agit d’une application cliente, gratuite permettant de visualiser de nombreuses informations provenant de votre système Zabbix. Ainsi, depuis votre navigateur internet mobile, il...
- Quand la supervision rencontre la Sécurité Quand la supervision rencontre la sécurité ça nous fait une solution Open Source digne de ce nom à base de : Nagios Prelude Snort Ossec Ce projet a été élaboré en labo par Ludovic VALENTIN dans le cadre d’un stage. La documentation qui en est...
- Uptime : Mesure universelle ? Il est admis que la mesure de base qui compte en supervision est le Uptime (temps de disponibilité d’un service et Nagios est prévu pour ce genre de réponse. Mais est-il intéressant, voir utile de rapporter à votre direction informatique sur ce type d’indicateur ?...