Installer Nagios sur Debian
Nagios est un logiciel de supervision d'infrastructure informatique très puissant. Il permet d'obtenir des informations détaillées sur le fonctionnement des serveurs, ainsi que des alertes mail, SMS et autres. Ce guide vous aide à l'installer depuis les sources sur Debian.
Ce guide est obsolète. Utilisez la nouvelle version sur le Help Desk Biapy:
Installer Nagios sur Debian
Ce guide a été testé avec les distributions suivantes :
- Debian 5.0 Lenny
- Debian 6.0 Squeeze
Pré-requis
Ce guide nécessite un serveur Apache 2 avec support du PHP 5 disposant du script suivant :
- Le script a2tools disponible dans mon guide Installer Apache 2 sur Debian.
Paramètres
Renseignez le nom de domaine ou sera disponible l'application :
DOMAIN="nagios.domaine-exemple.fr"
Installation
Installez les paquets nécessaires à la mise en place de Nagios :
command apt-get install wget build-essential subversion\ libgd2-xpm-dev traceroute libltdl3-dev \ libssl-dev libgnutls-dev libbind-dev \ libpq-dev libkrb5-dev libradius1-dev libldap2-dev \ libmysqlclient15-dev openssh-client fping \ dnsutils turqstat snmp openssl mysql-client postgresql-client \ qstat libsnmp-perl libsnmp-session-perl libnet-snmp-perl
Mise en place du cœur de Nagios
Récupérez l'URL de la dernière version de Nagios :
SOURCE_URL="$(command wget --output-document=- --quiet \ 'http://sourceforge.net/projects/nagios/' \ | command grep 'href=.*nagios-.*.tar.gz' \ | command sed -e 's/^.*href="\([^"]*\)".*$/\1/')"
Récupérez le numéro de version à partir de l'URL :
VERSION=$(command echo "${SOURCE_URL}" \ | command sed -e 's/^.*nagios-\([^/]*\).tar.gz.*$/\1/')
Installez les sources du logiciel :
command wget "${SOURCE_URL}" \ --output-document="/tmp/nagios-${VERSION}.tar.gz"
Décompressez l'archive ainsi obtenue :
command tar --directory "/tmp" -xzf "/tmp/nagios-${VERSION}.tar.gz"
Placez-vous dans le dossier créé par la commande précédente :
command cd "/tmp/nagios-${VERSION}"
Renseignez l'emplacement de l'installation :
./configure \ --prefix="/usr/share/nagios" \ --bindir="/usr/bin" \ --with-lockfile="/var/lock/nagios.lock" \ --with-checkresult-dir="/var/spool/nagios/checkresult" \ --with-httpd-conf="/etc/apache2/conf.d" \ --sysconfdir="/etc/nagios" \ --sharedstatedir="/var/lib/nagios/com" \ --localstatedir="/var/lib/nagios/var" \ --datadir="/usr/share/nagios/html" \ --with-cgiurl="/cgi-bin" \ --with-htmlurl="/"
Lancez la compilation :
command make all
Une fois la compilation terminée, créez l'utilisateur système dédié à Nagios :
command adduser --system \ --home "/usr/share/nagios" \ --no-create-home \ --group nagios
Installez le coeur de Nagios :
command make install
Mettez en place les exemples de configuration :
command make install-config
Mettez en place le fichier init.d de Nagios :
command make install-init
Ajoutez Nagios au démarrage du système :
command update-rc.d nagios defaults
Créez le dossier destiné à recevoir les logs de Nagios :
command mkdir "/var/log/nagios" command chown nagios:nagios "/var/log/nagios"
Ajout des plugins Nagios
Récupérez l'URL de la dernière version des plugins :
SOURCE_URL="$(command wget --output-document=- --quiet \ 'http://sourceforge.net/projects/nagiosplug/' \ | command grep 'href=.*nagios-plugins-.*.tar.gz' \ | command sed -e 's/^.*href="\([^"]*\)".*$/\1/')"
Récupérez le numéro de version à partir de l'URL :
VERSION=$(command echo "${SOURCE_URL}" \ | command sed -e 's/^.*nagios-plugins-\([^/]*\).tar.gz.*$/\1/')
Téléchargez les sources des plugins Nagios :
command wget "${SOURCE_URL}" \ --output-document="/tmp/nagios-plugins-${VERSION}.tar.gz"
Décompressez l'archive ainsi obtenue :
command tar --directory "/tmp" -xzf "/tmp/nagios-plugins-${VERSION}.tar.gz"
Placez-vous dans le dossier ainsi créé :
command cd "/tmp/nagios-plugins-${VERSION}"
Configurez l'installation des plugins :
./configure --prefix="/usr/share/nagios"
Lancez la compilation :
command make
Installez les plugins :
command make install
Mise en place d'une configuration modulaire
Afin d'accélérer la gestion quotidienne de l'application, j'ai modularisé la structure de la configuration de Nagios pour la remplacer par une infrastructure de dossier "available" / "enabled" similaire à celle d'Apache 2 sur Debian. Suivez les instructions qui suivent pour mettre en place cette structure modulaire.
Sauvegardez la configuration par défaut mise en place par la procédure d'installation :
command mv '/etc/nagios' '/etc/nagios.orig'
Téléchargez l'archive de la configuration modulaire :
command wget 'http://howto.landure.fr/gnu-linux/debian-4-0-etch/installer-nagios-sur-debian/nagios-tar.gz' \ --output-document='/tmp/nagios.tar.gz'
Décompressez le fichier téléchargé :
command tar --directory='/etc' -xzf '/tmp/nagios.tar.gz'
Mettez en place les scripts d'assistance à la configuration de l'application :
/etc/nagios/scripts/install-tools.sh
Configuration du serveur Web
Activez la configuration de Nagios spécifique à votre serveur HTTP à l'aide de l'outil a2tools :
command a2tools add-custom "${DOMAIN}" " # Fix nagios charset display. AddDefaultCharset UTF-8 ScriptAlias /cgi-bin /usr/share/nagios/sbin <Directory /usr/share/nagios/sbin> AllowOverride AuthConfig Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all AuthName \"Nagios Access\" AuthType Basic AuthUserFile /etc/nagios/htpasswd.users require valid-user </Directory> DocumentRoot /usr/share/nagios/html/ <Directory /usr/share/nagios/html/> Options Indexes FollowSymLinks MultiViews AllowOverride AuthConfig Order allow,deny allow from all AuthName \"Nagios Access\" AuthType Basic AuthUserFile /etc/nagios/htpasswd.users require valid-user </Directory> "
Faites en sorte que le fichier des commandes nagios puisse être modifié par le serveur HTTP :
command chown www-data:nagios '/var/lib/nagios/var/nagios.cmd'
Paramétrage initial
Afin que votre configuration de Nagios soit fonctionnelle, activez une configuration minimale :
command nagios-enable-timeperiod 24x7 command nagios-enable-contactgroup admins command nagios-enable-hostgroup servers command nagios-enable-host-template \ generic-host linux-server windows-server command nagios-enable-host localhost command nagios-enable-service-template \ generic-service local-service network-service command nagios-enable-service \ localhost-disk-root localhost-load localhost-ping localhost-apt \ localhost-total-procs localhost-zombie-procs localhost-users command nagios-enable-servicegroup \ disks loads pings procs ssh swaps upgrades users
Créez le contact d'administration de votre outil à l'aide de l'outil nagios-tools :
command nagios-tools add-contact "admin" "Nagios administrator" "root@localhost" "admins"
Assignez-lui un mot de passe, et notez précieusement les paramètres d'identification ainsi obtenus :
command nagios-tools set-contact-password "admin"
Premier démarrage
Vérifiez que la configuration ne contient aucune erreur :
command nagios -v /etc/nagios/nagios.cfg
Si cette commande ne vous signale aucune erreur, démarrez le démon de surveillance :
/etc/init.d/nagios start
Vous pouvez maintenant accédez à l'outil via l'URL fournie par la commande :
command echo "http://${DOMAIN}"
Utilisez l'utilisateur configuré précédemment dans ce guide pour vous identifier.
Description succincte des outils mis en place par ce guide
Ce guide met en place quelques outils destinés à simplifier l'administration de Nagios. Le principal est le script nagios-tools. Ce script permet de créer simplement et rapidement des services, des hôtes, des contacts, etc... Par exemple, pour créer un "host" nagios pour le serveur "mon-serveur.domaine.fr", utilisez la commande :
command nagios-tools add-host "mon-serveur.domaine.fr" "servers"
L'adresse IP du serveur est détectée automatiquement, la configuration est créée dans le dossier hosts-available, activée, et le service nagios est redémarré automatiquement si la configuration obtenue ne contient aucune erreur.
Pour en savoir plus sur les fonctionnalités de nagios-tools, je vous invite à expérimenter en vous basant sur la documentation minimale fournie par la commande :
command nagios-tools
En complément de nagios-tools, ce guide met en place des scripts permettant d'activer ou de désactiver rapidement des morceaux de configuration nagios. Le fonctionnement de ces scripts est similaire à celui des scripts Apache 2 a2ensite et a2dissite. Pour obtenir la liste des scripts d'administration de la configuration Nagios disponibles, utilisez cette commande :
command find '/usr/bin' -type l -name 'nagios-*able-*' | command sort
Les dossiers correspondants à ce scripts se trouvent dans le dossier de configuration /etc/nagios.
Exemple de configuration
Si vous gérez plusieurs serveurs, hébergeant des sites Plone 3, Wordpress, Redmine, vTiger, voici un exemple complet de configuration.
Organisation des services
Créez un groupe de services destiné à grouper les réponses aux ping de vos serveurs :
command nagios-tools add-servicegroup pings "Ping replies"
Créez un groupe de services destiné à grouper l'état des serveurs SSH de vos serveurs :
command nagios-tools add-servicegroup ssh "SSH servers"
Créez un groupe de services destiné à grouper l'état des sites Wordpress de vos serveurs :
command nagios-tools add-servicegroup wordpress "Wordress sites"
Créez un groupe de services destiné à grouper l'état de vos serveurs de base de données :
command nagios-tools add-servicegroup databases "Database servers"
Ajout d'un serveur
Voici un exemple de procédure d'ajout de serveur. Renseignez le nom d'hôte du serveur :
SERVER="server.domaine.fr"
Ajoutez l'hôte Nagios pour le serveur (l'adresse IP est détectée automatiquement si le nom de votre serveur est un nom de domaine valide) :
command nagios-tools add-host "${SERVER}" "servers"
Remarque : "servers" est le groupe de serveur dans lequel nous ajoutons notre serveur.
Ajoutez le service de vérification du ping pour le serveur :
command nagios-tools add-service "${SERVER}" "pings" "ping"
Ajoutez le service de vérification de la connexion SSH pour le serveur :
command nagios-tools add-service "${SERVER}" "ssh" "ssh"
- Ajout d'un site internet sur le serveur :
Pour ajoutez une vérification d'hébergement de site Wordpress sur votre serveur, utilisez la commande suivante (l'URL du site Wordpress à vérifier est la valeur graissée. Modifiez-la à votre convenance) :
command nagios-tools add-service "${SERVER}" "wordpress" "http" "http://blog.domaine.fr"
Remarque : la valeur "wordpress" correspond au groupe de services auquel est ajouté le service.
Pour allez plus loin
Installation de l'extension de surveillance délocalisée NRPE
L'add-on NRPE permet de surveiller les caractéristiques de machines distances (utilisation CPU, espace disque, etc...). Il est indispensable si vous devez surveiller un parc de serveurs. Cet add-on se divise en deux parties : une extension Nagios a mettre en place sur votre instance, et un démon à installer sur la machine distante.
Récupérez l'URL de la dernière version de l'extension :
SOURCE_URL="$(command wget --output-document=- --quiet \ 'http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE-%252D-Nagios-Remote-Plugin-Executor/details' \ | command grep 'href=.*nrpe-.*.tar.gz' \ | command sed -e 's/^.*href="\([^"]*\)".*href.*$/\1/')"
Récupérez le numéro de version à partir de l'URL :
VERSION=$(command echo "${SOURCE_URL}" \ | command sed -e 's/^.*nrpe-\([^/]*\).tar.gz.*$/\1/')
Téléchargez les sources :
command wget "${SOURCE_URL}" \ --output-document="/tmp/nrpe-${VERSION}.tar.gz"
Décompressez l'archive ainsi obtenue :
command tar --directory "/tmp" -xzf "/tmp/nrpe-${VERSION}.tar.gz"
Placez-vous dans le dossier ainsi créé :
command cd "/tmp/nrpe-${VERSION}"
Configurez l'installation du plugin :
./configure --prefix="/usr/share/nagios"
Lancez la compilation :
command make check_nrpe
Installez l'extension NRPE sur votre système :
command make install-plugin
Ajoutez la commande check_nrpe à votre configuration Nagios :
echo 'define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }' | tee /etc/nagios/commands-available/check_nrpe.cfg command nagios-enable-command check_nrpe
Vous pouvez maintenant surveiller les machines exécutant le démon NRPE à distance.
Si vous souhaitez mettre en place une surveillance via NRPE sur l'un de vos serveur, je vous invite à lire Installer l'outil de supervision distante NRPE sur Debian.
Pour plus d'information sur l'installation de NRPE sur les machines distantes, je vous invite à lire Monitorer les hôtes Linux (Debian) distant avec le serveur NRPE de Nagios.
Remerciements
- Merci aux développeurs du logiciel de supervision d'infrastructure informatique Nagios
- Merci au site Monitoring Exchange pour la mise à disposition de nombreux plugins Nagios.
- Merci au site Monitoring-fr pour ses nombreuses informations, et ses guides d'installation.
erreurs
/usr/bin/install: omission du répertoire « includes/rss/extlib »
/usr/bin/install: omission du répertoire « includes/rss/htdocs »
/usr/bin/install: omission du répertoire « includes/rss/scripts »
make[1]: *** [install] Erreur 1
make[1]: quittant le répertoire « /usr/src/nagios/html »
make: *** [install] Erreur 2
pour les résoudre :
Ouvrir le fichier Makefile avec la commande « nano -c /usr/src/nagios/html/Makefile »
-Ligne 78
Remplacer « for file in includes/rss/*; \ » par « for file in includes/rss/*.*; \ »
-Ligne 80
Remplacer « for file in includes/rss/extlib/*; \ » par « for file in includes/rss/extlib/*.*; \ »
Urw 8 Fhww Jgd
мега сб
Hellow,Admin, Indeed, this thought is very opportune: https://xn--meg-at-rta.com
Одно из главных преимуществ MEGA <a href=https://xn--mg-sb-ucc0132c.com>магазин мега</a> - это гарантированная защита и безопасность сделок. Администрация площадки контролирует каждую сделку, чтобы исключить возможность мошенничества. Вы можете быть уверены, что ваша конфиденциальность будет защищена, и сделки будут безопасными.
- <a href=https://xn--mgasb-6za.com>мега даркнет</a>
- <a href=https://xn--meg-gla.com>мега как зайти</a>
- <a href=https://xn--mgasb-n51b.com>ссылки mega</a>
- <a href=https://xn--mgasb-n51b.com>мега как зайти</a>
HHJIGO65o19!
мега ссылка тор
Hi,Admin, Great point, this is exactly what is needed: https://mega-sb4.com
Мега - это лучший вариант для покупки и продажи продуктов в онлайн-пространстве <a href="https://xn--mgasb-6za.com">mega зеркало</a> . Он является крупнейшей и наиболее известной анонимной торговой площадкой в СНГ. Здесь вы найдете огромное количество селлеров и магазинов из разных стран, предлагающих широкий ассортимент продуктов. Будь то электроника, одежда, аксессуары или что-то еще, MEGA предлагаетвсе, что вам нужно.
- <a href=https://mega-sb4.com>мега площадка</a>
- <a href=https://xn--meg-at-rta.com>mega зеркало</a>
- <a href=https://xn--mgasb-6za.com>мега даркнет</a>
- <a href=https://xn--meg-at-rta.com>mega ссылка</a>
KKAKABBKKA!
Petites erreurs
La commande est "nagios-enable-hosts-template" et NON PAS "nagios-enable-host-template" avec host sans 's'.
Donc la bonne commande :
command nagios-enable-hosts-template \
generic-host linux-server windows-server
La commande suivante :
command chown www-data:nagios '/var/lib/nagios/var/nagios.cmd'
Doit être effectuée après un premier démarrage de nagios, sinon le fichier n'existe pas.
Merci pour le tuto :)