Nouveau webservice pour gérer les downtimes de supervision avec Livestatus

Suite à mon précédent article sur la supervision distribuée, j’ai du mettre à jour ma méthode pour gérer les downtimes de Nagios que j’avais expliqué dans cet article.
J’ai donc complètement réécris ce webservice en python en me reposant sur Livestatus. Les source du script sont sur Github.
Ce script supporte donc d’avoir plusieurs démons Livestatus sur différents serveurs.
L’utilisation est relativement similaire à l’ancien, il faut faire un HTTP GET sur une URL en passant des arguments.
Le format de la requête est le suivant :

ACTION=(schedule-svc-downtime|remove-svc-downtime|schedule-servicegroup-downtime)&MANDATORY_ARGUMENTS

Les MANDATORY_ARGUMENTS varient en fonction de l’action à réaliser :

  • Si ACTION=schedule-svc-downtime : les arguments obligatoires sont HOSTNAME,SERVICEDESC,DURATION,AUTHOR,COMMENT
  • Si ACTION=remove-svc-downtime: les arguments obligatoires sont HOSTNAME,SERVICEDESC
  • Si ACTION=schedule-servicegroup-downtime : les arguments obligatoires SERVICEGROUP,DURATION,AUTHOR,COMMENT

Avec :

  • HOSTNAME le host_name défini dans nagios
  • SERVICEDESC le service_description défini dans nagios
  • DURATION la durée en seconde de downtime
  • SERVICEGROUP le servicegroups défini dans nagios
  • AUTHOR le nom du contact dans nagios

Les avantages de ce nouveaux scripts sont :

  • La possibilité de gérer de multiples serveurs nagios d’un seul endroit
  • De ne pas avoir à tourner forcément sur le serveur de supervision
  • D’être compatibles avec tous les systèmes de supervision ayant un broker livestatus (testé avec Nagios et Shinken)

Si vous avez des commentaires, n’hésitez pas !

Share
  1. How do I use the above script? Where do I drop it?

Laisser un commentaire