LibreNMS è uno strumento di monitoraggio della rete gratuito e open source per il sistema operativo Linux. Puoi monitorare diversi sistemi operativi come Linux, Windows, FreeBSD e diversi dispositivi di rete come Cisco, Juniper, Foundry, FreeBSD, Brocade e molti altri con LibreNMS. Utilizza i protocolli SNMP, ARP, CDP, FDP, LLDP, OSPF e BGP per rilevare automaticamente l'intera rete. Ha un'interfaccia web semplice e intuitiva che ti aiuta a monitorare tutti i dispositivi dal browser web. Ha un ricco set di funzionalità tra cui rilevamento automatico, avvisi personalizzabili, accesso API, aggiornamenti automatici e molto altro.
In questo tutorial, ti mostreremo le istruzioni passo passo su come installare LibreNMS su Ubuntu 20.04.
Prerequisiti
- Un server che esegue Ubuntu 20.04.
- Una password di root è configurata su.
Per iniziare
Innanzitutto, si consiglia di aggiornare i pacchetti di sistema all'ultima versione. Puoi farlo con il seguente comando:
apt-get update -y
Dopo aver aggiornato tutti i pacchetti, installa tutte le dipendenze richieste per LibreNMS con il seguente comando:
apt-get install rrdtool whois fping imagemagick graphviz mtr-tiny nmap python3-mysqldb snmp snmpd python3-pip python3-memcache mtr-tiny acl unzip git curl wget -y
Una volta installate tutte le dipendenze, puoi procedere al passaggio successivo.
Installa il server LEMP
Successivamente, dovrai installare il server web Nginx, il server MariaDB, PHP e altre estensioni PHP nel tuo server. Puoi installarli tutti eseguendo il seguente comando:
apt-get install nginx mariadb-server php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-bcmath php-imap php-json php-xml php-snmp php-fpm php-zip -y
Dopo aver installato tutti i pacchetti, dovrai impostare il fuso orario nel tuo file php.ini.
Innanzitutto, trova il fuso orario del tuo sistema con il seguente comando:
cat /etc/timezone
Dovresti vedere il seguente output:
Etc/UTC
Quindi, modifica entrambi i file php.ini con il seguente comando:
nano /etc/php/7.4/fpm/php.ini
nano /etc/php/7.4/cli/php.ini
Definisci il fuso orario del tuo sistema come mostrato di seguito:
date.timezone = Etc/UTC
Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio PHP-FPM per applicare le modifiche:
systemctl restart php7.4-fpm
Una volta terminato, puoi procedere al passaggio successivo.
Configura il database MariaDB
Successivamente, dovrai creare un database e un utente per LibreNMS.
Innanzitutto, accedi alla shell di MariaDB con il seguente comando:
mysql
Una volta effettuato l'accesso, crea un database e un utente con il seguente comando:
MariaDB [(none)]> create database librenmsdb CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> grant all privileges on librenmsdb.* to [email protected] IDENTIFIED by "password";
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Quindi, modifica il file di configurazione di MariaDB e aggiungi alcune impostazioni desiderate:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Aggiungi le seguenti righe all'interno della sezione [mysqld]:
innodb_file_per_table=1 sql-mode="" lower_case_table_names=0
Salva e chiudi il file, quindi riavvia il servizio MariaDB per applicare le modifiche:
systemctl restart mariadb
A questo punto il tuo MariaDB è configurato. Ora puoi procedere al passaggio successivo.
Installa e configura LibreNMS
Innanzitutto, dovrai creare un utente separato per eseguire LibreNMS. Puoi aggiungerlo con il seguente comando:
useradd -r -M -d /opt/librenms librenms
Quindi, aggiungi l'utente librenms al gruppo www-data con il seguente comando:
usermod -a -G librenms www-data
Quindi, cambia la directory in /opt e scarica l'ultima versione di LibreNMS con il seguente comando:
cd /opt
git clone https://github.com/librenms/librenms.git librenms
Quindi, crea un file di registro per LibreNMS con il seguente comando:
touch /opt/librenms/logs/librenms.log
Quindi, copia il file di configurazione di esempio SNMP con il comando seguente:
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Quindi, modifica il file snmpd.conf:
nano /etc/snmp/snmpd.conf
Trova la riga seguente:
com2sec readonly default RANDOMSTRINGGOESHERE
E, lo sostituisci con la seguente riga:
com2sec readonly default mysnmpserverkey
Salva e chiudi il file, quindi scarica il binario della distribuzione SNMP e copialo nella posizione desiderata:
curl -o distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x distro
mv distro /usr/bin/distro
Quindi, riavvia il servizio SNMP per applicare le modifiche:
systemctl restart snmpd
Successivamente, dovrai anche copiare il file cron e logrotate di LibreNMS nella posizione desiderata. Puoi copiarli con il seguente comando:
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Quindi, cambia la directory in librenms e installa le dipendenze richieste usando il seguente comando:
cd /opt/librenms
./scripts/composer_wrapper.php install --no-dev
Una volta installate tutte le dipendenze, cambia la proprietà della directory librenms e dai i permessi necessari con il seguente comando:
chown -R www-data:librenms /opt/librenms
chmod -R 775 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
Una volta terminato, puoi procedere al passaggio successivo.
Configura Nginx per LibreNMS
Successivamente, dovrai creare un file di configurazione dell'host virtuale Nginx per LibreNMS. Puoi crearlo con il seguente comando:
nano /etc/nginx/conf.d/librenms.conf
Aggiungi le seguenti righe:
server { listen 80; server_name librenms.example.com; root /opt/librenms/html; index index.php; 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; } location ~ \.php { include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } location ~ /\.ht { deny all; } }
Salva e chiudi il file, quindi controlla Nginx per eventuali errori di sintassi con il seguente comando:
nginx -t
Dovresti vedere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Quindi, riavvia il servizio Nginx per applicare le modifiche:
systemctl restart nginx
Puoi anche verificare lo stato del servizio Nginx utilizzando il seguente comando:
systemctl status nginx
Dovresti ottenere il seguente output:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-09-05 06:15:20 UTC; 4min 5s ago Docs: man:nginx(8) Process: 28239 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 28250 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 28253 (nginx) Tasks: 3 (limit: 2353) Memory: 3.4M CGroup: /system.slice/nginx.service ??28253 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??28254 nginx: worker process ??28255 nginx: worker process Sep 05 06:15:20 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server... Sep 05 06:15:20 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.
Una volta terminato, puoi procedere al passaggio successivo.
Accedi all'interfaccia web di LibreNMS
Ora apri il tuo browser web e accedi a LibreNMS usando l'URL http://librenms.example.com. Verrai reindirizzato alla pagina di controllo della preinstallazione:
Assicurati che tutte le estensioni richieste siano installate, quindi fai clic sul Database impostazioni. Dovresti vedere la seguente pagina:
Fornisci il nome utente del database, il nome del database, la password e fai clic su Verifica Credenziali pulsante. Una volta che ha avuto successo, dovresti vedere la seguente pagina:
Ora, fai clic su Crea Banca dati pulsante. Dovresti vedere la seguente pagina:
Quindi, fai clic su Amministratore utente creazione pulsante. Dovresti vedere la seguente pagina:
Fornisci il tuo nome utente amministratore, e-mail, password e fai clic su Aggiungi Utente pulsante. Dovresti vedere la seguente pagina:
Quindi, fai clic su Fine installazione pulsante. Dovresti vedere la seguente pagina:
Quindi, fai clic su "convalida la tua installazione ". Dovresti vedere la pagina di accesso di LibreNMS:
Fornisci il nome utente e la password dell'amministratore di LibreNMS e fai clic su Accedi pulsante. Dovresti vedere la dashboard di LibreNMS:
Conclusione
Congratulazioni! hai installato e configurato correttamente lo strumento di monitoraggio della rete LibreNMS sul server Ubuntu 20.04. Ora puoi aggiungere un dispositivo o un host e avviare il monitoraggio dalla dashboard di LibreNMS. Sentiti libero di chiedermi se hai domande.