Nagios

De Hegyd Doc.

(Différences entre les versions)
(Installation du client sur Debian)
(Installation du client sur Debian)
Ligne 35 : Ligne 35 :
dpkg -i /tmp/nagios-nrpe-server_2.15-1_amd64.deb
dpkg -i /tmp/nagios-nrpe-server_2.15-1_amd64.deb
</pre>
</pre>
 +
Si l'installation échoue avec un message :
Si l'installation échoue avec un message :
 +
'' nagios-nrpe-server : Dépend: libssl1.0.0 (>= 1.0.0) mais il n'est pas installable''
'' 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/ :  
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 :
fichier libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb à copier sur la VM :
 +
<pre>                                                                                                                                                                     
<pre>                                                                                                                                                                     
scp /root/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb root@IPVM:/tmp
scp /root/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb root@IPVM:/tmp
dpkg -i /libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb
dpkg -i /libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb
-
</pre>
+
#puis refaire :
-
puis refaire :
+
-
<pre>
+
dpkg -i /tmp/nagios-nrpe-server_2.15-1_amd64.deb
dpkg -i /tmp/nagios-nrpe-server_2.15-1_amd64.deb
</pre>
</pre>
 +
Puis enfin :
Puis enfin :
 +
<pre>
<pre>
service nagios-nrpe-server restart
service nagios-nrpe-server restart

Version du 24 octobre 2019 à 15:37

Sommaire

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

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 :

                                                                                                                                                                    
scp /root/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb root@IPVM:/tmp
dpkg -i /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

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 :

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$]

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

Installation serveur Nagios + Centreon sur Debian 6

Nous utiliserons le serveur sys-mysql pour la BDD

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

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

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

OLD doc

Prérequis

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

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.

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)

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

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

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$]

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


TODO

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