Kako instalirati LibreNMS alat za praćenje na Debian 11/10


LibreNMS je open-source i potpuno opremljen alat za praćenje umrežavanja koji pruža širok spektar funkcija i mogućnosti za praćenje vaših mrežnih uređaja.

Ključne karakteristike uključuju:

  • Automatsko otkrivanje vaše cijele mreže pomoću ARP, SNMP, BGP, OSPF, LLDP i FDP protokola.
  • Sistem upozorenja koji je vrlo prilagodljiv i može se podesiti da šalje upozorenja putem e-pošte, Slack-a i drugih kanala.
  • Jednostavna i lako prilagodljiva kontrolna tabla.
  • Potpuno opsežan API za upravljanje i grafički prikaz podataka sa vašeg servera za praćenje.
  • Opsežna podrška za uređaje – Podržava širok spektar proizvođača hardvera kao što su Cisco, Juniper, HP i mnogi drugi.
  • Automatska ažuriranja i ispravke grešaka.
  • Višefaktorska autentifikacija.
  • Izvorna podrška za Android i iOS aplikacije.
  • i još mnogo toga.

U ovom vodiču ćemo instalirati LibreNMS alat za nadzor na Debian 11/10.

Korak 1: Instalirajte Nginx, MariaDB i PHP

Za početak, osvježite spremišta i instalirajte preduvjetne pakete na sljedeći način:

sudo apt update
sudo apt install software-properties-common wget apt-transport-https

Sljedeći korak je instaliranje Nginxa i dodatnih paketa kao što su curl, git, SNMP i python paketi koji će biti potrebni alatu za praćenje LibreNMS.

Dakle, pokrenite naredbu:

sudo apt install nginx-full curl acl fping graphviz composer git imagemagick mtr-tiny nmap python3-pip python3-memcache python3-mysqldb python3-dotenv python3-pymysql rrdtool snmp snmpd whois python3-redis python3-systemd python3-setuptools python3-systemd

Zatim instalirajte MariaDB server baze podataka, PHP i dodatne PHP ekstenzije koje su potrebne LibreNMS alatu za praćenje.

sudo apt install mariadb-server php php-fpm php-cli php-xml php-common php-gd php-json php-snmp php-pdo php-mysql php-zip php-curl php-mbstring php-pear php-bcmath

Nakon instalacije, obavezno omogućite usluge Nginx, php-fpm, MariaDB i SNMP kao što je prikazano.

sudo systemctl enable --now nginx
sudo systemctl enable --now php7.4-fpm
sudo systemctl enable --now mariadb
sudo systemctl enable --now snmpd.service

Korak 2: Konfigurišite vremensku zonu za PHP

Sledeći korak zahteva od nas da konfigurišemo ili postavimo PHP vremensku zonu. Ovo se radi u datoteci php.ini koja je podrazumevani PHP konfiguracioni fajl.

Pristupite konfiguracijskim datotekama php.ini na sljedećim stazama koristeći svoj omiljeni uređivač.

sudo nano /etc/php/7.4/fpm/php.ini
sudo nano /etc/php/7.4/cli/php.ini

Idite do parametra date.timezone i postavite ga na svoju vremensku zonu. Da biste dobili sveobuhvatnu listu svih podržanih vremenskih zona, idite na službenu PHP stranicu.

U ovom primjeru postavljamo vremensku zonu na UTC.

date.timezone = UTC

Zatim sačuvajte promjene i izađite iz datoteka.

Korak 3: Kreirajte bazu podataka za LibreNMS

U ovom koraku ćemo kreirati bazu podataka za LibreNMS instalaciju. Ali prvo, hajde da osiguramo bazu podataka bezbednom pokretanjem sledeće skripte:

sudo mysql_secure_installation

Slijedite detaljna uputstva koja će vas voditi kako da kreirate MariaDB root lozinku, uklonite anonimne korisnike i testirate bazu podataka i na kraju onemogućite udaljenu root prijavu.

Zatim se prijavite na MariaDB:

sudo mysql -u root -p

Zatim pokrenite sljedeće naredbe da kreirate bazu podataka i korisnika baze podataka i dodijelite sve privilegije korisniku baze podataka.

CREATE DATABASE librenms_db CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms_user'@'localhost' IDENTIFIED BY 'P@ssword321'; 
GRANT ALL PRIVILEGES ON librenms_db.* TO 'librenms_user'@'localhost';

Zatim sačuvajte promjene i izađite iz MariaDB prompta.

FLUSH PRIVILEGES;
EXIT;

Potrebno je određeno fino podešavanje baze podataka. Dakle, otvorite MariaDB konfiguracijsku datoteku prikazanu:

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

Zatim zalijepite sljedeće linije koda u odjeljak 'mysqld'.

innodb_file_per_table=1
lower_case_table_names=0

Sačuvajte promjene i izađite iz datoteke. Da biste primijenili promjene, ponovo pokrenite poslužitelj baze podataka.

sudo systemctl restart mariadb

Korak 4: Dodajte LibreNMS korisnika

Također morate kreirati novog LibreNMS korisnika. Ovo je korisnik pod kojim će LibreNMS biti pokrenut. U ovom primjeru kreiramo korisnika pod nazivom librenms sa sljedećim atributima.

sudo useradd librenms -d /opt/librenms -M -r -s /bin/bash
sudo usermod -aG librenms www-data
  • Opcija -d postavlja početni direktorij za librenms korisnika na /opt/librenms direktorij.
  • Opcija -r konfigurira korisnika librenms kao korisnika sistema.
  • Opcija -M preskače kreiranje kućnog direktorija za korisnika jer je on već definiran pomoću opcije -d.
  • Opcija -s specificira tip ljuske, u ovom slučaju bash.

Korak 5: Klonirajte LibreNMS Git Repository

Mijenjamo brzine, sada ćemo klonirati git spremište LibreNMS da počnemo s njegovim postavljanjem.

Pokrenite sljedeće naredbe da klonirate Git spremište

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

Zatim se vratite na početni direktorij.

cd  ~

Zatim moramo dodijeliti vlasništvo direktorija i dozvole Librenms početnom direktoriju. Da biste to postigli, pokrenite sljedeće naredbe:

sudo chown -R librenms:librenms /opt/librenms
sudo chmod 771 /opt/librenms

Dodatno, modificirajte liste kontrole pristupa za Librenms kućni direktorij pomoću naredbe setfacl. Ovo grupi Librenms daje dozvolu za čitanje i pisanje u poddirektorijumima u početnom direktoriju.

sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

Korak 6: Instalirajte PHP zavisnosti

Neke zavisnosti su potrebne PHP-u tokom postavljanja LibreNMS alata za praćenje. Da biste to učinili, morate biti prijavljeni kao librenmsuser.

sudo su - librenms

Zatim instalirajte sve PHP zavisnosti kako slijedi.

./scripts/composer_wrapper.php install --no-dev

Kada se instalacija zavisnosti završi, izađite iz librenms korisnika.

exit

Korak 7: Konfigurišite PHP-FPM za instalaciju LibreNMS-a

Idemo dalje, moramo napraviti nekoliko promjena u PHP-FPM kako bismo podržali LibreNMS.

Da bi ovo postigla. Kopirajte datoteku „www.conf“ koja je zadana datoteka konfiguracije bazena u datoteku „librenms.conf“ na sljedeći način.

sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

Zatim uredite datoteku „librenms.conf“.

sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf

Promijenite parametre korisnika i grupe u librenms kao što je prikazano

user = librenms
group = librenms

Zatim modificirajte atribut slušanja u /run/php-fpm-librenms.sock na sljedeći način.

listen = /run/php-fpm-librenms.sock

Sačuvajte promjene i izađite iz konfiguracije. Obavezno ponovo pokrenite PHP-FPM uslugu da biste primijenili promjene.

sudo systemctl restart php7.4-fpm

Korak 8: Konfigurirajte SNMP Daemon

SNMP protokol je TCP/IP protokol koji prikuplja i organizira metriku ili informacije sa upravljanih uređaja širom mreže.

Većina alata za praćenje kao što je Cacti koristi SNMP uslugu za prikupljanje informacija sa udaljenih hostova. Kao i LibreNMS.

Da konfigurišete SNMP uslugu, nastavite i kopirajte datoteku snmpd.conf.example u datoteku /etc/snmp/snmpd.conf.

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Zatim uredite datoteku snmpd.conf.

sudo vim /etc/snmp/snmpd.conf

Pronađite niz RANDOMSTRINGGOESHERE.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Promijenite ga u librenms.

com2sec readonly  default		  librenms

Sačuvajte promjene i izađite.

Zatim preuzmite distro datoteku, koja je datoteka koja automatski detektuje OS upravljanih čvorova i razlikuje njegovu distribuciju.

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

Učinite ga izvršnim i ponovo pokrenite SNMP uslugu.

sudo chmod +x /usr/bin/distro
sudo systemctl restart snmpd

Korak 9: Konfigurirajte Nginx za LibreNMS

Sa Nginxom kao našim preferiranim web serverom, moramo napraviti dodatni korak i konfigurirati ga kako bismo poslužili LibreNMS.

Prvo ćemo kreirati blok Nginx servera kao što je prikazano.

sudo nano /etc/nginx/sites-available/librenms

Zalijepite sljedeće linije kodova. Za atribut ime_servera navedite registrovano ime domene ili IP adresu vašeg servera.

server {
  listen      80;
  server_name 23.92.30.144;        
  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/php-fpm.sock;
  }
  location ~ /.ht {
   deny all;
  }
 }

Sačuvajte promjene i izađite iz konfiguracijske datoteke. Zatim omogućite blok Nginx servera kreiranjem simboličke veze kao što je prikazano.

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

Zatim ponovo pokrenite Nginx da biste primijenili promjene napravljene na konfiguraciji.

sudo systemctl restart nginx

Osim toga, možete potvrditi da su sve postavke Nginxa u redu tako što ćete pokrenuti naredbu:

sudo nginx -t

Korak 10: Kopirajte Logrotate i Cron konfiguraciju

Prema zadanim postavkama, LibreNMS pohranjuje svoje zapise u /opt/librenms/logs direktorij. Vremenom, ovo može lako popuniti i predstavljati probleme sa prostorom. Da biste to spriječili, preporučuje se rotacija starih log datoteka.

Stoga kopirajte datoteku logrotate iz LibreNMS direktorija u direktorij /etc/logrotate.d/.

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

Jednako važno, kopirajte datoteku cron posla kako slijedi kako biste omogućili automatsko prozivanje i otkrivanje novih uređaja

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

Korak 11: Završite podešavanje LibreNMS-a iz pretraživača

Da dovršite podešavanje iz pretraživača, idite na sljedeći URL:

http://server-ip

Ovo vas vodi na prikazanu kontrolnu listu prije instalacije. Ako sve izgleda dobro, kliknite na ikonu 'baza podataka' s desne strane.

Obavezno popunite sve detalje baze podataka i kliknite na "Provjeri vjerodajnice".

Nakon što su podaci o bazi podataka potvrđeni, kliknite na 'Izgradi bazu podataka'.

Kada prođete ovaj korak, kliknite na sljedeću ikonu da kreirate Admin korisnika. Unesite korisničko ime, lozinku i adresu e-pošte administratora i kliknite na 'Dodaj korisnika'.

Konačno, kliknite na posljednje dugme da završite instalaciju.

Naići ćete na ovu grešku koja vas obavještava da instalacijski program „Nije uspio upisati datoteku: /opt/librenms/.env“.

Ali ne brinite. Jednostavno ručno ažurirajte datoteku /opt/librenms/.env iznova sa navedenim detaljima baze podataka. Ovi detalji će se razlikovati u vašem slučaju.

Dakle, pristupite datoteci.

sudo nano /opt/librenms/.env

Izbrišite sav sadržaj u datoteci i zalijepite gore navedene detalje u datoteku i sačuvajte promjene.

Zatim se vratite i kliknite na dugme 'Pokušaj ponovo'. Ovo vas vodi na stranicu za prijavu na LibreNMS. Unesite vjerodajnice za prijavu i kliknite na "Prijava".

Nakon što se prijavite, dobit ćete takvu kontrolnu tablu. Odavde možete početi dodavati svoje hostove i pratiti različite metrike.

I to je to. U ovom vodiču smo vas proveli kroz instalaciju LibreNMS alata za praćenje na Debian 11/10.