Nagios

De Hegyd Doc.

(Différences entre les versions)
(Gestion des spool mails)
(Installation du client sur Debian)
 
(58 versions intermédiaires masquées)
Ligne 1 : Ligne 1 :
-
== Prérequis ==  
+
== Installation du client sur Debian ==
 +
* Installer configurer snmpd
 +
Suivre la procédure d'installation et de configuration de base de la page [[Snmp]]
 +
 
 +
* Installer NRPE server et les plugins de bases pour Debian
 +
<pre>apt-get install --no-install-recommends nagios-nrpe-server nagios-plugins fping libswitch-perl libdbd-mysql-perl libdbi-perl</pre>
 +
 
 +
* Installer les plugins Hegyd
 +
Les plugins Hegyd ont du être installé en même temps que la machine avec le dépôt git sys-common.
 +
 
 +
*'''Configuration de NRPE '''
 +
<pre>
 +
sed -i 's/^allowed_hosts=127.0.0.1/#allowed_hosts=127.0.0.1/' /etc/nagios/nrpe.cfg
 +
ln -fs /usr/local/share/hegyd/sys-common/nagios/nrpe_local.cfg /etc/nagios/nrpe_local.cfg
 +
</pre>
 +
 
 +
* Ajouter nagios au grouype grsec
 +
<pre>usermod -a -G grsec nagios</pre>
 +
 
 +
* Redémarrer NRPE
 +
<pre>service nagios-nrpe-server restart</pre>
 +
 
 +
*'''Particularité Debian 8.X et supérieurs '''
 +
 
 +
Le package NRPE fourni dans Debian 8.0+ ne permet plus le passage d'arguments. Certains services reposant sur NRPE remontent en erreur.
 +
Il faut utiliser un package précompilé disponible sur le serveur backup2.hegyd.net
 +
 
 +
Sur le serveur Backup2 :
 +
<pre>
 +
scp /root/nagios-nrpe-server_2.15-1_amd64.deb root@IPVM:/tmp
 +
</pre>
 +
 
 +
Sur la VM :
 +
<pre>
 +
dpkg -i /tmp/nagios-nrpe-server_2.15-1_amd64.deb
 +
</pre>
 +
 
 +
*'''Particularité Debian 9.X et supérieurs '''
 +
 
 +
Si l'installation échoue avec un message :
 +
 
 +
'' nagios-nrpe-server : Dépend: libssl1.0.0 (>= 1.0.0) mais il n'est pas installable''
 +
 
 +
La lib SSL est disponible sur backup2.hegyd.net dans /root/ :
 +
 
 +
Fichier libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb à copier sur la VM disponible sur backup2:/root
 +
 
 +
<pre>                                                                                                                                                                   
 +
scp /root/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb root@IPVM:/tmp
 +
</pre>
 +
 
 +
Sur la VM
 +
 
 +
<pre>
 +
dpkg -i /tmp/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb
 +
 
 +
# si erreur : libssl1.0.0 pré-dépend de multiarch-support faire :
 +
apt install multiarch-support
 +
 
 +
#puis à nouveau :
 +
dpkg -i /tmp/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb
 +
 
 +
#puis refaire :
 +
dpkg -i /tmp/nagios-nrpe-server_2.15-1_amd64.deb
 +
</pre>
 +
 
 +
Puis enfin :
 +
 
 +
<pre>
 +
service nagios-nrpe-server restart
 +
 
 +
# On fige la version et on empêche la maj via apt
 +
apt-mark hold nagios-nrpe-server
 +
</pre>
 +
 
 +
=== Configuration pour le check Apache ===
 +
 
 +
Fait lors de l'installation d'Apache [[Apache#Configuration_de_base]]
 +
 
 +
=== Configuration pour les check Mysql (Seulement si mysql est installé localement sur le serveur) ===
 +
Ajouter l'utilisateur nagios dans le cli Mysql :
 +
<pre>
 +
CREATE USER nagios@localhost IDENTIFIED BY PASSWORD '*D2E12CBA3CE3E704A874AC1703D59044D8B1D61D';
 +
GRANT PROCESS ON *.* TO 'nagios'@'localhost' IDENTIFIED BY PASSWORD '*D2E12CBA3CE3E704A874AC1703D59044D8B1D61D';
 +
</pre>
 +
 
 +
* Notes
 +
Il faut ouvrir le port '''''5666''''' par défaut pour le service nrpe.
 +
 
 +
Dans le fichier de configuration, /etc/nagios/nrpe.cfg, modifier la ligne suivante pour autoriser le passage de paramètres aux commandes lancées via Nrpe
 +
<pre>dont_blame_nrpe=1</pre>
 +
Il faut aussi commenter les exemples de commandes par défaut et ainsi mettre les commandes souhaitées en suivant ce principe :
 +
<pre>command[nom_de_la_commande]=chemin_absolu_vers_le_plugin [option $ARG1$] [option2 $ARG2$]</pre>
 +
 
 +
=== Gestion des spool mails (seulement si serveur de mails SMTP) ===
 +
 
 +
La gestion du volume de mail par spool se fait via le démon mailgraph qui analyse le log mail.log en temps réel afin d'en sortir des statistics. Normalement, les statistiques sont directement stockées dans une fichier rrd, mais il est possible de patcher le script afin qu'il log dans un fichier et exloiter les données via NRPE.
 +
 
 +
* Installer mailgraph packagé sans installer les dépendances apache recommandés :
 +
<pre>apt-get install mailgraph --no-install-recommends</pre>
 +
 
 +
* Patcher mailgraph
 +
<pre>
 +
service mailgraph stop
 +
cp /usr/sbin/mailgraph /usr/local/sbin/
 +
wget http://www.linuxplayer.org/wp-content/uploads/2011/03/check_mailstat_plugin_v0.9.1.zip -O /usr/local/src/check_mailstat_plugin_v0.9.1.zip
 +
cd /usr/local/src
 +
unzip check_mailstat_plugin_v0.9.1.zip
 +
cd check_mailstat_plugin_v0.9.1
 +
patch /usr/local/sbin/mailgraph mailgraph.patch
 +
</pre>
 +
 
 +
* Editer la ligne suivante du fichier "/etc/init.d/mailgraph"
 +
<pre>sed -ie "s~DAEMON=\"/usr/sbin/mailgraph\"~DAEMON=\"/usr/local/sbin/mailgraph\"~" /etc/init.d/mailgraph</pre>
 +
 
 +
* Lancer le service
 +
<pre>service mailgraph start</pre>
 +
 
 +
== Installation serveur Nagios + Centreon sur Debian 6 ==
 +
'''Nous utiliserons le serveur sys-mysql pour la BDD'''
 +
=== Prerequis ===
 +
* Base système
 +
<pre>apt-get install sudo tofrodos bsd-mailx lsb-release</pre>
 +
 
 +
* Serveur web PHP
 +
Voir Wiki Apache.
 +
 
 +
* RRDTools
 +
<pre>apt-get install rrdtool librrds-perl</pre>
 +
 
 +
* Perl modules
 +
<pre>apt-get install libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl</pre>
 +
 
 +
* SNMP
 +
<pre>apt-get install snmp snmpd libnet-snmp-perl libsnmp-perl</pre>
 +
'''Cf les modificaiton decrite dans la rubrique SNMPv3 de ce wiki'''
 +
Certains fichier de mibs sont actuellement buggés. Il est recommandé de les supprimer :
 +
<pre>
 +
Fix mibs :
 +
mkdir /root/mibs-backups
 +
mv /usr/share/mibs/ietf/IPSEC-SPD-MIB /root/mibs-backups/
 +
mv /usr/share/mibs/ietf/IPATM-IPMC-MIB /root/mibs-backups/
 +
mv /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB /root/mibs-backups/
 +
mv /usr/share/mibs/ietf/SNMPv2-PDU /root/mibs-backups/
 +
</pre>
 +
 
 +
* Nagios
 +
<pre>
 +
apt-get install nagios3
 +
usermod -s /bin/sh nagios
 +
</pre>
 +
 
 +
* NDOUtils
 +
<pre>apt-get --no-install-recommends install ndoutils-nagios3-mysql</pre>
 +
 
 +
Editer le fichier "/etc/default/ndoutils" :
 +
<pre>ENABLE_NDOUTILS=1</pre>
 +
 
 +
Editer le fichier "/etc/nagios3/ndo2db.cfg" :
 +
<pre>
 +
db_host=sys-mysql.hegyd.net
 +
</pre>
 +
 
 +
=== Installation de centreon ===
 +
* Télécharger l'archive et lancer l'isntallation :
 +
<pre>
 +
wget http://download.centreon.com/index.php?id=187 -O /usr/local/src/centreon-2.3.9.tar.gz
 +
cd /usr/local/src
 +
tar xvzf centreon-2.3.9.tar.gz
 +
cd centreon*
 +
./install.sh -i
 +
</pre>
 +
 
 +
* Suivre les questions/réponses suivantes :
 +
<pre>
 +
Do you accept GPL license ?
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Do you want to install Centreon Web Front
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Do you want to install Centreon CentCore
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Do you want to install Centreon Nagios Plugins
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Do you want to install Centreon Snmp Traps process
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is your Centreon directory?
 +
default to [/usr/local/centreon]
 +
>/usr/local/share/centreon
 +
 
 +
Do you want me to create this directory ? [/usr/local/share/centreon]
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is your Centreon log directory
 +
default to [/usr/local/centreon/log/]
 +
>/var/log/centreon
 +
 
 +
Do you want me to create this directory ? [/var/log/centreon/]
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is your Centreon etc directory
 +
default to [/etc/centreon]
 +
>
 +
 
 +
Do you want me to create this directory ? [/etc/centreon]
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is your Centreon generation_files directory?
 +
default to [/usr/local/centreon/]
 +
>/usr/local/share/centreon
 +
 
 +
Where is your Centreon variable library directory?
 +
default to [/var/lib/centreon]
 +
>
 +
 
 +
Do you want me to create this directory ? [/var/lib/centreon]
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is your CentPlugins Traps binary
 +
default to [/usr/local/centreon/bin]
 +
>/usr/local/share/centreon/bin
 +
 
 +
Do you want me to create this directory ? [/usr/local/share/centreon/bin]
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is the RRD perl module installed [RRDs.pm]
 +
default to [/usr/lib/perl5/RRDs.pm]
 +
>
 +
 
 +
Where is PEAR [PEAR.php]
 +
default to [/usr/share/php/PEAR.php]
 +
>
 +
 
 +
Where is installed Nagios ?
 +
default to [/usr/local/nagios]
 +
>/usr/share/nagios3
 +
 
 +
Where is your nagios config directory
 +
default to [/usr/local/nagios/etc]
 +
>/etc/nagios3
 +
 
 +
Where is your Nagios var directory ?
 +
default to [/usr/local/nagios/var]
 +
>/var/lib/nagios3
 +
 
 +
Where is your Nagios plugins (libexec) directory ?
 +
default to [/usr/local/nagios/libexec]
 +
>/usr/lib/nagios/plugins/
 +
 
 +
Where is your Nagios image directory ?
 +
default to [/usr/local/nagios/share/images/logos]
 +
>/usr/share/nagios3/htdocs/images/logos
 +
 
 +
Where is your NDO ndomod binary ?
 +
default to [/usr/sbin/ndomod.o]
 +
>/usr/lib/ndoutils/ndomod-mysql-3x.o
 +
 
 +
Where is sudo configuration file
 +
default to [/etc/sudoers]
 +
>
 +
 
 +
Do you want me to configure your sudo ? (WARNING)
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Do you want to add Centreon Apache sub configuration file ?
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Do you want to reload your Apache ?
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Do you want me to install/upgrade your PEAR modules
 +
[y/n], default to [y]:
 +
 
 +
Where is your Centreon Run Dir directory?
 +
default to [/var/run/centreon]
 +
>
 +
 
 +
Do you want me to create this directory ? [/var/run/centreon]
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is your CentStorage binary directory
 +
default to [/usr/share/centreon/bin]
 +
>
 +
 
 +
Where is your CentStorage RRD directory
 +
default to [/var/lib/centreon]
 +
>
 +
 
 +
Do you want me to install CentStorage init script ?
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Do you want me to install CentStorage run level ?
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is your CentCore binary directory
 +
default to [/usr/share/centreon/bin]
 +
>
 +
 
 +
Do you want me to install CentCore init script ?
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Do you want me to install CentCore run level ?
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is your CentPlugins lib directory
 +
default to [/var/lib/centreon/centplugins]
 +
>
 +
 
 +
Do you want me to create this directory ? [/var/lib/centreon/centplugins]
 +
[y/n], default to [n]:
 +
> y
 +
 
 +
Where is your SNMP configuration directory
 +
default to [/etc/snmp]
 +
>
 +
 
 +
Where is your SNMPTT binaries directory
 +
default to [/usr/local/centreon/bin/]
 +
>/usr/local/share/centreon/bin
 +
</pre>
 +
 
 +
* Finaliser l'installation en ligne : "http://supervisor.hegyd.net/centreon/"
 +
 
 +
=== Configuration ===
 +
Modifier les droits sur quelques checks :
 +
<pre>
 +
chmod u+s /usr/lib/nagios/plugins/check_icmp
 +
chmod u+s /usr/lib/nagios/plugins/check_ping
 +
chmod u+s /usr/lib/nagios/plugins/check_centreon_ping
 +
</pre>
 +
 
 +
Faire les modificaiton de configuration suivantes dans l'interface de centreon :
 +
<pre>
 +
Configuration > Nagios > nagios.cfg > Files
 +
Check result directory = /var/lib/nagios3/spool/checkresults
 +
 
 +
Configuration > Nagios > cgi
 +
URL HTML Path = /nagios3
 +
 
 +
Configuration > Centreon > ndo2db.cfg > General
 +
Socket Name = /var/run/nagios3/ndo.sock
 +
 
 +
Configuration > Centreon > ndo2db.cfg > Database
 +
Database Hoster = sys-mysql.hegyd.net
 +
</pre>
 +
 
 +
Redémarrer les services :
 +
<pre>
 +
/etc/init.d/ndoutils restart
 +
/etc/init.d/centstorage restart
 +
/etc/init.d/centcore restart
 +
</pre>
 +
 
 +
* Installer le français :
 +
<pre>
 +
apt-get install gettext
 +
mkdir -p /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES
 +
wget http://svn.modules.centreon.com/centreon-translations/branches/centreon-2.3/fr/LC_MESSAGES/messages.po -O /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES/messages.po
 +
wget http://svn.modules.centreon.com/centreon-translations/branches/centreon-2.3/fr/LC_MESSAGES/help.po -O /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES/help.po
 +
mkdir -p /usr/local/share/centreon/www/locale/fr_FR.UTF-8/LC_MESSAGES/
 +
msgfmt /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES/messages.po -o /usr/local/share/centreon/www/locale/fr_FR.UTF-8/LC_MESSAGES/messages.mo
 +
msgfmt /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES/help.po -o /usr/local/share/centreon/www/locale/fr_FR.UTF-8/LC_MESSAGES/help.mo
 +
chown www-data:www-data -R /usr/local/share/centreon/www/locale
 +
service apache2 reload
 +
</pre>
 +
 
 +
== OLD doc ==
 +
=== Prérequis ===
* Un serveur sous système GNU/Linux  
* Un serveur sous système GNU/Linux  
* Cette page de manuel à été faite sous une Debian Squeeze
* Cette page de manuel à été faite sous une Debian Squeeze
-
== Présentation ==
+
=== Présentation ===
-
*Nagios3 est un outils de supervision permettant la surveillance système et réseau. Il surveille les hôtes et services spécifiés, alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GPL.
+
*Nagios3 est un outils de supervision permettant la surveillance système et réseau. Il surveille les hôtes et services spécifiés, alertant lorsque les systèmes se portent mal ou/et bien. C'est un logiciel libre sous licence GPL.
*Le service est installé sur la Vm Sysadmin.
*Le service est installé sur la Vm Sysadmin.
-
== Installation du serveur ==  
+
=== Installation du serveur ===
* Installer nagios3  
* Installer nagios3  
<pre>aptitude install nagios3 nagios-nrpe-plugin
<pre>aptitude install nagios3 nagios-nrpe-plugin
Ligne 38 : Ligne 427 :
'''Il faut que la commande soit définis dans le fichier de configuration de Nrpe (voir point suivant)'''
'''Il faut que la commande soit définis dans le fichier de configuration de Nrpe (voir point suivant)'''
-
== Installation du client (distant) ==  
+
=== Installation du client (distant) ===
-
* La gestion d'un client distant nécessite le plugin nrpe
+
* Installer NRPE server et les plugins de bases pour Debian
-
<pre>aptitude install nagios-nrpe-server</pre>
+
<pre>aptitude install --without-recommends nagios-nrpe-server nagios-plugins fping libnet-snmp-perl snmp</pre>
 +
* Installer NRPE server et les plugins de base pour Fedora
 +
<pre>yum install nrpe nagios-plugins-dummy nagios-plugins-load nagios-plugins-ntp nagios-plugins-sensors nagios-plugins-smtp nagios-plugins-disk nagios-plugins-swap nagios-plugins-perl</pre>
 +
'''! Penser à mettre le service au démarrage via la commande suivante !!!'''
 +
<pre>chkconfig nrpe --levels 2345 on</pre>
 +
 
 +
 
 +
* Installer les plugins Hegyd
 +
<pre>
 +
mkdir /usr/local/share/nagios
 +
svn co http://dev.hegyd.net/svn/sysadmin/nagios/hegyd-plugins /usr/local/share/nagios/hegyd-plugins
 +
chmod -R 775 /usr/local/share/nagios
 +
chown -R root:staff /usr/local/share/nagios/hegyd-plugins
 +
ln -s /usr/local/share/nagios/hegyd-plugins/* /usr/local/bin/
 +
</pre>
 +
 
*'''Configuration de NRPE '''
*'''Configuration de NRPE '''
 +
Backup de la config d'origine, puis remplacement par la version générique du dépot
 +
<pre>
 +
cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.orig.bak
 +
svn export http://dev.hegyd.net/svn/sysadmin/nagios/nrpe.cfg /etc/nagios/nrpe.cfg
 +
</pre>
 +
 +
==== Configuration pour le check Apache ====
 +
* Activer le module apache extended status
 +
<pre>a2enmod status</pre>
 +
* Autorise sysadmin à consulter la page de status
 +
Editer le fichier "/etc/apache2/mods-enabled/status.conf" :
 +
<pre>
 +
<Location /server-status>
 +
    SetHandler server-status
 +
    Order deny,allow
 +
    Deny from all
 +
    Allow from 127.0.0.1 ::1
 +
        Allow from 178.33.76.41
 +
        Allow from 46.18.122.14
 +
        AuthUserFile /var/projects/common/.htpasswd
 +
        AuthName "Acces reserve"
 +
        AuthType Basic
 +
        require user mike albin emmanuel gael
 +
        Satisfy Any
 +
</Location>
 +
 +
# Keep track of extended status information for each request
 +
ExtendedStatus On
 +
</pre>
 +
 +
==== Configuration pour les check Mysql ====
 +
Ajouter l'utilisateur nagios dans le cli Mysql :
 +
<pre>
 +
CREATE USER nagios@localhost IDENTIFIED BY PASSWORD '*D2E12CBA3CE3E704A874AC1703D59044D8B1D61D';
 +
GRANT PROCESS ON *.* TO 'nagios'@'localhost' IDENTIFIED BY PASSWORD '*D2E12CBA3CE3E704A874AC1703D59044D8B1D61D';
 +
</pre>
 +
 +
* Notes
Il faut ouvrir le port '''''5666''''' par défaut pour le service nrpe.
Il faut ouvrir le port '''''5666''''' par défaut pour le service nrpe.
Ligne 49 : Ligne 491 :
<pre>command[nom_de_la_commande]=chemin_absolu_vers_le_plugin [option $ARG1$] [option2 $ARG2$]</pre>
<pre>command[nom_de_la_commande]=chemin_absolu_vers_le_plugin [option $ARG1$] [option2 $ARG2$]</pre>
-
'''''Pensez à  importer les scripts "fait maison" du dépot svn'''''
+
=== Gestion des spool mails ===
-
 
+
-
== Gestion des spool mails ==
+
La gestion du volume de mail par spool se fait via le démon mailgraph qui analyse le log mail.log en temps réel afin d'en sortir des statistics. Normalement, les statistiques sont directement stockées dans une fichier rrd, mais il est possible de patcher le script afin qu'il log dans un fichier et exloiter les données via NRPE.
La gestion du volume de mail par spool se fait via le démon mailgraph qui analyse le log mail.log en temps réel afin d'en sortir des statistics. Normalement, les statistiques sont directement stockées dans une fichier rrd, mais il est possible de patcher le script afin qu'il log dans un fichier et exloiter les données via NRPE.
Ligne 71 : Ligne 511 :
/etc/init.d/mailgraph start
/etc/init.d/mailgraph start
</pre>
</pre>
-
 
-
== Liste de vérification ==
 
-
*'''A mettre sur tous les serveurs'''
 
-
- Current Load
 
-
- SSH
 
-
- Disk Space
 
-
- Memory
 
-
- Swap
 
-
- Total Procs
 
-
- Uptime
 
-
- NTP
 
-
 
== TODO ==  
== TODO ==  
-
* Check si les firewall est bien chargé
+
* Check si les firewall sont bien chargé
* check du service nagios via pingdom
* check du service nagios via pingdom
-
* check Gluster,bacula, nb process Apache, nb connection CloseWait par ip
+
* check Gluster,bacula, nb connection CloseWait par ip
[[Catégorie:Administration_serveurs]]
[[Catégorie:Administration_serveurs]]

Version actuelle en date du 8 mars 2020 à 11:05

Sommaire

[modifier] Installation du client sur Debian

  • Installer configurer snmpd

Suivre la procédure d'installation et de configuration de base de la page Snmp

  • Installer NRPE server et les plugins de bases pour Debian
apt-get install --no-install-recommends nagios-nrpe-server nagios-plugins fping libswitch-perl libdbd-mysql-perl libdbi-perl
  • Installer les plugins Hegyd

Les plugins Hegyd ont du être installé en même temps que la machine avec le dépôt git sys-common.

  • Configuration de NRPE
sed -i 's/^allowed_hosts=127.0.0.1/#allowed_hosts=127.0.0.1/' /etc/nagios/nrpe.cfg
ln -fs /usr/local/share/hegyd/sys-common/nagios/nrpe_local.cfg /etc/nagios/nrpe_local.cfg
  • Ajouter nagios au grouype grsec
usermod -a -G grsec nagios
  • Redémarrer NRPE
service nagios-nrpe-server restart
  • Particularité Debian 8.X et supérieurs

Le package NRPE fourni dans Debian 8.0+ ne permet plus le passage d'arguments. Certains services reposant sur NRPE remontent en erreur. Il faut utiliser un package précompilé disponible sur le serveur backup2.hegyd.net

Sur le serveur Backup2 :

scp /root/nagios-nrpe-server_2.15-1_amd64.deb root@IPVM:/tmp

Sur la VM :

dpkg -i /tmp/nagios-nrpe-server_2.15-1_amd64.deb
  • Particularité Debian 9.X et supérieurs

Si l'installation échoue avec un message :

nagios-nrpe-server : Dépend: libssl1.0.0 (>= 1.0.0) mais il n'est pas installable

La lib SSL est disponible sur backup2.hegyd.net dans /root/ :

Fichier libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb à copier sur la VM disponible sur backup2:/root

                                                                                                                                                                    
scp /root/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb root@IPVM:/tmp

Sur la VM

dpkg -i /tmp/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb

# si erreur : libssl1.0.0 pré-dépend de multiarch-support faire :
apt install multiarch-support

#puis à nouveau :
dpkg -i /tmp/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb

#puis refaire :
dpkg -i /tmp/nagios-nrpe-server_2.15-1_amd64.deb

Puis enfin :

service nagios-nrpe-server restart

# On fige la version et on empêche la maj via apt
apt-mark hold nagios-nrpe-server

[modifier] Configuration pour le check Apache

Fait lors de l'installation d'Apache Apache#Configuration_de_base

[modifier] Configuration pour les check Mysql (Seulement si mysql est installé localement sur le serveur)

Ajouter l'utilisateur nagios dans le cli Mysql :

CREATE USER nagios@localhost IDENTIFIED BY PASSWORD '*D2E12CBA3CE3E704A874AC1703D59044D8B1D61D';
GRANT PROCESS ON *.* TO 'nagios'@'localhost' IDENTIFIED BY PASSWORD '*D2E12CBA3CE3E704A874AC1703D59044D8B1D61D';
  • Notes

Il faut ouvrir le port 5666 par défaut pour le service nrpe.

Dans le fichier de configuration, /etc/nagios/nrpe.cfg, modifier la ligne suivante pour autoriser le passage de paramètres aux commandes lancées via Nrpe

dont_blame_nrpe=1

Il faut aussi commenter les exemples de commandes par défaut et ainsi mettre les commandes souhaitées en suivant ce principe :

command[nom_de_la_commande]=chemin_absolu_vers_le_plugin [option $ARG1$] [option2 $ARG2$]

[modifier] Gestion des spool mails (seulement si serveur de mails SMTP)

La gestion du volume de mail par spool se fait via le démon mailgraph qui analyse le log mail.log en temps réel afin d'en sortir des statistics. Normalement, les statistiques sont directement stockées dans une fichier rrd, mais il est possible de patcher le script afin qu'il log dans un fichier et exloiter les données via NRPE.

  • Installer mailgraph packagé sans installer les dépendances apache recommandés :
apt-get install mailgraph --no-install-recommends
  • Patcher mailgraph
service mailgraph stop
cp /usr/sbin/mailgraph /usr/local/sbin/
wget http://www.linuxplayer.org/wp-content/uploads/2011/03/check_mailstat_plugin_v0.9.1.zip -O /usr/local/src/check_mailstat_plugin_v0.9.1.zip
cd /usr/local/src
unzip check_mailstat_plugin_v0.9.1.zip
cd check_mailstat_plugin_v0.9.1
patch /usr/local/sbin/mailgraph mailgraph.patch
  • Editer la ligne suivante du fichier "/etc/init.d/mailgraph"
sed -ie "s~DAEMON=\"/usr/sbin/mailgraph\"~DAEMON=\"/usr/local/sbin/mailgraph\"~" /etc/init.d/mailgraph
  • Lancer le service
service mailgraph start

[modifier] Installation serveur Nagios + Centreon sur Debian 6

Nous utiliserons le serveur sys-mysql pour la BDD

[modifier] Prerequis

  • Base système
apt-get install sudo tofrodos bsd-mailx lsb-release
  • Serveur web PHP

Voir Wiki Apache.

  • RRDTools
apt-get install rrdtool librrds-perl
  • Perl modules
apt-get install libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl
  • SNMP
apt-get install snmp snmpd libnet-snmp-perl libsnmp-perl

Cf les modificaiton decrite dans la rubrique SNMPv3 de ce wiki Certains fichier de mibs sont actuellement buggés. Il est recommandé de les supprimer :

Fix mibs :
mkdir /root/mibs-backups
mv /usr/share/mibs/ietf/IPSEC-SPD-MIB /root/mibs-backups/
mv /usr/share/mibs/ietf/IPATM-IPMC-MIB /root/mibs-backups/
mv /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB /root/mibs-backups/
mv /usr/share/mibs/ietf/SNMPv2-PDU /root/mibs-backups/
  • Nagios
apt-get install nagios3
usermod -s /bin/sh nagios
  • NDOUtils
apt-get --no-install-recommends install ndoutils-nagios3-mysql

Editer le fichier "/etc/default/ndoutils" :

ENABLE_NDOUTILS=1

Editer le fichier "/etc/nagios3/ndo2db.cfg" :

db_host=sys-mysql.hegyd.net

[modifier] Installation de centreon

  • Télécharger l'archive et lancer l'isntallation :
wget http://download.centreon.com/index.php?id=187 -O /usr/local/src/centreon-2.3.9.tar.gz
cd /usr/local/src
tar xvzf centreon-2.3.9.tar.gz
cd centreon*
./install.sh -i
  • Suivre les questions/réponses suivantes :
Do you accept GPL license ?
[y/n], default to [n]:
> y

Do you want to install Centreon Web Front
[y/n], default to [n]:
> y

Do you want to install Centreon CentCore
[y/n], default to [n]:
> y

Do you want to install Centreon Nagios Plugins
[y/n], default to [n]:
> y

Do you want to install Centreon Snmp Traps process
[y/n], default to [n]:
> y

Where is your Centreon directory?
default to [/usr/local/centreon]
>/usr/local/share/centreon

Do you want me to create this directory ? [/usr/local/share/centreon]
[y/n], default to [n]:
> y

Where is your Centreon log directory
default to [/usr/local/centreon/log/]
>/var/log/centreon

Do you want me to create this directory ? [/var/log/centreon/]
[y/n], default to [n]:
> y

Where is your Centreon etc directory
default to [/etc/centreon]
>

Do you want me to create this directory ? [/etc/centreon]
[y/n], default to [n]:
> y

Where is your Centreon generation_files directory?
default to [/usr/local/centreon/]
>/usr/local/share/centreon

Where is your Centreon variable library directory?
default to [/var/lib/centreon]
>

Do you want me to create this directory ? [/var/lib/centreon]
[y/n], default to [n]:
> y

Where is your CentPlugins Traps binary
default to [/usr/local/centreon/bin]
>/usr/local/share/centreon/bin

Do you want me to create this directory ? [/usr/local/share/centreon/bin]
[y/n], default to [n]:
> y

Where is the RRD perl module installed [RRDs.pm]
default to [/usr/lib/perl5/RRDs.pm]
>

Where is PEAR [PEAR.php]
default to [/usr/share/php/PEAR.php]
>

Where is installed Nagios ?
default to [/usr/local/nagios]
>/usr/share/nagios3

Where is your nagios config directory
default to [/usr/local/nagios/etc]
>/etc/nagios3

Where is your Nagios var directory ?
default to [/usr/local/nagios/var]
>/var/lib/nagios3

Where is your Nagios plugins (libexec) directory ?
default to [/usr/local/nagios/libexec]
>/usr/lib/nagios/plugins/

Where is your Nagios image directory ?
default to [/usr/local/nagios/share/images/logos]
>/usr/share/nagios3/htdocs/images/logos

Where is your NDO ndomod binary ?
default to [/usr/sbin/ndomod.o]
>/usr/lib/ndoutils/ndomod-mysql-3x.o

Where is sudo configuration file
default to [/etc/sudoers]
>

Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:
> y

Do you want to add Centreon Apache sub configuration file ?
[y/n], default to [n]:
> y

Do you want to reload your Apache ?
[y/n], default to [n]:
> y

Do you want me to install/upgrade your PEAR modules
[y/n], default to [y]:

Where is your Centreon Run Dir directory?
default to [/var/run/centreon]
>

Do you want me to create this directory ? [/var/run/centreon]
[y/n], default to [n]:
> y

Where is your CentStorage binary directory
default to [/usr/share/centreon/bin]
>

Where is your CentStorage RRD directory
default to [/var/lib/centreon]
>

Do you want me to install CentStorage init script ?
[y/n], default to [n]:
> y

Do you want me to install CentStorage run level ?
[y/n], default to [n]:
> y

Where is your CentCore binary directory
default to [/usr/share/centreon/bin]
>

Do you want me to install CentCore init script ?
[y/n], default to [n]:
> y

Do you want me to install CentCore run level ?
[y/n], default to [n]:
> y

Where is your CentPlugins lib directory
default to [/var/lib/centreon/centplugins]
>

Do you want me to create this directory ? [/var/lib/centreon/centplugins]
[y/n], default to [n]:
> y

Where is your SNMP configuration directory
default to [/etc/snmp]
>

Where is your SNMPTT binaries directory
default to [/usr/local/centreon/bin/]
>/usr/local/share/centreon/bin

[modifier] Configuration

Modifier les droits sur quelques checks :

chmod u+s /usr/lib/nagios/plugins/check_icmp
chmod u+s /usr/lib/nagios/plugins/check_ping
chmod u+s /usr/lib/nagios/plugins/check_centreon_ping

Faire les modificaiton de configuration suivantes dans l'interface de centreon :

Configuration > Nagios > nagios.cfg > Files
Check result directory = /var/lib/nagios3/spool/checkresults

Configuration > Nagios > cgi
URL HTML Path = /nagios3

Configuration > Centreon > ndo2db.cfg > General
Socket Name = /var/run/nagios3/ndo.sock

Configuration > Centreon > ndo2db.cfg > Database
Database Hoster = sys-mysql.hegyd.net

Redémarrer les services :

/etc/init.d/ndoutils restart
/etc/init.d/centstorage restart
/etc/init.d/centcore restart
  • Installer le français :
apt-get install gettext
mkdir -p /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES
wget http://svn.modules.centreon.com/centreon-translations/branches/centreon-2.3/fr/LC_MESSAGES/messages.po -O /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES/messages.po
wget http://svn.modules.centreon.com/centreon-translations/branches/centreon-2.3/fr/LC_MESSAGES/help.po -O /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES/help.po
mkdir -p /usr/local/share/centreon/www/locale/fr_FR.UTF-8/LC_MESSAGES/
msgfmt /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES/messages.po -o /usr/local/share/centreon/www/locale/fr_FR.UTF-8/LC_MESSAGES/messages.mo
msgfmt /usr/local/src/centreon-2.3-translations/fr/LC_MESSAGES/help.po -o /usr/local/share/centreon/www/locale/fr_FR.UTF-8/LC_MESSAGES/help.mo
chown www-data:www-data -R /usr/local/share/centreon/www/locale
service apache2 reload

[modifier] OLD doc

[modifier] Prérequis

  • Un serveur sous système GNU/Linux
  • Cette page de manuel à été faite sous une Debian Squeeze

[modifier] Présentation

  • Nagios3 est un outils de supervision permettant la surveillance système et réseau. Il surveille les hôtes et services spécifiés, alertant lorsque les systèmes se portent mal ou/et bien. C'est un logiciel libre sous licence GPL.
  • Le service est installé sur la Vm Sysadmin.

[modifier] Installation du serveur

  • Installer nagios3
aptitude install nagios3 nagios-nrpe-plugin
  • Configuration

Les fichiers de configuration pour les clients, les templates (hosts, services ...) de nagios se trouve dans :

/etc/nagios3/conf.d/

Le fichier de configuration de nagios lui même se trouve dans :

/etc/nagios3/nagios.cfg
  • Configuration d'un client

Dans le fichier de configuration d'un client vous définissez les services que vous voulez lui associé :

define service{                                                                                                   
    use                             generic-service                            # référence au template de service    
    host_name                       hosting                                    # nom de l'hôte à laquelle on associe le service                                                         
    service_description             SSH                                        # description du service                
    check_command                   check_ssh!argument1!argument2...           # lancement de la commande  les arguments sont séparés par des !   
}

Les commandes sont définis dans le dossier :

/etc/nagios-plugins/config/*.cfg

Si l'on veut définir un service distant avec le plugin Nrpe :

define service{                                                                                                 
    use                             generic-service                               # référence au template de service    
    host_name                       hosting                                       # nom de l'hôte à laquelle on associe le service                                                         
    service_description             SSH                                           # description du service                
    check_command                   check_nrpe!check_ssh! argument1 argument2     # lancement de la commande les arguments sont séparés par des espaces
}

Il faut que la commande soit définis dans le fichier de configuration de Nrpe (voir point suivant)

[modifier] Installation du client (distant)

  • Installer NRPE server et les plugins de bases pour Debian
aptitude install --without-recommends nagios-nrpe-server nagios-plugins fping libnet-snmp-perl snmp
  • Installer NRPE server et les plugins de base pour Fedora
yum install nrpe nagios-plugins-dummy nagios-plugins-load nagios-plugins-ntp nagios-plugins-sensors nagios-plugins-smtp nagios-plugins-disk nagios-plugins-swap nagios-plugins-perl

! Penser à mettre le service au démarrage via la commande suivante !!!

chkconfig nrpe --levels 2345 on


  • Installer les plugins Hegyd
mkdir /usr/local/share/nagios
svn co http://dev.hegyd.net/svn/sysadmin/nagios/hegyd-plugins /usr/local/share/nagios/hegyd-plugins
chmod -R 775 /usr/local/share/nagios
chown -R root:staff /usr/local/share/nagios/hegyd-plugins
ln -s /usr/local/share/nagios/hegyd-plugins/* /usr/local/bin/
  • Configuration de NRPE

Backup de la config d'origine, puis remplacement par la version générique du dépot

cp /etc/nagios/nrpe.cfg /etc/nagios/nrpe.cfg.orig.bak
svn export http://dev.hegyd.net/svn/sysadmin/nagios/nrpe.cfg /etc/nagios/nrpe.cfg

[modifier] Configuration pour le check Apache

  • Activer le module apache extended status
a2enmod status
  • Autorise sysadmin à consulter la page de status

Editer le fichier "/etc/apache2/mods-enabled/status.conf" :

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1 ::1
        Allow from 178.33.76.41
        Allow from 46.18.122.14
        AuthUserFile /var/projects/common/.htpasswd
        AuthName "Acces reserve"
        AuthType Basic
        require user mike albin emmanuel gael
        Satisfy Any
</Location>

# Keep track of extended status information for each request
ExtendedStatus On

[modifier] Configuration pour les check Mysql

Ajouter l'utilisateur nagios dans le cli Mysql :

CREATE USER nagios@localhost IDENTIFIED BY PASSWORD '*D2E12CBA3CE3E704A874AC1703D59044D8B1D61D';
GRANT PROCESS ON *.* TO 'nagios'@'localhost' IDENTIFIED BY PASSWORD '*D2E12CBA3CE3E704A874AC1703D59044D8B1D61D';
  • Notes

Il faut ouvrir le port 5666 par défaut pour le service nrpe.

Dans le fichier de configuration, /etc/nagios/nrpe.cfg, modifier la ligne suivante pour autoriser le passage de paramètres aux commandes lancées via Nrpe

dont_blame_nrpe=1

Il faut aussi commenter les exemples de commandes par défaut et ainsi mettre les commandes souhaitées en suivant ce principe :

command[nom_de_la_commande]=chemin_absolu_vers_le_plugin [option $ARG1$] [option2 $ARG2$]

[modifier] Gestion des spool mails

La gestion du volume de mail par spool se fait via le démon mailgraph qui analyse le log mail.log en temps réel afin d'en sortir des statistics. Normalement, les statistiques sont directement stockées dans une fichier rrd, mais il est possible de patcher le script afin qu'il log dans un fichier et exloiter les données via NRPE.

  • Procédure :

Installer mailgraph packagé sans installer les dépendances apache recommandés :

apt-get install mailgraph --no-install-recommends
/etc/init.d/mailgraph stop
cp /usr/sbin/mailgraph /usr/local/sbin/
wget http://www.linuxplayer.org/wp-content/uploads/2011/03/check_mailstat_plugin_v0.9.1.zip
unzip check_mailstat_plugin_v0.9.1.zip
cd check_mailstat_plugin_v0.9.1
patch /usr/local/sbin/mailgraph mailgraph.patch
vim /etc/init.d/mailgraph
DAEMON="/usr/local/sbin/mailgraph"
/etc/init.d/mailgraph start


[modifier] TODO

  • Check si les firewall sont bien chargé
  • check du service nagios via pingdom
  • check Gluster,bacula, nb connection CloseWait par ip