GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare lo strumento di monitoraggio LibreNMS con Nginx su CentOS 7

LibreNMS è uno strumento di monitoraggio open source basato su PHP/MYSQL/SNMP. È un sistema di monitoraggio della rete completo che fornisce supporto per un'ampia gamma di hardware di rete e sistemi operativi tra cui FreeBSD, Cisco, Linux, HP e altri.

In questo tutorial, ti mostreremo come installare e configurare LibreNMS usando Nginx come server web e MariaDB come database. Utilizzeremo il server CentOS 7 come server principale.

Cosa faremo

  1. Installa i pacchetti richiesti
  2. Installa il server Web Nginx
  3. Installa e configura PHP-FPM
  4. Installa e configura MariaDB
  5. Scarica e configura LibreNMS
  6. Installazione basata sul Web di LibreNMS
  7. Configurazione finale

Prerequisito

  • Server CentOS 7
  • Privilegi di root

Passaggio 1:installa i pacchetti richiesti

Prima di installare LibreNMS sul server, dobbiamo installare alcuni pacchetti, incluso ImageMagick , rrdtool , SNMP , git , e altro ancora. Il seguente comando dovrebbe fare il necessario:

yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

Se tutto va bene, vai al passaggio successivo.

Passaggio 2:installa il server Web Nginx

In questo passaggio, installeremo epel-repository per l'installazione del server web nginx. Il repository EPEL (Extra Packages for Enterprise Linux) è un repository aggiuntivo per sistemi operativi basati su rpm, incluso CentOS 7.

Installa il repository EPEL utilizzando yum comando qui sotto.

yum -y install epel-release

Ora installa nginx.

yum -y install nginx

Dopo l'installazione di nginx, avvia il servizio e abilitalo all'esecuzione automatica all'avvio utilizzando il seguente systemctl comandi.

systemctl start nginx
systemctl enable nginx

Quindi il server web Nginx è stato installato sul sistema dal repository EPEL.

Fase 3 - Installa e configura PHP-FPM

Prima di procedere, ecco alcune informazioni che vale la pena condividere:

Utilizzeremo PHP-FPM versione 7 per l'installazione di LibreNMS. Tutti i pacchetti PHP 7 per CentOS 7 sono disponibili su repository di terze parti e utilizzeremo la versione PHP 7 dal repository 'webtatic'.

Allora cominciamo.

Aggiungi il repository webtatic PHP 7 al sistema usando il seguente comando rpm.

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

Installa PHP 7 e tutte le estensioni necessarie dal repository wetatic usando yum.

yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

Ora aggiorna il repository PEAR e installa alcune estensioni PEAR (PHP Extension and Application Repository) usando pear comando.

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

Quindi in questo modo puoi installare tutti i pacchetti PHP richiesti.

Quindi, configura PHP-FPM per l'installazione di LibreNMS. Dobbiamo definire il fuso orario predefinito nel file php.ini e assicurarci che il fuso orario corrisponda al fuso orario corrente utilizzato dal sistema. Puoi controllare il fuso orario corrente utilizzato dal tuo sistema tramite il comando seguente.

timedatectl

Lo screenshot seguente mostra il comando precedente in azione:

Quindi stiamo usando "Europa/Parigi ' fuso orario.

Ora, modifica il file '/etc/php.ini' usando vim.

vim /etc/php.ini

Quindi, decommenta la riga 'date.timezone' e assegna un valore con il fuso orario del server 'Europe/Paris'.

data.timezone = Europe/Paris

Allo stesso modo, decommenta la riga cgi e cambia il valore in '0 '.

cgi.fix_pathinfo=0

Questo è tutto. Ora salva le modifiche ed esci dall'editor.

Successivamente, dobbiamo definire come funziona PHP-FPM sul sistema. Nel nostro caso, PHP-FPM verrà eseguito nel file "sock" anziché nella porta del server.

Modifica il file 'www.conf' con vim per configurare PHP-FPM.

vim /etc/php-fpm.d/www.conf

Cambia la linea della porta "ascolta" nel file sock come di seguito.

listen = /var/run/php-fpm/php7.0-fpm.sock

Decommenta la riga "ascolta" per il proprietario, il gruppo e l'autorizzazione del file sock come configurazione di seguito.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Questo è tutto. Ora salva le modifiche ed esci dall'editor.

Quindi la configurazione PHP-FPM è ora completa. Avvia il servizio e abilitalo all'esecuzione automatica all'avvio utilizzando i seguenti comandi.

systemctl start php-fpm
systemctl enable php-fpm

Ora PHP-FPM è in esecuzione nel file sock. Puoi verificarlo con il comando netstat.

netstat -pl | grep php

Assicurati di avere il risultato del file '/var/run/php-fpm/php7.0-fpm.sock'.

Fase 4 - Installa e configura MariaDB

LibreNMS utilizza il database MySQL per archiviare tutti i dati. Per questa guida, utilizzeremo la versione del database MariaDB. È disponibile nel repository e dobbiamo installare e aggiungere alcune configurazioni per l'installazione di LibreNMS, inclusa l'aggiunta del database e dell'utente per LibreNMS.

Installa MariaDB utilizzando il comando yum di seguito.

yum -y install mariadb mariadb-server

Avvia il servizio MariaDB e abilita l'avvio automatico all'avvio.

systemctl start mariadb
systemctl enable mariadb

Ora configura la password di root di MariaDB utilizzando il comando 'mysql_secure_installation' di seguito.

mysql_secure_installation

Ti verrà chiesto della nuova password di root per il database di MariaDB insieme ad alcune altre domande.

Digita 'Y' e premi Invio per confermare.

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

Quindi MariaDB è stato installato. Ora dobbiamo creare un nuovo database e un nuovo utente per LibreNMS. Accedi alla riga di comando della shell mysql utilizzando il client mysql e con la tua nuova password.

mysql -u root -p

Crea un nuovo database denominato 'librenms ', un nuovo utente 'librens ' con password 'hakase-labs123 '.

Crea tutto usando le query MySQL di seguito.

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;

Sono stati creati un nuovo utente e database per l'installazione di LibreNMS.

Ora devi modificare il file my.cnf per aggiungere una nuova configurazione mysql. Modifica il file '/etc/my.cnf' usando vim.

vim /etc/my.cnf

Incolla la seguente configurazione aggiuntiva sotto '[mysqld] sezione '.

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

Salva ed esci da vim, quindi riavvia il server mariadb.

systemctl restart mariadb

Fase 5 - Scarica e configura LibreNMS

In questo passaggio, configureremo il sistema per l'installazione di LibreNMS.

- Aggiungi utente e scarica il codice sorgente di LibreNMS

Crea un nuovo utente di sistema chiamato 'librenms', quindi definisci la home directory per l'utente nella directory '/opt/librenms' e infine aggiungi l'utente 'librenms' al gruppo 'nginx'.

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginx

Vai alla directory '/opt/' e scarica il codice sorgente di LibreNMS usando git clone comando come di seguito.

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

Crea una nuova directory per i log di LibreNMS e i file rrd.

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

Ora cambia la proprietà di tutti i file e le directory nella directory '/opt/librenms' nell'utente e nel gruppo 'librenms'.

chown -R librenms:librenms /opt/librenms/


- Configura l'host virtuale LibreNMS

LibreNMS è un'applicazione basata sul Web e stiamo utilizzando un server Web Nginx per ospitarla.

Crea un nuovo file host virtuale 'librenms.conf' nella directory nginx 'conf.d'.

vim /etc/nginx/conf.d/librenms.conf

Incolla la configurazione di seguito.

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:/var/run/php-fpm/php7.0-fpm.sock;
    }
 
    location ~ /\.ht {
        deny all;
    }
}

Questo è tutto. Ora salva ed esci da Vim.

Verifica la configurazione di nginx e assicurati che non ci siano errori. Quindi riavvia il server web.

nginx -t
systemctl restart nginx

- Configurazione del firewall

Assicurati che il firewalld i pacchetti sono installati sul tuo sistema. In caso contrario, puoi installare firewalld usando il seguente comando yum.

yum -y install firewalld

Avvia firewalld e consentirne l'esecuzione all'avvio utilizzando i seguenti comandi systemctl.

systemctl start firewalld
systemctl enable firewalld

Apri il nuovo HTTP, HTTPS e la porta SNMP 161/udp utilizzando il comando firewall-cmd come mostrato di seguito.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp --permanent

Applica la configurazione ricaricando firewalld e controlla tutti i servizi.

firewall-cmd --reload
firewall-cmd --list-all

Assicurati che i servizi HTTP e HTTPS siano nell'elenco.

Fase 6 - Installazione basata sul web di LibreNMS

Apri il tuo browser web e digita l'URL di LibreNMS sulla barra degli indirizzi.

http://librenms.hakase-labs.me/

Verrai reindirizzato alla pagina di installazione 'install.php'.

- Verifica il supporto del modulo PHP

Assicurati che tutti i moduli e le estensioni php richiesti siano installati sul sistema.

Quindi fai clic su "Fase successiva" per continuare.

- Configurazione database

Digita i dettagli del database di seguito:

  1. Utente DB:'librens '
  2. Nome DB:'librens '
  3. Pass DB:'hakase-labs123 '

E fai clic su "Fase successiva" per continuare.

- Importa database MySQL

Non chiudere la pagina di installazione poiché verrà visualizzata l'importazione del database. Assicurati che non ci siano errori.

Al termine del processo, fai clic su "Vai ad Aggiungi utente" per aggiungere un nuovo utente amministratore.

- Aggiungi utente amministratore

Digita il tuo utente amministratore, email e password.

Fai clic su "Aggiungi utente" per continuare con l'installazione.

- Genera file di configurazione

Fai clic sul pulsante "Genera configurazione" e vedrai una pagina simile alla seguente.

Copia il codice php che si trova nella casella e crea un nuovo file 'config.php' nella directory '/opt/librenms/'.

cd /opt/librenms/
vim config.php

Incolla nel nuovo file il codice appena copiato, quindi salva ed esci dall'editor. Ora cambia i permessi di proprietà del file config.php nell'utente e nel gruppo 'librenms'.

chown librenms:librenms config.php

Torna al tuo browser e fai clic sul pulsante "Termina installazione" presente in fondo alla pagina. Vedrai un messaggio di benvenuto simile al seguente.

A questo punto, abbiamo finito con l'installazione basata sul web. Torna al terminale/shell e aggiungi altra configurazione.

Fase 7 - Configurazione finale

A questo punto, aggiungeremo alcune configurazioni per la nostra installazione di LibreNMS.

- Definisci comando fping

Definisci il comando 'fping' modificando il file di configurazione di LibreNMS. Vai alla directory '/opt/librenms/' e modifica il file config.php usando l'editor vim.

cd /opt/librenms/
vim config.php

Aggiungi la riga seguente in fondo al file.

$config['fping'] = "/usr/sbin/fping";

Salva ed esci dall'editor.

- Configurazione SNMP

Eseguire il backup del file snmp.conf predefinito nella directory '/etc/snmp/' e copiarne uno nuovo dalla directory librenms.

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

Modifica la nuova configurazione.

vim /etc/snmp/snmpd.conf

Modifica il testo "RANDOMSTRINGGOESHERE" con il nome della tua comunità come di seguito.

com2sec readonly  default         hakaselabs

Questo è tutto. Salva ed esci da Vim.

Quindi, scarica librenms-agent script per rilevare quale sistema operativo è stato aggiunto. Se aggiungi il sistema operativo Linux, lo script rileverà anche la distribuzione Linux specifica.

Scarica lo script usando curl e rendilo eseguibile.

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

Ora riavvia il servizio SNMP usando il seguente comando systemctl.

systemctl restart snmpd

- Configura Logrotate per LibreNMS

LibreNMS fornisce la configurazione per la configurazione logrotate ed è nella directory '/opt/librenms/misc'.

Copia l'esempio di configurazione nella directory '/etc/logrotate.d'.

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

- Configurazione cronjob di LibreNMS

Vai alla directory 'opt/librenms' e copia il file dello script crontab 'librenms.nonroot.cron' nella directory 'cron.d'.

cd /opt/librenms/
cp librenms.nonroot.cron /etc/cron.d/librenms

Attendi qualche minuto affinché lo script venga eseguito automaticamente.

- Convalida la configurazione di LibreNMS

Per verificare l'installazione, utilizzare validate.php sceneggiatura. Vai alla directory '/opt/librenms/' ed esegui lo script.

cd /opt/librenms/
./validate.php

Supponendo che non si verifichino errori, dovresti vedere un output simile al seguente:

Quindi questo completa l'installazione di LibreNMS con il server web Nginx su CentOS 7.


Cent OS
  1. Come installare WordPress con Nginx su CentOS 7

  2. Come installare phpMyAdmin con Nginx su CentOS 7

  3. Come installare Cacti Monitoring Tool su CentOS 8 / RHEL 8

  4. Come installare phpMyAdmin con Nginx su CentOS 7 / RHEL 7

  5. Come installare Sitemagic CMS su CentOS 7 – Con Nginx

Come installare lo strumento di monitoraggio delle risorse Bpytop su CentOS 8

Come installare Nginx con ngx_pagespeed su CentOS

Come installare Nginx con PHP-FastCGI su CentOS 6

Come installare Magento con Nginx su CentOS 7

Come installare lo strumento di monitoraggio del sistema di Sguardi su CentOS 7

Come installare Laravel con Nginx su CentOS 8