Nagios 3: amélioration des périodes temporelles
Nagios 3 était attendu. Il est disponible depuis le jeudi 13 mars 2008. Certains avaient évoqué la fin décembre 2007 comme date de disponibilité. Il aura fallut 5 versions alpha, 7 versions béta et 3 RC. À titre de comparaison, la version 2 est née après 6 betas et 2 RC. Sera-t'elle plus stable que la version 2.0?
L'une des avancées les plus importantes est la gestion des exceptions lors de la définition des périodes temporelles. Jusqu'à maintenant, il n'était pas possible de configurer une période temporelle évoquant "le premier dimanche du mois". Par exemple, si un service applicatif est arrêté pendant 3 heures, tous les 1er dimanche de chaque mois pour une sauvegarde à froid, il faut prendre ce paramètre en compte dans la supervision. Avec la version 2, ce cas n'était pas possible. Du moins pas simplement. Il était possible de programmer des DOWNTIME récurrents mais ce n'était pas évident. Dans cette version 3, c'est géré.
define timeperiod{
timeperiod_name Mysql-servers-check
alias Check period of MySQL servers
sunday 1 00:00-03:00,06:00-24
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
Et voilà! Dans cette période temporelle, j'ai défini les heures de test de MySQL. MySQL sera donc testé tous les jours, de 00h00 à 23h59:59 sauf le premier dimanche du mois (3e ligne de la définition). Magique non? Cela apporte en effet une grande fonctionnalité à Nagios. Oui mais... les congés des équipes? Comment sont-ils gérés?
Les congés n'étaient pas gérés dans la version 2. Mais ils le sont dans cette version 3. Un exemple?
define timeperiod{
timeperiod_name team1
alias Notification period of Team #1
monday 07:00-16:00
tuesday 07:00-16:00
wednesday 07:00-16:00
thursday 07:00-16:00
friday 07:00-16:00
saturday
sunday
2008-07-21 - 2008-08-01
}
define timeperiod{
timeperiod_name team2
alias Notification period of Team #2
monday 11:00-20:00
tuesday 11:00-20:00
wednesday 11:00-20:00
thursday 11:00-20:00
friday 11:00-20:00
saturday
sunday
2008-08-04 - 2008-08-14
}
Dans mon exemple, j'ai défini deux périodes de notifications. La première est visiblement associée à l'équipe 1. Celle ci est notifiée uniquement de 7h à 16h tous les jours. Sauf durant la période du 21 juillet au 1er aout où elle n'est pas notifiée car tous les membres de l'équipe sont en congés. La deuxième équipe est notifiée de 11h à 20h sauf durant la période du 04 août au 14 août où elle n'est pas notifiée car en congés. Simple non?
Cette nouvelle fonctionnalité pouvait paraître anodine. Elle ne l'est pas: elle permet d'exprimer la vie d'un Système d'Information. Rappelons toujours que ce qui est couteux dans une solution de Supervision est la configuration et la maintenance de celle-ci. Cette fonctionnalité facilite la vie car elle représente clairement ce qui se passe réellement aux niveaux des équipes et au niveau de la supervision. Merci Nagios!


