Comment installer l'outil de surveillance LibreNMS avec Nginx sur centOS 7

Nous savons très bien qu'en utilisant des distributions Linux, nous avons la possibilité d'implémenter des centaines, voire des milliers, d'applications et de programmes open source qui, en plus d'être gratuits, augmenteront considérablement les capacités de nos équipes.

Il existe des applications développées pour chaque domaine d'une organisation et c'est pourquoi aujourd'hui Solvetic analysera en détail comment installer l'outil LibreNMS et nous permettra ainsi en tant qu'administrateurs de disposer d'un puissant outil d'analyse et de suivi, nous permettant ainsi d'être au courant de tous les changements qui affectent la distribution sur laquelle nous travaillons.

Qu'est-ce que LibreNMSLibreNMS est un outil de surveillance open source basé sur PHP, MYSQL et SNMP. LibreNMS est un système de surveillance de réseau complet pour une large gamme de matériel réseau et de systèmes d'exploitation, y compris FreeBSD, Cisco, Linux, HP, etc.

Lors de l'utilisation de LibreNMS, nous aurons les caractéristiques suivantes :

  • Découverte automatique, car elle permet de découvrir automatiquement l'ensemble du réseau à l'aide de CDP, FDP, LLDP, OSPF, BGP, SNMP et ARP
  • Alertes configurables, nous permettant de recevoir des alertes par e-mail, irc, slack et plus
  • Accès via API pour gérer, représenter graphiquement et récupérer les données de votre installation
  • Il dispose d'un système de collecte grâce auquel nous pouvons générer des factures de bande passante pour les ports réseau en fonction de l'utilisation ou du transfert
  • Il a des mises à jour automatiques
  • Hauts niveaux d'évolutivité
  • Il a des applications pour Android et iOS
  • Prise en charge étendue des appareils
  • Interface utilisateur Web conviviale pour les mobiles
  • Agent Unix
  • Peut être intégré avec NfSen, collectd, SmokePing, RANCID et Oxidized
  • Prend en charge les méthodes d'authentification MySQL, HTTP, LDAP, Radius et Active Directory

Exigences précédentesPour installer et utiliser LibreNMS, vous aurez besoin des éléments suivants :

  • CentOS 7 Minimal
  • Utilisateur avec des privilèges root

1. Installation des packages Linux requis


Avant d'installer LibreNMS sur CentOS 7, il sera nécessaire d'installer certains packages, notamment ImageMagick, rrdtool, SNMP, git, etc. Ces packages peuvent être installés avec la commande suivante :
 miam -y installer net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

AGRANDIR

Une fois l'installation terminée, nous verrons ce qui suit :

AGRANDIR

2. Comment installer le serveur Nginx


Nginx [moteur x] est un serveur HTTP et un proxy inverse, un serveur proxy de messagerie et un serveur proxy TCP/UDP générique, écrit à l'origine par Igor Sysoev. Depuis longtemps, il fonctionne sur de nombreux sites russes très chargés, notamment Yandex, Mail.Ru, VK et Rambler, et est actuellement utilisé comme serveur HTTP dans le monde.

Étape 1
Avant d'installer Nginx, nous devons installer les référentiels epel pour l'installation du serveur Web Nginx. Le référentiel EPEL (Additional Packages for Enterprise Linux) est un référentiel supplémentaire pour les systèmes d'exploitation basés sur RPM, y compris CentOS 7. Nous exécuterons les éléments suivants :

 miam -y installer epel-release

AGRANDIR

Étape 2
Nous procédons maintenant à l'installation du serveur Nginx avec la commande suivante :

 miam -y installer nginx

AGRANDIR

Étape 3
Une fois Nginx installé sur CentOS 7, nous verrons ce qui suit :

AGRANDIR

Étape 4
Après avoir installé Nginx sur CentOS 7, nous allons démarrer le service et lui permettre de s'exécuter automatiquement au démarrage à l'aide des commandes systemctl suivantes :

 systemctl démarrer nginx systemctl activer nginx

AGRANDIR

Étape 5
Par conséquent, le serveur Web Nginx a été installé sur le système à partir du référentiel EPEL et nous pouvons le vérifier en exécutant la ligne suivante :

 netstat -plntu

AGRANDIR

Là, nous verrons les ports par lesquels nous nous connecterons avec Nginx.

3. Comment installer et configurer PHP-FPM

Étape 1
Dans ce cas, nous utiliserons la version 7 de PHP-FPM pour l'installation de LibreNMS. Tous les packages PHP 7 pour CentOS 7 sont disponibles à partir du référentiel tiers, et nous utiliserons la version PHP 7 du référentiel « webtatic ».
Pour ce faire, nous allons tout d'abord ajouter le référentiel webtatic PHP 7 au système à l'aide de la commande rpm suivante :

 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

AGRANDIR

Étape 2
Ensuite, nous allons installer PHP 7 et toutes les extensions nécessaires à partir du dépôt humide en utilisant yum :

 miam -y installer php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

AGRANDIR

Étape 3
Une fois téléchargé et installé, nous mettrons à jour le référentiel PEAR et installerons quelques extensions PEAR (PHP Extension and Application Repository) à l'aide de la commande pear :

 pear channel-update pear.php.net pear install Net_IPv4-1.3.4 pear install Net_IPv6-1.2.2b2

AGRANDIR

Ensuite, nous allons configurer PHP-FPM pour l'installation de LibreNMS.

Étape 4
Tout d'abord, il faudra définir le fuseau horaire par défaut dans le fichier php.ini et s'assurer que le fuseau horaire correspond au fuseau horaire actuel utilisé par le système. Nous pouvons vérifier le fuseau horaire actuel utilisé par votre système via la commande suivante :

 datedatectl

AGRANDIR

Étape 5
Une fois le fuseau horaire défini, nous procédons à l'édition du fichier php.ini dans le chemin suivant : /etc/php.ini, nous pouvons le faire avec n'importe quel éditeur tel que nano ou vim :

 nano /etc/php.ini
Dans le fichier qui s'affichera, nous apporterons les modifications suivantes :

Nous allons décommenter la ligne date.timezone et ajouter la zone affichée par la commande timedatectl

AGRANDIR

Nous allons décommenter la ligne cgi.fix_pathinfo et affecter sa valeur à zéro (0)

AGRANDIR

Nous enregistrons les modifications à l'aide de la combinaison de touches Ctrl + O et sortons de l'éditeur à l'aide de Ctrl + X.

Étape 6
L'étape suivante consiste à définir comment PHP-FPM s'exécute sur le système. Dans ce cas, PHP-FPM s'exécutera sous le fichier 'sock' au lieu du port du serveur. Editez le fichier 'www.conf' avec nano pour configurer PHP-FPM :

 nano /etc/php-fpm.d/www.conf
Là, nous allons changer la ligne d'écoute, qui a la valeur par défaut de 127.0.0.1:9000, comme suit :
 écouter = /var/run/php-fpm/php7.0-fpm.sock

AGRANDIR

Étape 7
Dans le même fichier, nous décommenterons les lignes suivantes. Nous enregistrons les modifications sur le serveur.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM est maintenant terminé, nous pouvons démarrer le service et lui permettre de s'exécuter automatiquement au démarrage à l'aide des commandes suivantes :
 systemctl démarrer php-fpm systemctl activer php-fpm
Nous allons vérifier que PHP-FPM s'exécute sous le fichier sock, cela peut être vérifié avec la commande netstat :
 netstat -pl | grep php

AGRANDIR

4. Comment installer et configurer MariaDB

Étape 1
LibreNMS utilise la base de données MySQL pour stocker toutes les données. Dans ce cas, nous utiliserons la version de la base de données MariaDB qui est disponible dans le référentiel, et il sera nécessaire d'installer et d'ajouter une configuration pour l'installation de LibreNMS, y compris l'ajout de la base de données et de l'utilisateur pour LibreNMS.

Nous allons installer MariaDB en exécutant ce qui suit :

 miam -y installer mariadb mariadb-server

AGRANDIR

Étape 2
Une fois installé, nous allons démarrer le service MariaDB et lui permettre de démarrer automatiquement au démarrage :

 systemctl démarrer mariadb systemctl activer mariadb 

AGRANDIR

Étape 3
Nous pouvons vérifier le service avec son port respectif en exécutant ce qui suit :

 netstat - plintu

AGRANDIR

Étape 4
Nous devons maintenant configurer le mot de passe root MariaDB à l'aide de la commande 'mysql_secure_installation' : Dans les questions affichées, nous répondrons aux éléments suivants :

 Définir le mot de passe root ? [O/n] O Supprimer les utilisateurs anonymes ? [O/n] O Interdire la connexion root à distance ? [O/n] O Supprimer la base de données de test et y accéder ? [O/n] O Recharger les tables de privilèges maintenant ? [Oui / n] O

AGRANDIR

De cette façon, MariaDB a été installée.

Étape 5
L'étape suivante consiste à créer une nouvelle base de données et un nouvel utilisateur pour LibreNMS. Connectez-vous à la ligne de commande du shell mysql à l'aide du client mysql et avec le nouveau mot de passe attribué :

 mysql -u racine -p
Créez une nouvelle base de données appelée 'librenms', un nouvel utilisateur 'librenms' avec le mot de passe 'password123'
 CRÉER UNE BASE DE DONNÉES librenms JEU DE CARACTÈRES utf8 COLLATE utf8_unicode_ci; CREATE USER 'librenms' @ 'localhost' IDENTIFIÉ PAR 'password123'; ACCORDER TOUS LES PRIVILÈGES SUR librenms.* À 'librenms' @ 'localhost'; PRIVILÈGES DE FLASH;
Nous quittons MariaDB en exécutant la commande exit.

AGRANDIR

5. Comment configurer MySQL


Nous devons maintenant éditer le fichier my.cnf pour ajouter une nouvelle configuration mysql. Nous allons éditer le fichier /etc/my.cnf en utilisant nano :
 nano /etc/mon.cnf
Dans le fichier affiché, nous collerons ce qui suit dans la section [mysqld] :
 innodb_file_per_table = 1 sql-mode = "" lower_case_table_names = 0

AGRANDIR

Nous enregistrons les modifications. Maintenant, nous allons redémarrer le service MariaDB en exécutant ce qui suit :

 systemctl redémarrer mariadb

6. Comment télécharger et configurer LibreNMS


Avec tout ce qui précède configuré, la prochaine étape consiste à préparer le système pour LibreNMS et pour cela, nous allons procéder comme suit.

Étape 1
À ce stade, nous allons créer un nouvel utilisateur système appelé 'librenms', puis nous définirons le répertoire personnel de l'utilisateur dans le répertoire / opt / librenms et enfin nous ajouterons l'utilisateur librenms au groupe nginx :

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Une fois l'utilisateur créé et ajouté au groupe respectif, nous irons dans le répertoire / opt / et téléchargerons le code source LibreNMS à l'aide de la commande git clone comme suit :
 useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

AGRANDIR

Étape 2
Nous allons créer un nouveau répertoire pour les journaux et les fichiers rrd de LibreNMS :

 mkdir -p / opt / librenms / logs / mkdir -p / opt / librenms / rrd / chmod 775 / opt / librenms / rrd /

AGRANDIR

Nous allons maintenant changer la propriété de tous les fichiers et répertoires du répertoire / opt / librenms en l'utilisateur et le groupe librenms en exécutant la commande suivante :

 chown -R librenms: librenms / opt / librenms /

7. Comment configurer l'hôte virtuel LibreNMS


LibreNMS est une application Web et jusqu'à présent, nous utilisons un serveur Web Nginx pour l'héberger.
Nous allons créer un nouveau fichier hôte virtuel librenms.conf dans le répertoire nginx conf.d en exécutant la commande suivante :
 nano /etc/nginx/conf.d/librenms.conf
Dans ce nouveau fichier, nous collerons les éléments suivants :
 server {# Ajoutez votre propre nom de domaine listen 80; nom_serveur librenms.irsyadf.me; # LibreNMS Webroot répertoire racine/opt/librenms/html; index index.php; # LibreNMS enregistre access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Activation de la compression Gzip sur le jeu de caractères Nginx utf-8; gzip activé; gzip_types texte / application css / texte javascript / application javascript / image x-javascript / svg + texte xml / texte brut / texte xsd / texte xsl / image xml / x-icon ; emplacement / {try_files $ uri $ uri / /index.php?$query_string; } emplacement / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM gère toutes les requêtes de fichiers .php emplacement ~ \ .php {include fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix : /var/run/php-fpm/php7.0-fpm.sock; } emplacement ~ /\.ht {refuser tout ; }}

AGRANDIR

Nous pouvons enregistrer les modifications à l'aide des touches Ctrl + O et quitter l'éditeur à l'aide de Ctrl + X. Nous pouvons maintenant tester la configuration de Nginx en exécutant la commande suivante :

 nginx -t

AGRANDIR

Nous allons redémarrer le service Nginx en exécutant :

 systemctl redémarrer nginx

8. Comment configurer le pare-feu dans CentOS 7


Nous devons valider que les packages firewalld sont installés sur votre système, sinon, nous pouvons installer firewalld avec la commande yum suivante :
 miam -y installer firewalld
Une fois installé, nous allons démarrer firewalld et lui permettre de s'exécuter au démarrage avec les commandes systemctl suivantes :
 systemctl démarrer firewalld systemctl activer firewalld
Une fois activé, nous ajouterons les lignes suivantes pour activer les services respectifs :
 firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161 / udp -permanent
Nous appliquons les modifications en rechargeant firewalld avec la commande suivante :
 pare-feu-cmd -recharger
Nous pouvons lister les règles pour confirmer que les services ont été ajoutés correctement :
 pare-feu-cmd --list-all

AGRANDIR

Nous accéderons à partir de n'importe quel navigateur en entrant l'adresse IP du serveur, nous entrerons les informations d'identification et ce sera l'environnement LibreNMS :

AGRANDIR

De là, nous pouvons effectuer toute la gestion des appareils associés.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave