Requisits previs
Instal·leu Nginx i PHP
Instal·leu MariaDB
Instal·leu LibreNMS
Configuracions SSL i Nginx VHost
Instal·lació mitjançant WebUI
LibreNMS és un sistema de control de xarxa de codi obert amb totes les funcions. S'utilitza SNMP per obtenir les dades de diferents dispositius. LibreNMS admet una varietat de dispositius com ara Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP i molts més. Admet múltiples mecanismes d'autenticació i admet l'autenticació de dos factors. Té un sistema d'alertes personalitzable que pot alertar l'administrador de la xarxa per correu electrònic, IRC o slack.
Requisits previs
Per a aquest tutorial, utilitzarem nms.example.com com a nom de domini apuntat cap a la instància Vultr. Assegureu-vos de substituir totes les ocurrències del nom de domini d'exemple per l'actual.
Actualitzeu el vostre sistema base mitjançant la guia Com actualitzar Ubuntu 16.04 . Un cop actualitzat el sistema, procediu a instal·lar les dependències.
Instal·leu Nginx i PHP
El front end de LibreNMS està escrit en PHP, per tant haurem d'instal·lar un servidor web i PHP. En aquest tutorial, instal·larem Nginx juntament amb PHP 7.2 per obtenir la màxima seguretat i rendiment.
Instal·leu Nginx.
sudo apt -y install nginx
Inicieu Nginx i activeu-lo perquè s'iniciï automàticament a l'arrencada.
sudo systemctl start nginx
sudo systemctl enable nginx
Afegiu i activeu el dipòsit Remi, ja que el dipòsit d'apt predeterminat conté una versió anterior de PHP.
sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update
Instal·leu PHP versió 7.2 juntament amb els mòduls requerits per LibreNMS.
sudo apt -y install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-fpm php7.2-gd php7.2-mysql php7.2-snmp php7.2-mbstring php7.2-xml php7.2-zip zip unzip
Obriu el fitxer de configuració carregat en un editor.
sudo nano /etc/php/7.2/fpm/php.ini
Busca les línies següents.
;cgi.fix_pathinfo=1
;date.timezone =
Descomenteu i utilitzeu aquests valors, substituïu-los Asia/Kolkata per la vostra zona horària local.
cgi.fix_pathinfo=0
date.timezone = Asia/Kolkata
També haureu de canviar la zona horària del sistema executant l'ordre següent.
sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
Reinicieu PHP-FPM.
sudo systemctl restart php7.2-fpm
Instal·leu MariaDB
MariaDB és una bifurcació de codi obert de MySQL. Afegiu el dipòsit de MariaDB al vostre sistema, ja que el dipòsit d'Ubuntu predeterminat conté una versió anterior de MariaDB.
sudo apt-key adv --yes --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mariadb.biz.net.id/repo/10.2/ubuntu xenial main'
sudo apt update
Instal·leu MariaDB. Durant la instal·lació, l'instal·lador demanarà la contrasenya de l' rootusuari de MySQL . Proporcioneu una contrasenya segura.
sudo apt -y install mariadb-server
Abans de començar a utilitzar MariaDB, haurem de modificar una mica la configuració. Obriu el fitxer de configuració.
sudo nano /etc/mysql/conf.d/mariadb.cnf
Afegiu el codi següent al final del fitxer.
[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
Reinicieu MariaDB i activeu-lo perquè s'iniciï automàticament en el moment de l'arrencada.
sudo systemctl restart mariadb.service
sudo systemctl enable mariadb.service
Abans de configurar la base de dades, haureu de protegir la instància MariaDB.
sudo mysql_secure_installation
Se us demanarà la contrasenya arrel actual de MariaDB i, a continuació, se us demanarà que canvieu la rootcontrasenya. Com que ja hem establert una contrasenya segura per a l' rootusuari durant la instal·lació, ometeu-la responent " N". Per a totes les altres preguntes, respon " Y". Les preguntes que es fan són autoexplicatives.
Inicieu sessió al shell de MySQL com a root.
mysql -u root -p
Proporcioneu la contrasenya perquè l'usuari root del MariaDB iniciï sessió. Executeu les consultes següents per crear una base de dades i un usuari de base de dades per a la instal·lació de LibreNMS.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Podeu substituir el nom de la base de dades librenms i el nom d'usuari librenms segons la vostra elecció. Assegureu-vos de canviar StrongPassword a una contrasenya molt segura .
Instal·leu LibreNMS
A part de les dependències anteriors, LibreNMS necessita poques dependències més.
sudo apt -y install fping git imagemagick jwhois mtr graphviz nmap python-memcache python-mysqldb rrdtool snmp snmpd whois composer
Afegiu un nou usuari sense privilegis per a l'aplicació LibreNMS.
sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -aG www-data librenms
LibreNMS es pot instal·lar directament clonant el seu dipòsit Github.
cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms
Canvia la propietat.
sudo chown librenms:librenms -R /opt/librenms
Instal·leu les dependències PHP.
cd /opt/librenms
sudo su librenms -c "composer install"
LibreNMS es basa en SNMP per a moltes tasques. Com que ja hem instal·lat SNMP, copieu el fitxer de configuració d'exemple a la seva ubicació.
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Obriu el fitxer de configuració a l'editor.
sudo nano /etc/snmp/snmpd.conf
Troba aquesta línia.
com2sec readonly default RANDOMSTRINGGOESHERE
Editeu el text RANDOMSTRINGGOESHERE i substituïu la cadena de comunitat per qualsevol cadena que vulgueu. Per exemple.
com2sec readonly default my-org
Recordeu la cadena ja que serà necessària més endavant quan afegim el primer dispositiu SNMP.
SNMP també necessita informació sobre la versió de distribució. Baixeu i instal·leu l'script per trobar la versió de distribució.
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
Inicieu el servei de dimoni SNMP i activeu-lo perquè s'iniciï automàticament en el moment de l'arrencada.
sudo systemctl enable snmpd
sudo systemctl restart snmpd
Ara haureu d'afegir algunes entrades de crontab per executar les tasques programades. Creeu un fitxer de treball cron nou.
sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Reinicieu el servei del dimoni cron.
sudo systemctl restart cron
Configuració logrotate perquè els fitxers de registre s'actualitzin automàticament amb el temps.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Finalment, establiu la propietat i els permisos adequats.
sudo chown -R librenms:www-data /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs
Configuracions SSL i Nginx VHost
Els inicis de sessió i altra informació enviada a través de la interfície web de LibreNMS no estan assegurades si la connexió no està xifrada amb SSL. Configurarem Nginx perquè utilitzi el SSL generat amb Let's Encrypt SSL gratuït.
Afegiu el repositori Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Instal·leu Certbot, que és l'aplicació client de Let's Encrypt CA.
sudo apt -y install certbot
Nota : per obtenir certificats de Let's Encrypt CA, el domini per al qual s'han de generar els certificats s'ha d'apuntar cap al servidor. Si no, feu els canvis necessaris als registres DNS del domini i espereu que el DNS es propagui abans de tornar a fer la sol·licitud de certificat. Certbot verifica l'autoritat del domini abans de proporcionar els certificats.
Generar els certificats SSL.
sudo certbot certonly --webroot -w /var/www/html -d nms.example.com
És probable que els certificats generats s'emmagatzemin al /etc/letsencrypt/live/nms.example.com/directori. El certificat SSL s'emmagatzemarà com a fullchain.pem i la clau privada com a privkey.pem.
Els certificats de Let's Encrypt caduquen en 90 dies, per tant, es recomana configurar la renovació automàtica dels certificats mitjançant un treball cron.
Obriu el fitxer de treball cron.
sudo crontab -e
Afegiu la línia següent al final del fitxer.
30 5 * * 1 /usr/bin/certbot renew --quiet
El treball cron anterior s'executarà tots els dilluns a les 5:30 a.m. hora local. Si el certificat ha de caducar, es renovarà automàticament.
Creeu un nou host virtual.
sudo nano /etc/nginx/sites-available/librenms
Omple el fitxer.
server {
listen 80;
server_name nms.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name nms.example.com;
ssl_certificate /etc/letsencrypt/live/nms.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nms.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /opt/librenms/logs/librenms.nginx.access.log;
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:/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Substituïu-lo nms.example.com pel vostre domini real a la configuració anterior.
Activa la configuració acabada de crear.
sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/librenms
Reinicieu Nginx.
sudo systemctl restart nginx
Instal·lació mitjançant WebUI
Per finalitzar la instal·lació, obriu https://nms.example.com al vostre navegador preferit. Veureu que es compleixen els requisits. Proporcioneu els detalls de la vostra base de dades i creeu un nou compte d'administrador. Un cop instal·lat, rebràs un missatge per validar la instal·lació. Feu clic a l'enllaç i inicieu sessió amb el compte d'administrador. Hauríeu de veure que tot excepte el " Poller" té un Okestat " ".

Ara, feu clic a l'enllaç per afegir un dispositiu. A la " Add Device" interfície, proporcioneu el nom d'amfitrió com a host local i deixeu-ho tot tal qual. Proporcioneu la vostra cadena de comunitat al camp de la comunitat. Ha de ser exactament la mateixa cadena que heu proporcionat snmpd.confdurant la configuració de SNMP.
![Superviseu els vostres dispositius utilitzant LibreNMS a Ubuntu 16.04 Superviseu els vostres dispositius utilitzant LibreNMS a Ubuntu 16.04]()
Un cop s'ha afegit el dispositiu, podeu veure'n els detalls si aneu a la Devicespestanya " ". De la mateixa manera, podeu afegir més dispositius a l'aplicació LibreNMS per al seguiment "tot el dia".