User:Noah2/Icinga
Icinga est un programme open source de gestion de serveurs, de services et de réseaux. Il gère des serveurs et services spécifiés par l'utilisateur, qui alerte en cas de problèmes, d'erreur, ou d'améliorations. Cet article traite de l'installation et de la configuration d'Icinga.
Installation
Avant d'installer le paquet d'Icinga, créer l'utilisateur suivant icinga:icinga
, à l'aide des commandes suivantes:
# groupadd -g 667 icinga # useradd -u 667 -g icinga -G http -d /dev/null -s /bin/false icinga
Installez le paquet icingaAUR ou le paquet icinga2AUR à partir de l'AUR.
Les utilisateurs peuvent aussi installer monitoring-plugins à partir des dépôts Communautaires.
La configuration d'Icinga
Copiez les examples de fichiers de configurations en tant que root:
# cd /etc/icinga # cp cgi.cfg.sample cgi.cfg # cp resource.cfg.sample resource.cfg # cp icinga.cfg.sample icinga.cfg # cp objects/commands.cfg.sample objects/commands.cfg # cp objects/contacts.cfg.sample objects/contacts.cfg # cp objects/localhost.cfg.sample objects/localhost.cfg # cp objects/templates.cfg.sample objects/templates.cfg # cp objects/timeperiods.cfg.sample objects/timeperiods.cfg
Editez /etc/icinga/resource.cfg
:
/etc/icinga/resource.cfg
# Default monitoring plugins $USER1$=/usr/lib/monitoring-plugins # or legacy Nagios plugins #$USER1$=/usr/share/nagios/libexec
Configuration d'Icinga 2
Icinga 2 utilise par défaut les fichiers et les répertoires suivants:
# /etc/icinga2 Contient les fichiers de configurations d'Icinga 2 # /etc/init.d/icinga2 Contient le script d'initialisation d'Icinga 2 # /usr/sbin/icinga2* Contient le binaire d'Icinga 2 # /usr/share/doc/icinga2 Contient la documentation inclut par défaut d'Icinga 2. # /usr/share/icinga2/include Contient la bibliothèque de modèles/templates d'Icinga et la configuration des commandes dédiés aux plugins. # /var/run/icinga2 Contient le fichier PID # /var/run/icinga2/cmd Contient le socket de status, et la sortie de commandes. # /var/cache/icinga2 Contient les fichiers status.dat/objects.cache, icinga2.debug # /var/spool/icinga2 Utilisé par les fichiers de récupérations de données. # /var/lib/icinga2 Contient le fichier d'état d'Icinga 2, journal des logs de services, local CA et des fichiers de configurations. # /var/log/icinga2 Emplacement du fichier log et le dossier compat/ dédié à la fonction CompatLogger.
Configuration du serveur web
Créer le fichier htpasswd.users avec un nom d'utilisateur et un mot de passe.
# htpasswd -c /etc/icinga/htpasswd.users icingaadmin
Si vous définissez foo un autre utilisateur, vous devrez lui octroire des permissions. Modifiez ce fichier /etc/icinga/cgi.cfg
authorized_for_system_information=icingaadmin,foo authorized_... ...
Configuration supplémentaire de Nginx
Configurer l'authentification:
location /icinga/ { alias /usr/share/webapps/icinga/; auth_basic "Restricted"; auth_basic_user_file /etc/icinga/htpasswd.users; }
Configurer le CGI:
location ~ ^/icinga/(.*)\.cgi$ { root /usr/share/webapps/; fastcgi_pass unix:/var/run/fcgiwrap.sock; include fastcgi.conf; fastcgi_param AUTH_USER $remote_user; fastcgi_param REMOTE_USER $remote_user; }
Icinga-web
Suivez Install Web Application Package.
Installez icinga-webAUR à partir de l'AUR.
Configurer IDOUtils
# cd /etc/icinga # mv idomod.cfg-sample idomod.cfg # mv ido2db.cfg-sample ido2db.cfg # cd /etc/icinga/modules # mv idoutils.cfg-sample idoutils.cfg ! Configuration de la base de données (Mysql) $ mysql -u root -p > CREATE USER 'icinga'@'localhost' IDENTIFIED BY 'icinga'; > CREATE DATABASE icinga; > GRANT USAGE ON icinga.* TO 'icinga'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0; > GRANT SELECT , INSERT , UPDATE , DELETE, DROP, CREATE VIEW, INDEX ON icinga.* TO 'icinga'@'localhost'; > FLUSH PRIVILEGES; > quit $ mysql -u root -p icinga < /usr/share/icinga/idoutils/db/mysql/mysql.sql
Configurer le serveur web
Des examples de fichiers de configuration sont présents dans les fichiers suivants:
/etc/icinga-web/apache.example.conf /etc/icinga-web/nginx.example.conf
Si vous obtenez l'erreur 503 'Access denied', vérifiez dans ces fichiers de configurations si vous êtes autorisé à visiter la page web:
Order allow,deny Allow from all
dans les sections <Directory "/usr/local/icinga-web/lib/ext3/"> et <Directory "/usr/local/icinga-web/pub/">.
Configurer PHP
Éditez le fichier /etc/php.ini
open_basedir = ...:/usr/share/icinga-web:/var/cache/icinga-web:/var/log/icinga extension=pdo_mysql extension=xsl extension=sockets
Configurer la base de données
MySQL
! Créer une base de données, et des permissions. # mysql -u root -p > CREATE USER 'icinga_web'@'localhost' IDENTIFIED BY 'icinga_web'; > CREATE DATABASE icinga_web; > GRANT USAGE ON icinga_web.* TO 'icinga_web'@'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0; > GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX ON icinga_web.* TO 'icinga_web'@'localhost'; > quit ! Importer le modèle. # mysql -u root -p icinga_web < /usr/share/icinga-web/etc/schema/mysql.sql
Pour finir
! Démarrer IDOUtils # systemctl start ido2db ! Démarrer Icinga # systemctl start icinga ! Démarrer Mysql # systemctl start mysqld ! Démarrer le serveur web # systemctl start httpd ou nginx ! Rendez-vous sur http://localhost/icinga-web > login with 'root' and 'password'
Mettre à jour la base de données
Une nouvelle version nécessite généralement une mise à jour de la base de données. Voici le script de mise à jour SQl:
/usr/share/icinga/idoutils/db/mysql/upgrade /usr/share/icinga-web/etc/schema/updates/mysql
Les commandes pour mettre à jour avec ces script sont:
# mysql -u root -p icinga < ./mysql-upgrade-1.8.0.sql # mysql -u root -p icinga_web < ./mysql_v1-7-2_to_v1-8-0.sql # systemctl --system daemon-reload # systemctl restart icinga
Regardez aussi
- icinga.org - Site officiel
- monitoring-plugins - Plugins par défaut d'Icinga et pour d'autre application de gestion.
- Nagios Plugins - La maison des premiers plugins.
- Wikipedia article
- NagiosExchange - Présentation des plugins, addons, et de la mailing list pour Icinga