GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare lo strumento di monitoraggio LibreNMS con Nginx su Ubuntu 16.04 LTS

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

In questo tutorial, ti mostrerò come installare e configurare lo strumento di monitoraggio open source "LibreNMS" utilizzando Nginx come server web, MariaDB come database e server Ubuntu 16.04 come server principale. Ti guideremo passo dopo passo su come installare e configurare "LibreNMS" sul server Xenial Xerus Ubuntu 16.04.

Cosa faremo

  1. Installa pacchetti
  2. Installa il server web Nginx
  3. Installa e configura PHP-FPM
  4. Installa e configura MariaDB
  5. Scarica e configura LibreNMS
  6. Programma di installazione Web di LibreNMS
  7. Configurazione finale

Prerequisiti

  • Server Ubuntu 16.04
  • privilegi radice

Passaggio 1:installazione dei pacchetti

Il primo passaggio che dobbiamo fare per installare LibreNMS Monitoring Tools è installare alcuni pacchetti necessari sul server. Collegati al tuo server e aggiorna il repository.

ssh [email protected]
sudo apt update

Installa tutti i pacchetti richiesti per LibreNMS dal repository di Ubuntu usando il seguente comando.

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

Al termine dell'installazione, vai al passaggio successivo.

Passaggio 2:installazione del server Web Nginx

In questo tutorial, eseguiremo LibreNMS sul server web Nginx. Nginx è un potente server web disponibile nei repository di Ubuntu.

Installa nginx usando il comando apt dal repository nel modo seguente.

apt install nginx

Al termine, avvia il servizio e abilitalo per l'esecuzione automatica ogni volta all'avvio del sistema.

systemctl start nginx
systemctl enable nginx

Il server web Nginx funziona con la porta predefinita 80. Possiamo controllare la porta usando il comando netstat e controllare Nginx usando il comando curl per ottenere il codice di stato HTTP, come mostrato di seguito.

netstat -plntu | grep 80
curl -I localhost

L'installazione di Nginx è stata completata.

Fase 3 - Installa e configura PHP-FPM

LibreNMS è uno strumento di monitoraggio delle applicazioni web basato su PHP. Offre supporto per la nuova versione PHP 7.0 e lo useremo per questa guida.

Installa PHP, PHP-FPM e tutte le estensioni/moduli necessari per l'installazione di LibreNMS utilizzando il comando apt di seguito.

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

Successivamente, dobbiamo aggiungere alcune configurazioni ai file php.ini. Dobbiamo definire il fuso orario predefinito nel file php.ini e assicurarci che il fuso orario corrisponda al fuso orario corrente utilizzato dal sistema.

Verifica il fuso orario attualmente utilizzato dal sistema con il seguente comando.

timedatectl

Dovresti ottenere un risultato simile al seguente.

Puoi vedere che il server sta utilizzando "Europa/Parigi ' fuso orario.

Ora vai alla directory di configurazione di PHP e modifica i file php.ini per la configurazione cli e fpm.

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

Decommenta 'date.time ' e modifica il valore con il fuso orario del nostro sistema 'Europa/Parigi '.

date.time = Europe/Paris

Decommenta la configurazione cgi di seguito, cambia il valore in 0.

cgi.fix_pathinfo = 0

Salva ed esci.

Tutta la configurazione è completa. Ora avvia il servizio e abilitalo all'avvio ogni volta all'avvio del sistema utilizzando i seguenti comandi systemctl.

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

PHP-FPM è ora in esecuzione sul server Ubuntu - è in esecuzione nel file sock. Verificalo con il comando netstat.

netstat -pl | grep php

Fase 4 - Installa e configura MariaDB

In questo passaggio, installeremo il server mariadb per il database LibreNMS. Installeremo, configureremo e creeremo un nuovo database e un nuovo utente per l'installazione di LibreNMS.

Installa mariadb-server dal repository Ubuntu usando il comando apt di seguito.

apt install mariadb-server mariadb-client mariadb

Al termine, avvia il servizio e abilitalo all'esecuzione automatica all'avvio del sistema, operazione che puoi eseguire utilizzando i seguenti comandi systemctl.

systemctl start mysql
systemctl enable mysql

Il server di database mariadb è ora in esecuzione. Successivamente dobbiamo configurare la password di root per mariadb. Possiamo usare il comando 'mysql_secure_installation' qui sotto per configurare la password di root.

mysql_secure_installation

Ti verrà chiesto la nuova password di root:digita la tua password e premi "Invio" per continuare.

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

La password di root per mariadb è stata configurata.

Successivamente, dobbiamo creare un nuovo database e un nuovo utente per LibreNMS. Creeremo un nuovo database chiamato 'librenms', un nuovo utente chiamato 'librenms' con password 'hakase-labs123'.

Accedi alla shell mariadb usando il seguente comando.

mysql -u root -p
Type the ROOT Password:

Esegui le query mariadb di seguito per creare un nuovo database e un nuovo utente e concedere tutti i privilegi sul database al nuovo utente.

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;

È stato creato un nuovo database e utente per LibreNMS.

Per l'installazione di LibreNMS, abbiamo bisogno di aggiungere una configurazione al file di configurazione. Vai alla directory '/etc/mysql/' e modifica il file di configurazione di mariadb.

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

Incolla la configurazione di seguito sotto '[mysqld] sezione '.

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

Salva ed esci.

Ora applica la nuova configurazione riavviando il servizio.

systemctl restart mysql

La configurazione del database mariadb è stata completata.

Fase 5 - Scarica e configura LibreNMS

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

- Aggiungi nuovo utente e scarica LibreNMS

Crea un nuovo utente di sistema chiamato 'librenms', definisci '/opt/librenms' come directory home predefinita per l'utente e assegna il nuovo utente 'librenms' al gruppo www-data.

Esegui il seguente comando per fare tutto.

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

Ora vai nella directory '/opt/' e scarica il codice sorgente di LibreNMS usando il comando git.

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

Quindi, crea una nuova directory per i file di registro libreNMS e i file rrd.

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

Modifica le autorizzazioni di proprietà per la directory 'rrd' in '775' e cambia il proprietario della directory 'librenms' nell'utente e nel gruppo 'librenms'.

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

È stato creato un nuovo 'librenms' ed è stato scaricato il codice sorgente di LibreNMS.

- Configura LibreNMS Virtualhost

Vai alla directory di configurazione 'nginx' e crea un nuovo file host virtuale 'librenms' con vim

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

Incolla lì la seguente configurazione dell'host virtuale LibreNMS.

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;
    }
}

Salva ed esci. Ora attiva l'host virtuale.

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

Testa la configurazione di nginx e assicurati che non ci siano errori. Quindi riavvia il servizio.

nginx -t
systemctl restart nginx

- Configura Firewall UFW

Aggiungi nuove porte al firewall. Aggiungi nuovo ssh, http, https e la porta utilizzata da snmpd 161 udp type al firewall ufw.

Esegui i seguenti comandi ufw.

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

Avvia il firewall ufw con il comando ufw enable come mostrato di seguito.

ufw enable

Digita 'y' e premi 'Invio' per confermare. Avvia e abilitalo per l'avvio ogni volta all'avvio del sistema.

Se vuoi vedere lo stato del firewall, esegui il comando 'ufw status'.

ufw status

Otterrai lo stato del firewall - attivo o inattivo - e l'elenco delle porte e dei servizi aggiunti al firewall.

Fase 6 - Programma di installazione Web di LibreNMS

Dopo aver completato tutti i passaggi precedenti, è necessario installare LibreNMS tramite il browser web. Apri il tuo browser web, digita il nome di dominio LibreNMS "librenms.hakase-labs.co" nella barra degli indirizzi e premi Invio.

- Verifica dei moduli PHP

Verrai reindirizzato alla pagina install.php che mostra il risultato dei controlli del supporto del modulo PHP. Assicurati che tutti gli stati siano verdi come mostrato di seguito.

Fai clic su "Fase successiva ' per continuare.

- Configurazione database

Riempi tutte le informazioni del database con il tuo db.

  • Utente DB:librenms
  • Pass DB:hakase-labs123
  • Nome DB:librenms

E fai clic su "Fase successiva '.

- Importazione del database MySQL

Attendi che lo script di installazione importi un campione di database nel nostro database:non chiudere la scheda del browser durante questo processo.

Dopo aver importato tutti i db, fai clic su "Vai ad Aggiungi utente '.

- Aggiungi utente amministratore

Qui, digita l'utente amministratore, l'e-mail e la password.

Fai clic su 'Aggiungi utente '.

- Genera configurazione LibreNMS

Fai clic su "Genera configurazione pulsante '.

E otterrai un file di configurazione simile a quello mostrato di seguito.

Copia lo script di configurazione php e torna alla tua sessione ssh. Vai alla directory '/opt/librenms' e crea manualmente il file 'config.php' usando vim.

cd /etc/librenms/
vim config.php

Incolla lì la configurazione e cambia la proprietà del file in librenms utente e gruppo.

chown librenms:librenms config.php

Torna al tuo browser web e fai clic su 'Termina installazione pulsante '.

Ora arrivi all'ultima pagina del programma di installazione web di librenms - vedi sotto.

Passaggio 7 - Configurazione finale

Al termine dell'installazione tramite browser web, dobbiamo eseguire alcuni altri passaggi.

- Configura SNMP

Eseguire il backup del file di configurazione predefinito e copiare la configurazione di esempio nella directory '/etc/snmp/'.

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

Modifica la nuova configurazione con vim.

vim /etc/snmp/snmpd.conf

Sostituisci la riga "RANDOMSTRINGGOESHERE" con il nome della tua comunità "hakaselabs", come mostrato di seguito.

com2sec readonly  default         hakaselabs

Salva ed esci.

Successivamente, dobbiamo scaricare lo script di rilevamento della distribuzione. Scaricalo usando curl, quindi rendi eseguibile lo script, quindi infine riavvia il servizio snmp.

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

- Configurazione Crontab e Logrotate

Vai alla directory librenms e copia la configurazione di esempio per Crontab e Logrotate.

cd /opt/librenms/

Copia la configurazione.

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

Ora riavvia il servizio cron e ricarica la configurazione logrotate.

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

- Convalida configurazione

Attendi qualche tempo fino a quando lo script cron è in esecuzione sul sistema. Una volta fatto, convalida con lo script 'validate.php'.

Vai alla directory librenms ed esegui lo script di convalida.

cd /opt/librenms/
./validate.php

Se la tua installazione è corretta, otterrai il risultato come mostrato di seguito.

L'installazione di LibreNMS con Nginx Webserver su Ubuntu 16.04 è completa.


Ubuntu
  1. Come installare Nextcloud con Nginx su Ubuntu 18.04 LTS

  2. Come installare lo strumento di monitoraggio Zabbix su Ubuntu 18.04 LTS

  3. Come installare Seafile con Nginx su Ubuntu 20.04 LTS

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

  5. Come distribuire Modsecurity con Nginx su Ubuntu 20.04 LTS

Come installare phpMyAdmin con Nginx (LEMP) su Ubuntu 18.04 LTS

Come installare Nginx con il modulo Ngx_Pagespeed su Ubuntu 16.04 LTS

Come installare Joomla con Nginx su Ubuntu 18.04 LTS

Come installare phpMyAdmin con Nginx su Ubuntu 18.04 LTS

Come installare phpMyAdmin con Nginx su Ubuntu 20.04 LTS

Come installare LibreNMS su Ubuntu 20.04 LTS