Icinga 2 est un logiciel de surveillance OpenSource évolutif. Ce tutoriel décrit l'installation d'Icinga 2 avec Icingaweb sur un serveur CentOS 7.
1. Exigences
Pour installer un tel système, vous aurez besoin des éléments suivants :
- Un système de serveur minimal Centos 7. Il peut s'agir d'un serveur installé à partir de zéro comme décrit dans le didacticiel du serveur minimal Centos 7.1 ou d'un serveur virtuel ou d'un serveur racine d'une société d'hébergement sur laquelle une configuration minimale de Centos 7 est installée.
- Une connexion Internet rapide.
2. Remarques préliminaires
- Dans ce tutoriel, j'utilise le nom d'hôte icinga2.domain.tld avec l'adresse IP 192.168.250.100/24 et la passerelle 192.168.250.254. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant.
- Les résultats affichés ici ne sont qu'un exemple et peuvent différer sur votre système, en fonction de votre système de base et des packages déjà installés.
- Le serveur de base de données sera maria db et sera installé sur le même hôte.
- Un administrateur d'utilisateurs existe et figure dans la liste des sudoers.
- Nous allons désactiver SELinux pour ce tutoriel.
3. Préparation
Connectez-vous en tant qu'administrateur
connectez-vous en tant que :mot de passe de l'administrateur[email protected] :[[email protected] ~]$
Vérifier la connectivité réseau
nous allons tester si notre connexion Internet est établie et si la résolution de noms fonctionne :
ping www.google.de -c3
La sortie ressemblera à :
[[email protected] ~]$ ping www.google.de -c3PING www.google.de (172.217.20.67) 56(84) octets de données.64 octets de fra02s27-in-f3.1e100.net ( 172.217.20.67) :icmp_seq=1 ttl=57 time=19,2 ms64 octets de fra02s27-in-f3.1e100.net (172.217.20.67) :icmp_seq=2 ttl=57 time=19,3 ms64 octets de fra02s27-in-f3. 1e100.net (172.217.20.67):icmp_seq=3 ttl=57 time=19.6 ms--- www.google.de statistiques ping ---3 paquets transmis, 3 reçus, 0% de perte de paquets, temps 2001msrtt min/avg/ max/mdev =19.276/19.430/19.649/0.195 ms[[email protected] ~]$
Passer à la racine
Maintenant, nous allons nous enraciner. Pour ce faire, saisissez :
sudo su
La sortie ressemblera à :
[[email protected] ~]$ sudo suNous espérons que vous avez reçu la conférence habituelle de l'administrateur système local. Cela se résume généralement à ces trois choses :#1) Respectez la vie privée des autres. #2) Réfléchissez avant de taper. #3) Un grand pouvoir s'accompagne d'une grande responsabilité.[sudo] mot de passe pour l'administrateur :[[email protected] administrator]#
Installer le logiciel préliminaire
Nous allons maintenant installer quelques logiciels préliminaires :
- deltarpm réduira le montant à télécharger, en vérifiant s'il n'y a qu'un fichier différentiel, au lieu du paquet entier
- nano est un éditeur de texte
- wget est nécessaire pour télécharger des fichiers à partir d'URL
- net-tools est nécessaire pour certains contrôles sur les processus réseau
- gcc est le compilateur GNU
yum -y install deltarpm
La sortie ressemblera à :
Plug-ins chargés :base de miroir la plus rapide | 3.6 Ko 00:00:00extras | 3,4 Ko 00:00:00mises à jour | 3,4 Ko 00:00:00(1/4) :extras/7/x86_64/primary_db......Taille totale du téléchargement :82 kTaille installée :209 kTéléchargement des packages :avertissement :/var/cache/yum/x86_64/7 /base/packages/deltarpm-3.6-3.el7.x86_64.rpm :Signature d'en-tête V3 RSA/SHA256, ID de clé f4a80eb5 :NOKEYLa clé publique pour deltarpm-3.6-3.el7.x86_64.rpm n'est pas installéedeltarpm-3.6-3. el7.x86_64.rpm | 82 Ko 00:00:00Récupération de la clé du fichier:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7Importation de la clé GPG 0xF4A80EB5 :ID utilisateur :"CentOS-7 Key (CentOS 7 Official Signing Key) <[email protected]>" Empreinte digitale :6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Paquet :centos-release-7-2.1511.el7.centos.2.10.x86_64 (@anaconda) De :/etc/pki/rpm-gpg/ RPM-GPG-KEY-CentOS-7Exécution de la vérification de la transactionExécution du test de la transactionTest de la transaction réussiExécution de la transaction 3.6-3.el7Complet !
yum -y install nano wget net-tools gcc
La sortie ressemblera à :
Plug-ins chargés :base de miroir la plus rapide | 3.6 Ko 00:00:00extras | 3,4 Ko 00:00:00mises à jour | 3,4 Ko 00:00:00(1/4) :extras/7/x86_64/primary_db......Installé :gcc.x86_64 0:4.8.5-4.el7 nano.x86_64 0:2.3.1-10 .el7 net-tools.x86_64 0:2.0-0.17.20131004git.el7 wget.x86_64 0:1.14-10.el7_0.1Dépendance installée :cpp.x86_64 0:4.8.5-4.el7 glibc-devel.x86_64 0:2.17 -106.el7_2.4 glibc-headers.x86_64 0:2.17-106.el7_2.4 kernel-headers.x86_64 0:3.10.0-327.13.1.el7 libmpc.x86_64 0:1.0.1-3.el7 mpfr. x86_64 0:3.1.1-4.el7Dépendance mise à jour :glibc.x86_64 0:2.17-106.el7_2.4 glibc-common.x86_64 0:2.17-106.el7_2.4Complet !
Désactiver SELinux
éditez le /etc/selinux/config
nano /etc/selinux/config
Trouver
SELINUX=appliquer
changez-le en
SELINUX=désactivé
Enregistrez le fichier
Mettre à jour le système et redémarrer
Nous allons maintenant mettre à jour le système.
yum -y mise à jour &&yum -y mise à jour
Cela peut prendre un certain temps. Après ce redémarrage.
redémarrer
4. Installez icinga2 et des logiciels supplémentaires
Installer des référentiels supplémentaires
Une fois le système redémarré, connectez-vous en tant qu'administrateur et redevenez root.
Changer de répertoire en /tmp
cd /tmp
Installer le référentiel epel
yum install -y epel-release
Installer le référentiel icinga
rpm --import http://packages.icinga.org/icinga.key
wget http://packages.icinga.org/epel/ICINGA-release.repo -O /etc/yum.repos .d/ICINGA-release.repo
Reconstruire le cache yum (peut prendre un certain temps)
miam makecache
Installez icinga2, le connecteur icinga2 mysql et les plugins nagios
yum install -y nagios-plugins-all icinga2 icinga2-ido-mysql icinga-idoutils-libdbi-mysql
Installer Apache, php et préparer php.ini
yum install -y httpd
yum install -y php-cli php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd php-ldap
Modifier php.ini
Trouver
; Définit le fuseau horaire par défaut utilisé par les fonctions de date ; http://php.net/date.timezone;date.timezone =
changez-le en
; Définit le fuseau horaire par défaut utilisé par les fonctions de date ; http://php.net/date.timezonedate.timezone ="Europe/Berlin"
Enregistrez le fichier
Activer Apache au démarrage
systemctl activer httpd
[[email protected] tmp]# systemctl enable httpdCréé un lien symbolique de /etc/systemd/system/multi-user.target.wants/httpd.service vers /usr/lib/systemd/system/httpd.service.systemctl démarrer httpdVérifiez si Apache est en cours d'exécution
netstat -nlp | grep 80[[email protected] tmp]# netstat -nlp | grep 80tcp6 0 0 :::80 :::* ECOUTEZ 10360/httpd
Installer et configurer mariadb
yum install -y mariadb-serversystemctl démarrer mariadbsystemctl activer mariadbSortie :
[[email protected] tmp]# systemctl enable mariadbCréation d'un lien symbolique de /etc/systemd/system/multi-user.target.wants/mariadb.service vers /usr/lib/systemd/system/mariadb.service.Vérifiez si mariadb est en cours d'exécution
netstat -nlp | grep 3306Sortie :
[[email protected] tmp]# netstat -nlp | grep 3306tcp 0 0 0.0.0.0:3306 0.0.0.0:* ECOUTEZ 11623/mysqldDéfinir le mot de passe pour l'utilisateur 'root'
mysql -u racineSortie :
[[email protected] tmp]# mysql -u rootBienvenue dans le moniteur MariaDB. Les commandes se terminent par; ou \g.Votre identifiant de connexion MariaDB est la version 2Server :5.5.47-MariaDB MariaDB ServerCopyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab et autres.Tapez 'help;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer l'instruction d'entrée actuelle.MariaDB [(none)]>[MariaDB [(aucun)]> utiliser mysqlSortie :
[MariaDB [(none)]> use mysql;Reading table information for complete of table and column namesYou can disable this feature to get a quick startup with -ADatabase modifiedMariaDB [mysql]>[MariaDB [(mysql)]> mettre à jour l'utilisateur set password=PASSWORD("root_password") où User='root';Sortie :
update user set password=PASSWORD("root_password") where User='root';Requête OK, 4 lignes affectées (0.00 sec)Lignes correspondantes :4 modifiées :4 avertissements :0[MariaDB [(mysql)]> privilèges de vidage ;Sortie :
MariaDB [mysql]> flush privilèges ; Requête OK, 0 lignes affectées (0.00 sec0[MariaDB [(mysql)]> quitter ;Sortie :
MariaDB [mysql]> exit;Au revoirRedémarrez MariaDB
systemctl redémarre mariadb
Créer et remplir la base de données pour icinga2
Connectez-vous à MySQL avec le mot de passe pour root.
mysql -u root -pSortie :
[[email protected] tmp]# [[email protected] tmp]# mysql -u root -pEnter password :Bienvenue dans le moniteur MariaDB. Les commandes se terminent par; ou \g.Votre identifiant de connexion MariaDB est la version 7Server :5.5.47-MariaDB MariaDB ServerCopyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab et autres.Tapez 'help;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer l'instruction d'entrée actuelle.MariaDB [(none)]>[MariaDB [(none)]>CRÉER BASE DE DONNÉES icinga2 ;Sortie :
MariaDB [(none)]> CREATE DATABASE icinga2;Requête OK, 1 ligne affectée (0.00 sec)MariaDB [(none)]>[MariaDB [(none)]>GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'icinga2'@'localhost' IDENTIFIED BY 'icinga2_password';Sortie :
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'icinga2'@'localhost' IDENTIFIED BY 'icinga2_password';Query OK, 0 rows affecté (0.00 sec)MariaDB [(aucun)]>[MariaDB [(none)]>flush privilèges ;Sortie :
MariaDB [(none)]> privilèges de vidage ; Requête OK, 0 lignes affectées (0,00 seconde)MariaDB [(none)]>[MariaDB [(aucun)]> quitter ;Sortie :
MariaDB [aucun]> exit;Au revoirAlimenter la base de données
mysql -u root -p icinga2
Modifier ido-mysql.conf
Pour que icinga2 se connecte à notre base de données mariadb, nous devons modifier /etc/icinga2/ido-mysql.conf
nano /etc/icinga2/features-available/ido-mysql.confTrouver
/** * La bibliothèque db_ido_mysql implémente la fonctionnalité IDO * pour MySQL. */library "db_ido_mysql"object IdoMysqlConnection "ido-mysql" { //user ="icinga" //password ="icinga" //host ="localhost" //database ="icinga"}changez-le en
/** * La bibliothèque db_ido_mysql implémente la fonctionnalité IDO * pour MySQL. */library "db_ido_mysql"object IdoMysqlConnection "ido-mysql" { user ="icinga2" password ="icinga2_password" host ="localhost" database ="icinga2"}
Activer et démarrer icinga2 au démarrage
activer icinga2 au démarrage
systemctl activer icinga2Sortie :
[[email protected] tmp]# systemctl enable icinga2Création d'un lien symbolique de /etc/systemd/system/multi-user.target.wants/icinga2.service vers /usr/lib/systemd/system/icinga2.service.Commencer le glaçagea2
systemctl démarrer icinga2Afin de vérifier si tout fonctionne, nous allons faire tail -f /var/log/icinga2/icinga2.log. Vous pouvez arrêter la sortie en appuyant sur CTRL-C.
tail -f /var/log/icinga2/icinga2.logLa sortie devrait ressembler à ceci
[[email protected] tmp]# tail -f /var/log/icinga2/icinga2.log[2016-05-10 23:21:50 +0200] information/DbConnection :Reprise de la connexion IDO :ido-mysql[ 2016-05-10 23:21:50 +0200] information/ConfigItem :activé tous les objets. [2016-05-10 23:21:50 +0200] information/ConfigCompiler :compilation du fichier de configuration :/var/lib/icinga2/ modified-attributes.conf[2016-05-10 23:21:50 +0200] information/IdoMysqlConnection :ID d'instance IDO MySQL :1 (version de schéma : '1.14.0')[2016-05-10 23:21:50 +0200] information/IdoMysqlConnection :Reconnexion à la base de données MySQL IDO terminée en 0,201981 seconde(s).Faites en sorte que icinga2 démarre au démarrage :
systemctl activer icinga2Sortie :
[[email protected] tmp]# systemctl enable icinga2Création d'un lien symbolique de /etc/systemd/system/multi-user.target.wants/icinga2.service vers /usr/lib/systemd/system/icinga2.service.Activer le module de commande icinga2 :
commande d'activation de la fonctionnalité icinga2Sortie :
[[email protected] tmp]# icinga2 feature enable commandActivation de la commande de fonctionnalité. Assurez-vous de redémarrer Icinga 2 pour que ces modifications prennent effet.Redémarrez icinga2
systemctl redémarrer icinga2