GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer l'outil de surveillance LibreNMS avec Nginx sur Ubuntu 16.04 LTS

LibreNMS est un outil de surveillance open source basé sur PHP/MYSQL/SNMP. Il s'agit d'un système de surveillance de réseau en vedette qui prend en charge une large gamme de matériel réseau et de systèmes d'exploitation, notamment FreeBSD, Cisco, Linux, HP, etc.

Dans ce tutoriel, je vais vous montrer comment installer et configurer l'outil de surveillance open source "LibreNMS" en utilisant Nginx comme serveur Web, MariaDB comme base de données et le serveur Ubuntu 16.04 comme serveur principal. Nous vous guiderons étape par étape sur la façon d'installer et de configurer 'LibreNMS' sur le serveur Ubuntu 16.04 Xenial Xerus.

Ce que nous allons faire

  1. Installer des packages
  2. Installer le serveur Web Nginx
  3. Installer et configurer PHP-FPM
  4. Installer et configurer MariaDB
  5. Télécharger et configurer LibreNMS
  6. Installateur Web LibreNMS
  7. Configuration finale

Prérequis

  • Serveur Ubuntu 16.04
  • Privilèges racine

Étape 1 - Installer les packages

La première étape que nous devons faire pour installer les outils de surveillance LibreNMS consiste à installer certains packages nécessaires sur le serveur. Connectez-vous à votre serveur et mettez à jour le référentiel.

ssh [email protected]
sudo apt update

Installez tous les packages requis pour LibreNMS à partir du référentiel Ubuntu à l'aide de la commande suivante.

apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd  rrdtool git snmp graphviz

Une fois l'installation terminée, passez à l'étape suivante.

Étape 2 - Installer le serveur Web Nginx

Dans ce didacticiel, nous exécuterons LibreNMS sous le serveur Web Nginx. Nginx est un serveur Web puissant disponible dans les référentiels Ubuntu.

Installez nginx à l'aide de la commande apt à partir du référentiel de la manière suivante.

apt install nginx

Une fois terminé, démarrez le service et activez-le pour qu'il s'exécute automatiquement à chaque démarrage du système.

systemctl start nginx
systemctl enable nginx

Le serveur Web Nginx s'exécute sous le port par défaut 80. Nous pouvons vérifier le port à l'aide de la commande netstat et vérifier Nginx à l'aide de la commande curl pour obtenir le code d'état HTTP, comme indiqué ci-dessous.

netstat -plntu | grep 80
curl -I localhost

L'installation de Nginx est terminée.

Étape 3 - Installer et configurer PHP-FPM

LibreNMS est un outil de surveillance d'applications Web basé sur PHP. Il offre un support pour la nouvelle version PHP 7.0, et nous l'utiliserons pour ce guide.

Installez PHP, PHP-FPM et toutes les extensions/modules nécessaires à l'installation de LibreNMS à l'aide de la commande apt ci-dessous.

apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6

Ensuite, nous devons ajouter une configuration aux fichiers php.ini. Nous devons définir le fuseau horaire par défaut dans le fichier php.ini et nous assurer que le fuseau horaire correspond au fuseau horaire actuel utilisé par le système.

Vérifiez le fuseau horaire actuellement utilisé par le système avec la commande suivante.

timedatectl

Vous devriez obtenir un résultat semblable au suivant.

Vous pouvez voir que le serveur utilise le "Europe/Paris ' fuseau horaire.

Accédez maintenant au répertoire de configuration PHP et modifiez les fichiers php.ini pour la configuration cli et fpm.

cd /etc/php/7.0/
vim fpm/php.ini
vim cli/php.ini

Décommentez le 'date.time ' et changez la valeur avec notre fuseau horaire système 'Europe/Paris '.

date.time = Europe/Paris

Décommentez la configuration cgi ci-dessous, changez la valeur en 0.

cgi.fix_pathinfo = 0

Enregistrez et quittez.

Toute la configuration est terminée. Maintenant, démarrez le service et activez-le pour qu'il se lance à chaque démarrage du système à l'aide des commandes systemctl suivantes.

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPM s'exécute maintenant sur le serveur ubuntu - il s'exécute sous le fichier chaussette. Vérifiez-le avec la commande netstat.

netstat -pl | grep php

Étape 4 - Installer et configurer MariaDB

Dans cette étape, nous allons installer le serveur mariadb pour la base de données LibreNMS. Nous allons installer, configurer et créer une nouvelle base de données et un nouvel utilisateur pour l'installation de LibreNMS.

Installez mariadb-server à partir du référentiel ubuntu à l'aide de la commande apt ci-dessous.

apt install mariadb-server mariadb-client mariadb

Une fois terminé, démarrez le service et activez-le pour qu'il s'exécute automatiquement au démarrage du système, ce que vous pouvez faire à l'aide des commandes systemctl suivantes.

systemctl start mysql
systemctl enable mysql

Le serveur de base de données mariadb est maintenant en cours d'exécution. Ensuite, nous devons configurer le mot de passe root pour mariadb. Nous pouvons utiliser la commande 'mysql_secure_installation' ci-dessous pour configurer le mot de passe root.

mysql_secure_installation

Le nouveau mot de passe root vous sera demandé - saisissez votre mot de passe et appuyez sur "Entrée" pour continuer.

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Le mot de passe root pour mariadb a été configuré.

Ensuite, nous devons créer une nouvelle base de données et un nouvel utilisateur pour LibreNMS. Nous allons créer une nouvelle base de données nommée 'librenms', un nouvel utilisateur nommé 'librenms' avec le mot de passe 'hakase-labs123'.

Connectez-vous au shell mariadb à l'aide de la commande suivante.

mysql -u root -p
Type the ROOT Password:

Exécutez les requêtes mariadb ci-dessous pour créer une nouvelle base de données et un nouvel utilisateur, et accordez tous les privilèges sur la base de données au nouvel utilisateur.

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;

Une nouvelle base de données et un nouvel utilisateur pour LibreNMS ont été créés.

Pour l'installation de LibreNMS, nous devons ajouter une configuration au fichier de configuration. Allez dans le répertoire '/etc/mysql/' et éditez le fichier de configuration mariadb.

cd /etc/mysql/
vim mariadb.conf.d/50-server.cnf

Collez la configuration ci-dessous sous '[mysqld] '.

innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

Enregistrez et quittez.

Appliquez maintenant la nouvelle configuration en redémarrant le service.

systemctl restart mysql

La configuration de la base de données mariadb est terminée.

Étape 5 - Télécharger et configurer LibreNMS

Dans cette étape, nous allons configurer le système pour l'installation de LibreNMS.

- Ajouter un nouvel utilisateur et télécharger LibreNMS

Créez un nouvel utilisateur système nommé 'librenms', définissez '/opt/librenms' comme répertoire d'accueil par défaut pour l'utilisateur et affectez le nouvel utilisateur 'librenms' au groupe www-data.

Exécutez la commande suivante pour tout faire.

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data

Allez maintenant dans le répertoire '/opt/' et téléchargez le code source de LibreNMS à l'aide de la commande git.

cd /opt/
git clone https://github.com/librenms/librenms.git librenms

Ensuite, créez un nouveau répertoire pour les fichiers journaux libreNMS et les fichiers rrd.

mkdir -p /opt/librenms/{logs,rrd}

Changez les permissions de propriété pour le répertoire 'rrd' en '775', et changez le propriétaire du répertoire 'librenms' en utilisateur et groupe 'librenms'.

chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/

Un nouveau 'librenms' a été créé et le code source LibreNMS a été téléchargé.

- Configurer l'hôte virtuel LibreNMS

Accédez au répertoire de configuration "nginx" et créez un nouveau fichier d'hôte virtuel "librenms" avec vim

cd /etc/nginx/
vim sites-available/librenms

Collez-y la configuration d'hôte virtuel LibreNMS suivante.

server {

    # Add your own domain name
    listen      80;
    server_name librenms.irsyadf.me;

    # LibreNMS Webroot directory
    root        /opt/librenms/html;
    index       index.php;

    # LibreNMS logs
    access_log  /opt/librenms/logs/access_log;
    error_log   /opt/librenms/logs/error_log;
   
    # Enabling Gzip compression on Nginx
    charset utf-8;
    gzip on;
    gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
   
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
   
    location /api/v0 {
        try_files $uri $uri/ /api_v0.php?$query_string;
    }

    # PHP-FPM handle all .php files requests
    location ~ \.php {
        include fastcgi.conf;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
 
    location ~ /\.ht {
        deny all;
    }
}

Sauvegarder et quitter. Maintenant, activez l'hôte virtuel.

ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/

Testez la configuration nginx et assurez-vous qu'il n'y a pas d'erreur. Redémarrez ensuite le service.

nginx -t
systemctl restart nginx

- Configurer le pare-feu UFW

Ajoutez de nouveaux ports au pare-feu. Ajoutez les nouveaux ssh, http, https et le port utilisé par le type snmpd 161 udp au pare-feu ufw.

Exécutez les commandes ufw suivantes.

ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp

Démarrez le pare-feu ufw avec la commande ufw enable comme indiqué ci-dessous.

ufw enable

Tapez 'y' et appuyez sur 'Entrée' pour confirmer. Démarrez et activez-le pour qu'il se lance à chaque fois au démarrage du système.

Si vous voulez voir l'état du pare-feu, exécutez la commande 'ufw status'.

ufw status

Vous obtiendrez l'état du pare-feu - actif ou inactif - et la liste des ports et services ajoutés au pare-feu.

Étape 6 - Installateur Web LibreNMS

Une fois toutes les étapes ci-dessus terminées, nous devons installer LibreNMS via le navigateur Web. Ouvrez votre navigateur Web, saisissez le nom de domaine LibreNMS "librenms.hakase-labs.co" dans la barre d'adresse et appuyez sur Entrée.

- Vérification des modules PHP

Vous serez redirigé vers la page install.php affichant le résultat des vérifications de prise en charge du module PHP. Assurez-vous que tout le statut est vert comme indiqué ci-dessous.

Cliquez sur 'Étape suivante ' pour continuer.

- Configuration de la base de données

Remplissez toutes les informations de la base de données avec votre propre db.

  • Utilisateur de la base de données :librenms
  • Pass DB :hakase-labs123
  • Nom de la base de données :librenms

Et cliquez sur 'Étape suivante '.

- Importation de la base de données MySQL

Attendez que le script du programme d'installation importe un exemple de base de données dans notre base de données :ne fermez pas l'onglet du navigateur pendant ce processus.

Une fois toutes les bases de données importées, cliquez sur "Goto Add User" '.

- Ajouter un utilisateur administrateur

Ici, saisissez votre utilisateur administrateur, votre adresse e-mail et votre mot de passe.

Cliquez sur 'Ajouter un utilisateur '.

- Générer la configuration LibreNMS

Cliquez sur 'Générer la configuration ' bouton.

Et vous obtiendrez un fichier de configuration similaire à celui présenté ci-dessous.

Copiez le script de configuration php et revenez à votre session ssh. Allez dans le répertoire '/opt/librenms' et créez le fichier 'config.php' manuellement à l'aide de vim.

cd /etc/librenms/
vim config.php

Collez-y la configuration et changez la propriété du fichier en utilisateur et groupe librenms.

chown librenms:librenms config.php

Revenez à votre navigateur Web et cliquez sur 'Terminer l'installation ' bouton.

Vous accédez maintenant à la dernière page du programme d'installation Web librenms - voir ci-dessous.

Étape 7 - Configuration finale

Une fois l'installation via le navigateur Web terminée, nous devons effectuer d'autres étapes.

- Configurer SNMP

Sauvegardez le fichier de configuration par défaut et copiez l'exemple de configuration dans le répertoire '/etc/snmp/'.

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Modifiez la nouvelle configuration avec vim.

vim /etc/snmp/snmpd.conf

Remplacez la ligne "RANDOMSTRINGGOESHERE" par votre propre nom de communauté "hakaselabs", comme indiqué ci-dessous.

com2sec readonly  default         hakaselabs

Enregistrez et quittez.

Ensuite, nous devons télécharger le script de détection de distribution. Téléchargez-le en utilisant curl, puis rendez le script exécutable, puis enfin, redémarrez le service snmp.

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd

- Configuration de Crontab et Logrotate

Accédez au répertoire librenms et copiez l'exemple de configuration pour Crontab et Logrotate.

cd /opt/librenms/

Copiez la configuration.

cp librenms.nonroot.cron /etc/cron.d/librenms
cp misc/librenms.logrotate /etc/logrotate.d/librenms

Redémarrez maintenant le service cron et rechargez la configuration de logrotate.

systemctl restart cron
logrotate -f /etc/logrotate.conf

- Valider la configuration

Attendez un moment jusqu'à ce que le script cron s'exécute sur le système. Une fois cela fait, validez avec le script 'validate.php'.

Accédez au répertoire librenms et exécutez le script de validation.

cd /opt/librenms/
./validate.php

Si votre installation est correcte, vous obtiendrez le résultat comme indiqué ci-dessous.

L'installation de LibreNMS avec le serveur Web Nginx sur Ubuntu 16.04 est terminée.


Ubuntu
  1. Comment installer Nextcloud avec Nginx sur Ubuntu 18.04 LTS

  2. Comment installer l'outil de surveillance Zabbix sur Ubuntu 18.04 LTS

  3. Comment installer Seafile avec Nginx sur Ubuntu 20.04 LTS

  4. Comment installer l'outil de surveillance LibreNMS avec Nginx sur CentOS 7

  5. Comment déployer Modsecurity avec Nginx sur Ubuntu 20.04 LTS

Comment installer phpMyAdmin avec Nginx (LEMP) sur Ubuntu 18.04 LTS

Comment installer Nginx avec le module Ngx_Pagespeed sur Ubuntu 16.04 LTS

Comment installer Joomla avec Nginx sur Ubuntu 18.04 LTS

Comment installer phpMyAdmin avec Nginx sur Ubuntu 18.04 LTS

Comment installer phpMyAdmin avec Nginx sur Ubuntu 20.04 LTS

Comment installer LibreNMS sur Ubuntu 20.04 LTS