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


LibreNMS je alat za mrežni nadzor otvorenog koda s potpunim značajkama koji pruža širok raspon značajki i mogućnosti nadzora za vaše mrežne uređaje.

Ključne značajke uključuju:

  • Automatsko otkrivanje vaše cijele mreže pomoću ARP, SNMP, BGP, OSPF, LLDP i FDP protokola.
  • Sustav upozorenja koji je vrlo prilagodljiv i može se prilagoditi za slanje upozorenja putem e-pošte, Slacka i drugih kanala.
  • Jednostavna i lako prilagodljiva nadzorna ploča.
  • Potpuno opsežan API za upravljanje i grafički prikaz podataka s vašeg poslužitelja za praćenje.
  • Opsežna podrška za uređaje – Podržava širok raspon dobavljača hardvera kao što su Cisco, Juniper, HP i mnogi drugi.
  • Automatska ažuriranja i ispravci grešaka.
  • Provjera autentičnosti s više faktora.
  • Nativna podrška za Android i iOS aplikacije.
  • i još mnogo toga.

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

Korak 1: Instalirajte Nginx, MariaDB i PHP

Za početak, osvježite repozitorije 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 instalacija Nginxa i dodatnih paketa kao što su curl, git, SNMP i python paketi koji će biti potrebni LibreNMS alatu za praćenje.

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 poslužitelj baze podataka MariaDB, PHP i dodatna PHP proširenja koja su potrebna 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: Konfigurirajte vremensku zonu za PHP

Sljedeći korak zahtijeva da konfiguriramo ili postavimo PHP vremensku zonu. To se radi u datoteci php.ini koja je zadana PHP konfiguracijska datoteka.

Pristupite php.ini konfiguracijskim datotekama na sljedećim stazama koristeći svoj omiljeni editor.

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

Dođite do parametra date.timezone i postavite ga na svoju vremensku zonu. Da biste dobili sveobuhvatan popis svih podržanih vremenskih zona, idite na službenu PHP stranicu.

U ovom primjeru vremensku zonu postavljamo na UTC.

date.timezone = UTC

Zatim spremite promjene i izađite iz datoteka.

Korak 3: Napravite bazu podataka za LibreNMS

U ovom koraku izradit ćemo bazu podataka za instalaciju LibreNMS-a. Ali prvo osigurajmo bazu podataka tako što ćemo pokrenuti sljedeću skriptu:

$ sudo mysql_secure_installation

Slijedite detaljne upute koje će vas voditi o tome kako stvoriti MariaDB root lozinku, ukloniti anonimne korisnike i testirati bazu podataka te na kraju onemogućiti udaljenu root prijavu.

Zatim se prijavite u MariaDB:

$ sudo mysql -u root -p

Zatim pokrenite sljedeće naredbe za kreiranje baze 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 '[email '; 
GRANT ALL PRIVILEGES ON librenms_db.* TO 'librenms_user'@'localhost';

Zatim spremite promjene i izađite iz MariaDB odzivnika.

FLUSH PRIVILEGES;
EXIT;

Potrebno je malo finog podešavanja baze podataka. Dakle, otvorite prikazanu MariaDB konfiguracijsku datoteku:

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

Zatim zalijepite sljedeće retke koda u odjeljak mysqld.

innodb_file_per_table=1
lower_case_table_names=0

Spremite promjene i izađite iz datoteke. Za primjenu promjena ponovno pokrenite poslužitelj baze podataka.

$ sudo systemctl restart mariadb

Korak 4: Dodajte LibreNMS korisnika

Također morate stvoriti novog LibreNMS korisnika. Ovo je korisnik pod kojim će LibreNMS raditi. U ovom primjeru stvaramo 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 sustava.
  • Opcija -M preskače kreiranje matičnog imenika za korisnika budući da je on već definiran pomoću opcije -d.
  • Opcija -s navodi vrstu ljuske, u ovom slučaju bash.

Korak 5: Klonirajte LibreNMS Git repozitorij

Mijenjajući brzinu, sada ćemo klonirati LibreNMS git repozitorij da bismo ga započeli postavljati.

Pokrenite sljedeće naredbe za kloniranje Git repozitorija

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

Zatim se vratite u početni direktorij.

$ cd  ~

Zatim moramo dodijeliti vlasništvo nad imenikom i dopuštenja Librenmsovom početnom imeniku. Da biste to postigli, pokrenite sljedeće naredbe:

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

Dodatno, izmijenite popise kontrole pristupa za Librenms matični direktorij pomoću naredbe setfacl. Ovo Librenms grupi daje dozvolu za čitanje i pisanje u poddirektorije 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 ovisnosti

PHP zahtijeva neke ovisnosti tijekom postavljanja alata za nadzor LibreNMS. Da biste to učinili, morate biti prijavljeni kao librenmsuser.

$ sudo su - librenms

Zatim instalirajte sve PHP ovisnosti na sljedeći način.

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

Nakon što je instalacija ovisnosti dovršena, izađite iz korisnika librenms.

$ exit

Korak 7: Konfigurirajte PHP-FPM za instalaciju LibreNMS-a

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

Da bi se to postiglo. Kopirajte datoteku 'www.conf' koja je zadana konfiguracijska datoteka bazena u datoteku 'librenms.conf' kako slijedi.

$ 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 promijenite atribut slušanja u /run/php-fpm-librenms.sock na sljedeći način.

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

Spremite promjene i izađite iz konfiguracije. Svakako ponovno pokrenite PHP-FPM uslugu kako 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 podatke s upravljanih uređaja diljem mreže.

Većina alata za nadzor kao što je Cacti koristi SNMP uslugu za prikupljanje informacija s udaljenih računala. Kao i LibreNMS.

Da biste konfigurirali SNMP uslugu, samo naprijed 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 u librenms.

com2sec readonly  default		  librenms

Spremite promjene i izađite.

Zatim preuzmite distro datoteku, datoteku koja automatski otkriva 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 ponovno pokrenite SNMP uslugu.

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

Korak 9: Konfigurirajte Nginx za LibreNMS

Uz Nginx kao naš preferirani web poslužitelj, moramo napraviti dodatni korak i konfigurirati ga kako bismo poslužili LibreNMS.

Prvo ćemo stvoriti blok Nginx poslužitelja kao što je prikazano.

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

Zalijepite sljedeće retke kodova. Za atribut server_name navedite registrirani naziv domene ili IP adresu vašeg poslužitelja.

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

Spremite promjene i izađite iz konfiguracijske datoteke. Zatim omogućite blok Nginx poslužitelja stvaranjem simboličke veze kao što je prikazano.

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

Zatim ponovno pokrenite Nginx kako biste primijenili promjene napravljene u konfiguraciji.

$ sudo systemctl restart nginx

Osim toga, možete potvrditi da su sve Nginx postavke u redu pokretanjem naredbe:

$ sudo nginx -t

Korak 10: Kopirajte Logrotate i Cron konfiguraciju

Prema zadanim postavkama, LibreNMS pohranjuje svoje zapisnike u direktorij /opt/librenms/logs. S vremenom se to može lako napuniti i predstavljati probleme s prostorom. Kako bi se to spriječilo, preporučuje se rotacija starih datoteka dnevnika.

Stoga kopirajte datoteku logrotate iz direktorija LibreNMS 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: Dovršite postavljanje LibreNMS-a iz preglednika

Da biste dovršili postavljanje iz preglednika, idite na sljedeći URL:

http://server-ip

Ovo vas vodi do prikazanog popisa za provjeru prije instalacije. Ako sve izgleda dobro, kliknite na ikonu 'baza podataka' s desne strane.

Obavezno ispunite sve pojedinosti baze podataka i kliknite Provjeri vjerodajnice.

Nakon potvrđivanja podataka o bazi podataka, kliknite na Izradi bazu podataka.

Kada prođete ovaj korak, kliknite na sljedeću ikonu da biste stvorili administratorskog korisnika. Unesite korisničko ime, zaporku i e-mail korisnika Administratora i kliknite na Dodaj korisnika.

Na kraju kliknite zadnji gumb da biste dovršili instalaciju.

Naići ćete na ovu pogrešku koja vas obavještava da je instalacijski program 'Nije uspio napisati datoteku: /opt/librenms/.env'.

Ali ne brinite. Jednostavno ručno iznova ažurirajte datoteku /opt/librenms/.env s 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 spremite promjene.

Zatim se vratite i kliknite gumb 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 nadzornu ploču. Odavde možete početi dodavati svoje hostove i pratiti razne metrike.

I to je to. U ovom vodiču proveli smo vas kroz instalaciju LibreNMS alata za nadzor na Debianu 11/10.