Nagios Centreon Debian

From Wikichris
Jump to: navigation, search

Nous allons voir ci dessous comment effectuer une installation de l'outil open source de supervision NAGIOS ainsi que de l'interface web Centreon.


Pré-requis:

  • Un serveur Debian à jour (dans mon cas ca sera sur une debian Squeeze mais je pense que cela fonctionne aussi sur les versions plus récentes)
  • Des sources apt updatées (si ce n'est pas le cas exécutez la commande sudo apt-get update)
  • Le firewall de votre serveur doit pouvoir laisser entrer et sortir les trames udp sur les ports 161 et 162 ainsi que les trames tcp sur le port 5668
  • Des périphériques à monitorer

On va commencer par télécharger tout ce dont nous allons avoir besoin :

apt-get install make apache2 php5 php5-mysql php-pear php5-ldap php5-snmp php5-gd mysql-server-5.0 libmysqlclient15-dev rrdtool librrds-perl  libconfig-inifiles-perl snmp snmpd libnet-snmp-perl libgd2-xpm libgd2-xpm-dev libpng-dev debconf-utils libglib2.0-dev snmp-mibs-downloader wget libapache2-mod-php5 build-essential libssl-dev gettext locales sudo
cd /usr/local/src/
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz
wget http://downloads.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.5.2/ndoutils-1.5.2.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
wget http://download.centreon.com/centreon/centreon-2.3.9.tar.gz

NB : Les commandes suivantes sont à éxécuter avec les droits roots. (utilisez sudo su pour les acquérir)

Etape 1 : On cree les users et les groupes pour nagios

useradd -m nagios
passwd nagios
groupadd nagcmd
usermod -a -G nagcmd www-data

Etape 2 : Installation de Nagios

tar -xzf nagios-3.4.1.tar.gz
cd nagios
./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --enable-nanosleep --enable-event-broker
make all
make install
make install-init
make install-commandmode
make install-config

Créer le dossier en lecture écriture

mkdir /usr/local/nagios/var/rw
chown nagios.www-data /usr/local/nagios/var/rw

Créer la config apache

vi /etc/apache2/conf.d/nagios.conf
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
#  SSLRequireSSL
  Options ExecCGI
  AllowOverride None
  Order allow,deny
  Allow from all
#  Order deny,allow
#  Deny from all
#  Allow from 127.0.0.1
  AuthName "Nagios Access"
  AuthType Basic
  AuthUserFile /usr/local/nagios/etc/htpasswd.users
  Require valid-user
</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">
#  SSLRequireSSL
  Options None
  AllowOverride None
  Order allow,deny
  Allow from all
#  Order deny,allow
#  Deny from all
#  Allow from 127.0.0.1
  AuthName "Nagios Access"
  AuthType Basic
  AuthUserFile /usr/local/nagios/etc/htpasswd.users
  Require valid-user
</Directory>

ajouter un utilisateur

htpasswd -c admin /usr/local/nagios/etc/htpasswd.users

vérifier le fonctionnement

/etc/init.d/apache restart

aller sur http://serveur/nagios/

Etape 3 : Installation de NDOUtils

cd /usr/local/src/
tar -zxf ndoutils-1.5.2.tar.gz
cd ndoutils-1.5.2
./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios
make

Comme il n'y a pas de make install, nous devons terminer l'install à la main

cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db
cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
chmod 774 /usr/local/nagios/bin/ndo*
chown nagios:nagios /usr/local/nagios/bin/ndo*
chown nagios:nagios /usr/local/nagios/etc/ndo*

Puis, on ajoute le script de démarrage:

chmod +x daemon-init
cp daemon-init /etc/init.d/ndo2db
update-rc.d ndo2db defaults

Etape 4 : Installation des plugins

cd /usr/local/src/
tar -xzf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl --enable-perl-modules
make
make install



Etape 5 : Installation de Centreon

cd /usr/local/src/
tar -zxf centreon-2.3.9.tar.gz
cd centreon-2.3.9

Et on démarre l'installation en mode interractif avec la commande

./install.sh -i

Et on réponds aux questions ...

Sauf cas contraire, on répondra par défaut aux questions posées. Lorsque nous avons la questions concernant le path vers ndomod.o, on devra renseigner

/usr/local/nagios/bin/ndomod.o

Une fois que tout est terminé, on aura juste à aller sur l'url : http://mondomaine.tld/centreon

User Nagios

/main.php?p=60707&o=c&cgi_id=10 shows

nagiosadmin

replace it everywhere by

nagios

Touche finale

Pour se débarrasser des emails

Cron <root@srv-test> [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete
No log handling enabled - turning on stderr logging
Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }
Undefined identifier: mib-2 near line 18 of /usr/share/mibs/ietf/IPATM-IPMC-MIB
Bad operator (INTEGER): At line 73 in /usr/share/mibs/ietf/SNMPv2-PDU
Undefined OBJECT-GROUP (diffServMIBMultiFieldClfrGroup): At line 2195 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Undefined OBJECT-GROUP (diffServMultiFieldClfrNextFree): At line 2157 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Undefined OBJECT-GROUP (diffServMIBMultiFieldClfrGroup): At line 2062 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Expected "::=" (RFC5644): At line 493 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Expected "{" (EOF): At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad object identifier: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad parse of OBJECT-IDENTITY: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB

le lancer de snmp-mibs-downloader

/usr/bin/download-mibs

Et si ca ne suffit toujours pas

mkdir ~/mibs.backup
mv /usr/share/mibs/ietf/IPATM-IPMC-MIB ~/mibs.backup/
mv /usr/share/mibs/ietf/SNMPv2-PDU ~/mibs.backup/
mv /usr/share/mibs/ietf/IPSEC-SPD-MIB ~/mibs.backup/
mv /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB ~/mibs.backup/


seconde modification

une autre astuce était indiquée, mais je ne suis pas encore sûr qu'elle soit utile

remplacer dans /etc/init.d/ndo2db

# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog

puis ajouter dans /etc/init.d/nagios

### BEGIN INIT INFO
# Provides: nagios
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
update-rc.d nagios defaults
update-rc.d ndo2bd defaults

redémarrer tous les daemons

On redémarre tout

/etc/init.d/ndo2db restart
/etc/init.d/nagios restart
/etc/init.d/apache2 restart

Coté Client

Du coté des serveurs Debian que vous souhaitez Monitorer, il faut ouvrir le port 161 en UPD pour vos serveur

Installer le Daemon SNMPd

apt-get install snmpd

Modifier /etc/snmp/snmpd.conf (ici j'autorise mon serveur avec son IPv4 et IPv6 avec le nom de communauté "MyCommunityName"

#  Listen for connections from the local system only
#agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
# rocommunity public  default    -V systemonly
rocommunity MyCommunityName 81.57.57.57
rocommunity MyCommunityName 2001:db8:13:66bb:1::223
sysLocation   Perpignan, France
syscontact    Chris <admin@mydomaine.com>

et toujours dans le même fichier, adapter les disk à votre usage

puis redémarrer pour prendre en compte les changement

/etc/init.d/snmpd restart

Dépannage

Centreon commençait à planter trop souvent, les symptomes étaient :

  • le Poller était souvent stoppé
  • message dans /etc/syslog: ndo2db: Warning: Retrying message send. This can occur because you have too few messages allowed or too few total bytes allowed in message queues. You are currently using 16 of 990 messages and 16384 of 16384 bytes in the queue. See README for kernel tuning options.

J'ai donc augmenté le nombre de bytes autorisés, le passant de 16k à 1.6M en ajoutant dans /etc/sysctl.conf

#centreon and ndo2db needed more bytes allowed
#kernel.msgmnb = 16384
kernel.msgmnb = 1638400

et pour prendre en compte le changement

sysctl -p