Script de mise à jour automatique de Nagios

Date: 22/03/2010 | Catégories: Developpement,Nagios,Open-source,Reseau,Systeme | Tags: ,,,,

Aprés l'installation automatique, voici un nouveau script shell "maison" permettant de mettre simplement à jour votre serveur Nagios (core et plugins inclus).

Ce script est une synthése des articles "Comment mettre à jour son serveur Nagios ?" et "Mise à jour des plugins Nagios". Il ne doit être utilisé que si vous avez installé Nagios à partir de cette procédure ou de ce script d'installation automatique.

Le script est distribué sous licence GPL. Libre à vous de le modifier pour l'adapter à vos besoins. Si des âmes charitables veulent modifier le script pour l'adapter à d'autres distribution GNU/Linux ou BSD, je suis preneur pour les mettre en téléchargement sur mon serveur.

Récupération du script

On lance la commande suivante pour télécharger le script sur son serveur et le rendre exécutable:

PS: vous pouvez télécharger le script directement par l'URL suivante (GitHub).

Lancement du script

Il suffit ensuite de lancer le script et de répondre aux questions posées par le système (en root ou précédé de la commande sudo):

Et si la mise à jour se passe mal ?

Le script archive la configuration n-1, il suffit donc d'ouvrir un terminal et de saisir les commandes suivantes pour revenir dans l'ancienne version (en root ou précédé de la commande sudo):

Informations sur la mise à jour

Dans la version 0.9 du script la mise à jour se fera vers:

  • Sèb

    http://coradi.hd.free.fr/partage/nagiosautoupdate-centos.sh

    Voilà pour CentOS. Par contre, attention quand même, car les chemins peuvent être différents si l’on a installé Nagios par les sources ou par le gestionnaire de paquets. L’utilisateur aussi d’ailleur. Quelques détails à vérifier avant de lancer le script.

  • Raphaël SurcouF

    @Sèb: Si l’on a choisit l’installation par les paquets binaires, on reste dans une mise à jour par le même biais.

  • jenkins

    Petite information
    dans le script il faut modifier dans la ligne 108 update par installation

  • @jenkins: merci pour l’info, j’ai corrigé la faute dans le SVN…

  • Sèb

    @Raphaël Sur: C’est pas faux.

  • @Raphael et Seb: c’est vrai mais souvent les distribution on un temps de retard sur les versions de Nagios. De plus il peut être utile de recompiler Nagios pour activer certaines options/optimisations.

  • Ben

    Un grand merci à toi j’ai pu mettre mon serveur nagios à jour facilement grâce a ton script !

  • Fonctionne parfaitement sur Ubuntu 9.10 Desktop 32bit

  • Nikel ça fonctionne parfaitement bravo ! et merci

  • Agarwaen

    Bravo pour ce script (et pour tout le site)

    J’aimerais savoir si le script fonctionnerais avec FAN ou une machine avec centreon déjà installer et/ou déjà configurer?
    comme sa je rêve? ce serrait bien pratique 🙂

  • @Agarwaen: avec FAN c’est presque sur que non. Par contre avec une configuration Nagios+Centreon (par exemple en suivant le tuto de ce site) il n’y a pas de raison que cela ne marche pas, car la configuration de Nagios n’est pas touchée…

    A tester, si vous avez des retours je suis preneur.

  • Agarwaen

    J’ai besoin d’un petit coup de main pour faire la mise a jour de nagios/centreon sur un nouveau servuer et pour importer la config de l’ancien (enfin c’est juste importer la config qui pose problème), svp

    http://forum.nicolargo.com/viewtopic.php?pid=3183#p3183

  • Hubert

    Seb,

    L’accès à ton script est protégé par une authentification.
    peux-tu déverrouiller l’accès ou nous donner les clés ?

    Merci

  • @Hubert, le script n’est pa protégé par une authentification… Il demande juste le mot de passe « root » pour procéder à l’installation…

  • Hubert

    Bonjour,

    Sans doute me suis-je mal exprimé. Il n’est pas question ici de droits d’exécution du script, mais de la demande d’authentification exigée par le serveur HTTP pour pouvoir récupérer le script de Sèb : http://coradi.hd.free.fr/partage/nagiosautoupdate-centos.sh

  • @Hubert: désolé, je n’vais pas lu correctement… Le script en question n’est pas de moi… il est hebergé par Sèb…

  • Fonctionne nikel sur mon Unbutu.

  • Pareil, ca fonctionne super bien chez moi! Merci 🙂

  • cinthos Quauphy

    Merci bien j’ai fais un update de 3.2.1 vers 3.2.2 et c’est super cool sur mon centOS et ça marche !!!
    Mais dits moi, c’est quoi la difference avec la version precedente ???

  • @cinthos Quauphy: pas de différences fonctionnelles apparente mais pas mal de corrections de bug (voir la liste ici: http://www.nagios.org/development/history/core-3x)

  • Merci pour toutes ces informations.
    Léo

  • Theartemis

    Bonjour,

    J’ai appliqué ce script qui s’est lancé et a installé les majs sans problèmes sauf un :
    Impossible de lancer des checks à cause des permissions sur le fichier /usr/local/nagios/var/rw/nagios.cmd qui avait les droits 660.

    Un chmod a+x nagios.cmd n’a pas résolu le problème, seul un chmod 777 à permis d’y remédier.

  • maskk

    on est deux dans ce cas, de plus lorsque je redémarre nagios (par centreon uniquement) le fichier nagios.cmd est recrée avec les anciennes permissions… je pense que c’est une boulette dans la mise a jour de centreon, maintenant si quelqu’un avait une idée (@nico, j’ai deja posé la question chez monitoring (qui sont tres sympas ^^))

  • Slim_Proof

    J’ai utilisé ce script pour aire la mise à jour de ma version 3.2.2 vers la 3.2.3 (come affiché dans la fin de l’article)
    Or quand je me reconnecte il m’affiche toujours la version 3.2.2 :s

  • Je vous remercie pour un autre excellent article. Où d’autre peut-on obtenir ce genre d’informations de manière parfaite de l’écriture? J’ai une présentation la semaine prochaine, et je suis à la recherche de telles informations.

  • Très bon, je n’avais pas vu le nouveau script.
    J’étais passé à côté 🙁
    C’est génial en tout cas, un grand merci, j’ai encore gagné du temps 😉
    Y aurait pas une petite coquille au niveau de la version NRPE Annoncée ?
    Bonne journée

  • Azigui

    Salut,

    Je cherche à faire un script shell permettant de m’alerter via Nagios, en cas de mise à jour de mes serveurs Linux.

    Où pourrais-je trouver des infos. Sur Google j’ai rien d’intéressant.

    Merci

    Pour l’info

    • Sujet intéressant… Le plus simple est de faire un simple script SHELL qui renvoie 0 si il n’y a pas de mise à jour à faire et 1 si c’est le cas puis de l’intégrer comme plugin à Nagios.

      Je te conseille la lecture du billet suivant: http://blog.nicolargo.com/2007/03/creation-dun-plugins-pour-nagios.html

    • Thornin

      Salut,

      je ne sais pas si il est trop tard, mais perso j’ai installé Webmin sur mon Ubuntu, il permet (en autre) de t’envoyer des mails dès qu’un update et dispos c’est un super outil je l’utilise tout les jours surtout si, comme moi tu as une installe server sans GUI.

      en espérant t’aider.

      ++

  • MADHOUSE

    re bonjour Nico,
    Laissez tomber ma question par rapport à l’autre post,

    là je viens d’installer une nouvelle VM avec ubuntu et j’ai utilisée votre script d’installation automatique et puis j’ai voulu mettre à jour mon installation et lors de la mise à jour tout passe nickel sauf à la fin j’ai ce message d’erreur:
    Configure Nagios NRPE Configure Nagios NRPE [ Error ]
    et puisque je suis débutant avec nagios j’aimerais bien un avis d’expert sur cette erreur

  • Simo

    Bonjour,
    j’essaye de mettre à jour mon nagios de la version 3.3.1 vers la 3.4.0 avec le script de mise à jour automatique. Mais j’ai cette erreur :

    Make Nagios Core [ Error ]

    Une solution ?
    Merci pour tout

  • Visiblement il est urgent d’attendre avant de faire la MAJ vers la 3.4.0 et attendre la 3.4.1

  • Le changelog au passage : http://www.nagios.org/projects/nagioscore/history/core-3x

    Et puis dans la foulée !
    Petit projet Python pour visualiser de la conf Nagios en ligne de commande:

    Nagator (https://github.com/Socketubs/Nagator)

    Bonne journée.

  • SmashingPumpkinsFan

    A quand une mise à jour du script pour la prise en compte de la 3.4.3 ?
    Merci

  • SmashingPumpkinsFan

    C’est parfait merci Nicolas.
    @+

  • Je viens de voir que Nagios était passé en version 3.5.0.
    Hop, je fais une mise à jour avec ton script et ça fonctionne toujours très bien !
    Excellent travail, merci encore !

  • Minifab

    Salut nicolargo,

    Il semble y avoir un probleme pour récupérer les plugins 😉

    xxx@vmonitor1:~$ sudo ./nagiosautoupdate-07102013.py
    Backup the current Nagios configuration [ OK ]
    Install prerequisites [ OK ]
    Download Nagios Core version 4.0.0 [ OK ]
    Download Nagios Plugins version 1.4.16 [ Error ]
    xxx@vmonitor1:~$ wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-$nagios_plugins_version.tar.gz
    –2013-10-07 17:14:52– http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-.tar.gz
    Résolution de prdownloads.sourceforge.net (prdownloads.sourceforge.net)… 216.34.181.59
    Connexion vers prdownloads.sourceforge.net (prdownloads.sourceforge.net)|216.34.181.59|:80… connecté.
    requête HTTP transmise, en attente de la réponse… 404 Not Found
    2013-10-07 17:14:52 ERREUR 404: Not Found.

    • Effectivement…

      Je viens de corriger le problème et les scripts utilisent maintenant la version 1.5 des plugins Nagios hébergé sur le nouveau site: https://www.nagios-plugins.org/download.html

      Merci pour la remontée de bug !

      • Minifab

        Quelle réactivité ! Je suis bluffé !

        Allez je te paye une bière j’utilise ton script pour le boulot et il rend bien service 😉

        • Teste avant de payer la bière 🙂 Je suis en déplacement et pas moyen de tester simplement…

          • Minifab

            Oui c’est bon màj OK 😉

            Nagios® Core™
            Version 4.0.0
            September 20, 2013

          • Merci pour la bière 🙂

  • Minifab

    Màj 4.0.1 : petit problème, d’après ce que j’ai trouvé sur le net je ne suis pas seul. Lorsque j’essaie de relancer nagios il ne trouve pas le script, une petite idée ?

    root@vmonitor1:~/nicolargo# service nagios stop
    /etc/init.d/nagios: 20: .: Can’t open /etc/rc.d/init.d/functions

    sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

    Nagios Core 4.0.1
    Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
    Copyright (c) 1999-2009 Ethan Galstad
    Last Modified: 10-15-2013
    License: GPL

    Website: http://www.nagios.org
    Reading configuration data…
    Warning: use_embedded_perl_implicitly is deprecated and will be removed.
    Warning: enable_embedded_perl is deprecated and will be removed.
    Warning: p1_file is deprecated and will be removed.
    Warning: sleep_time is deprecated and will be removed.
    Warning: external_command_buffer_slots is deprecated and will be removed. All commands are always processed upon arrival
    Warning: command_check_interval is deprecated and will be removed. Commands are always handled on arrival
    Read main config file okay…
    Warning: failure_prediction_enabled is obsoleted and no longer has any effect in host type objects (config file ‘/usr/local/nagios/etc/objects/templates.cfg’, starting at line 52)
    Warning: failure_prediction_enabled is obsoleted and no longer has any effect in service type objects (config file ‘/usr/local/nagios/etc/objects/templates.cfg’, starting at line 153)
    Read object config files okay…

    Running pre-flight check on configuration data…

    Checking objects…
    Checked 178 services.
    Checked 36 hosts.
    Checked 7 host groups.
    Checked 0 service groups.
    Checked 2 contacts.
    Checked 1 contact groups.
    Checked 40 commands.
    Checked 5 time periods.
    Checked 0 host escalations.
    Checked 0 service escalations.
    Checking for circular paths…
    Checked 36 hosts
    Checked 0 service dependencies
    Checked 0 host dependencies
    Checked 5 timeperiods
    Checking global event handlers…
    Checking obsessive compulsive processor commands…
    Checking misc settings…

    Total Warnings: 0
    Total Errors: 0

    Things look okay – No serious problems were detected during the pre-flight check

  • Rhugues

    Bonjour ,

    Ca fonctionne parfaitement, Comme d Hab…:)

    Attention Pour les Droits sur les Plugin ajouté par Centreon:
    Ex :Warning: This plugin must be either run as root or setuid root.

    ->chown root /usr/local/nagios/libexec/check_icmp
    chmod u+s /usr/local/nagios/libexec/check_icmp

    ou les Fichiers de Conf :
    Ex : Plugin Centreon-GLPI:

    -> chown www-data:www-data /usr/local/nagios/etc/centreon-glpi-command.cfg

    Serveur « Maison » Giada N20 :
    Debian 7.2 + ADSamba (DNS +ACL/SSO)
    Nagios 4.1 / Centreon 2.4.4 NDO /
    Glpi 084.2 +Fusion + Nagvis + MediaWiki

  • Minifab

    Hey @nicolargo je sais que glances vous prends bcp de temps mais un petit upgrade du script pour prendre en charge la version 4.0.8 est-il envisageable ?
    Merci 🙂

    • C’est fait à l’instant. Par contre je n’ai pas eu le temps de faire un test…

      • Minifab

        Wow ! Super ! Snapshot, je teste et te fait un retour 😉

  • guillaume

    Bonjour, comment faire la mise a jour vers la version 4.1.1?
    Merci d’avance, super site