Kako namestiti orodje za spremljanje LibreNMS na Debian 11/10


LibreNMS je odprtokodno in popolnoma opremljeno orodje za spremljanje omrežja, ki zagotavlja širok nabor funkcij in zmogljivosti za spremljanje vaših omrežnih naprav.

Ključne funkcije vključujejo:

  • Samodejno odkrivanje celotnega omrežja s protokoli ARP, SNMP, BGP, OSPF, LLDP in FDP.
  • Opozorilni sistem, ki je zelo prilagodljiv in ga je mogoče prilagoditi za pošiljanje opozoril po e-pošti, Slacku in drugih kanalih.
  • Preprosta in enostavno prilagodljiva nadzorna plošča.
  • Popolnoma obsežen API za upravljanje in grafiranje podatkov iz vašega strežnika za spremljanje.
  • Obsežna podpora za naprave – Podpira široko paleto proizvajalcev strojne opreme, kot so Cisco, Juniper, HP in mnogi drugi.
  • Samodejne posodobitve in popravki napak.
  • Večfaktorsko preverjanje pristnosti.
  • Izvirna podpora za aplikacije za Android in iOS.
  • in še veliko več.

V tem priročniku bomo namestili orodje za spremljanje LibreNMS na Debian 11/10.

1. korak: Namestite Nginx, MariaDB in PHP

Za začetek osvežite repozitorije in namestite predpogojne pakete, kot sledi:

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

Naslednji korak je namestitev Nginxa in dodatnih paketov, kot so paketi curl, git, SNMP in python, ki jih bo zahtevalo orodje za spremljanje LibreNMS.

Torej, zaženite ukaz:

$ 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

Nato namestite strežnik baze podatkov MariaDB, PHP in dodatne razširitve PHP, ki jih potrebuje orodje za spremljanje LibreNMS.

$ 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

Ko je nameščen, ne pozabite omogočiti storitev Nginx, php-fpm, MariaDB in SNMP, kot 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

2. korak: Konfigurirajte Timezone za PHP

Naslednji korak od nas zahteva, da konfiguriramo ali nastavimo časovni pas PHP. To se naredi v datoteki php.ini, ki je privzeta konfiguracijska datoteka PHP.

Dostopajte do konfiguracijskih datotek php.ini po naslednjih poteh s svojim najljubšim urejevalnikom.

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

Pomaknite se do parametra date.timezone in ga nastavite na svoj časovni pas. Če želite dobiti izčrpen seznam vseh podprtih časovnih pasov, pojdite na uradno spletno mesto PHP.

V tem primeru nastavimo časovni pas na UTC.

date.timezone = UTC

Nato shranite spremembe in zapustite datoteke.

3. korak: Ustvarite bazo podatkov za LibreNMS

V tem koraku bomo ustvarili bazo podatkov za namestitev LibreNMS. Najprej pa zavarujemo bazo podatkov tako, da zaženemo naslednji skript:

$ sudo mysql_secure_installation

Sledite podrobnim navodilom, ki vas bodo vodili, kako ustvariti korensko geslo MariaDB, odstraniti anonimne uporabnike in preizkusiti bazo podatkov ter končno onemogočiti oddaljeno root prijavo.

Nato se prijavite v MariaDB:

$ sudo mysql -u root -p

Nato zaženite naslednje ukaze, da ustvarite bazo podatkov in uporabnika baze podatkov ter dodelite vse privilegije uporabniku baze podatkov.

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

Nato shranite spremembe in zapustite poziv MariaDB.

FLUSH PRIVILEGES;
EXIT;

Potrebno je nekaj natančnega prilagajanja baze podatkov. Torej odprite prikazano konfiguracijsko datoteko MariaDB:

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

Nato prilepite naslednje vrstice kode v razdelek »mysqld«.

innodb_file_per_table=1
lower_case_table_names=0

Shranite spremembe in zaprite datoteko. Če želite uporabiti spremembe, znova zaženite strežnik baze podatkov.

$ sudo systemctl restart mariadb

4. korak: Dodajte uporabnika LibreNMS

Prav tako morate ustvariti novega uporabnika LibreNMS. To je uporabnik, pod katerim se bo izvajal LibreNMS. V tem primeru ustvarjamo uporabnika z imenom librenms z naslednjimi atributi.

$ sudo useradd librenms -d /opt/librenms -M -r -s /bin/bash
$ sudo usermod -aG librenms www-data

  • Možnost -d nastavi domači imenik za uporabnika librenms na imenik /opt/librenms.
  • Možnost -r konfigurira uporabnika librenms kot uporabnika sistema.
  • Možnost -M preskoči ustvarjanje domačega imenika za uporabnika, saj je bil že definiran z možnostjo -d.
  • Možnost -s določa vrsto lupine, v tem primeru bash.

5. korak: Klonirajte skladišče LibreNMS Git

Prestavljamo prestave, zdaj bomo klonirali repozitorij LibreNMS git, da ga bomo začeli nastavljati.

Zaženite naslednje ukaze, da klonirate Git repozitorij

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

Nato preklopite nazaj v domači imenik.

$ cd  ~

Nato moramo domačemu imeniku Librenms dodeliti lastništvo in dovoljenja. Če želite to doseči, zaženite naslednje ukaze:

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

Poleg tega spremenite sezname za nadzor dostopa za domači imenik Librenms z ukazom setfacl. To daje skupini Librenms dovoljenje za branje in pisanje v podimenike v domačem imeniku.

$ 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/

6. korak: Namestite odvisnosti PHP

PHP med nastavitvijo orodja za spremljanje LibreNMS zahteva nekatere odvisnosti. Če želite to narediti, morate biti prijavljeni kot librenmsuser.

$ sudo su - librenms

Nato namestite vse odvisnosti PHP, kot sledi.

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

Ko je namestitev odvisnosti končana, zapustite uporabnika librenms.

$ exit

7. korak: Konfigurirajte PHP-FPM za namestitev LibreNMS

Če nadaljujemo, moramo narediti nekaj sprememb v PHP-FPM, da bi podprli LibreNMS.

Da bi to dosegli. Kopirajte datoteko »www.conf«, ki je privzeta konfiguracijska datoteka področja, v datoteko »librenms.conf«, kot sledi.

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

Nato uredite datoteko 'librenms.conf'.

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

Spremenite parametre uporabnika in skupine v librenms, kot je prikazano

user = librenms
group = librenms

Nato spremenite atribut poslušanja v /run/php-fpm-librenms.sock, kot sledi.

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

Shranite spremembe in zapustite konfiguracijo. Če želite uporabiti spremembe, znova zaženite storitev PHP-FPM.

$ sudo systemctl restart php7.4-fpm

8. korak: Konfigurirajte demona SNMP

Protokol SNMP je protokol TCP/IP, ki zbira in organizira meritve ali informacije iz upravljanih naprav v omrežju.

Večina orodij za spremljanje, kot je Cacti, uporablja storitev SNMP za zbiranje informacij od oddaljenih gostiteljev. In tudi LibreNMS.

Če želite konfigurirati storitev SNMP, kopirajte datoteko snmpd.conf.example v datoteko /etc/snmp/snmpd.conf.

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

Nato uredite datoteko snmpd.conf.

$ sudo vim /etc/snmp/snmpd.conf

Poiščite niz RANDOMSTRINGGOESHERE.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Spremenite ga v librenms.

com2sec readonly  default		  librenms

Shranite spremembe in zapustite.

Nato prenesite distribucijsko datoteko, ki je datoteka, ki samodejno zazna operacijski sistem upravljanih vozlišč in razlikuje njegovo distribucijo.

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

Naj bo izvedljiv in znova zaženite storitev SNMP.

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

9. korak: Konfigurirajte Nginx za LibreNMS

Z Nginxom kot našim prednostnim spletnim strežnikom moramo narediti dodaten korak in ga konfigurirati za strežnik LibreNMS.

Najprej bomo ustvarili blok strežnika Nginx, kot je prikazano.

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

Prilepite naslednje vrstice kod. Za atribut server_name navedite registrirano ime domene ali naslov IP vašega strežnika.

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

Shranite spremembe in zapustite konfiguracijsko datoteko. Nato omogočite blok strežnika Nginx, tako da ustvarite simbolno povezavo, kot je prikazano.

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

Nato znova zaženite Nginx, da uveljavite spremembe v konfiguraciji.

$ sudo systemctl restart nginx

Poleg tega lahko potrdite, da so vse nastavitve Nginxa v redu, tako da zaženete ukaz:

$ sudo nginx -t

10. korak: Kopirajte konfiguracijo Logrotate in Cron

LibreNMS privzeto shrani svoje dnevnike v imenik /opt/librenms/logs. Sčasoma lahko to zlahka zapolni in povzroči težave s prostorom. Da bi to preprečili, priporočamo rotacijo starih dnevniških datotek.

Zato kopirajte datoteko logrotate iz imenika LibreNMS v imenik /etc/logrotate.d/.

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

Enako pomembno je, da kopirate datoteko opravila cron, kot sledi, da omogočite samodejno anketiranje in odkrivanje novih naprav

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

11. korak: Dokončajte nastavitev LibreNMS iz brskalnika

Če želite dokončati nastavitev iz brskalnika, pojdite na naslednji URL:

http://server-ip

To vas pripelje do prikazanega kontrolnega seznama pred namestitvijo. Če je vse videti dobro, kliknite ikono »baze podatkov« na desni.

Ne pozabite izpolniti vseh podatkov baze podatkov in kliknite »Preveri poverilnice«.

Ko so podatki o zbirki podatkov potrjeni, kliknite »Zgradi bazo podatkov«.

Ko preidete ta korak, kliknite naslednjo ikono, da ustvarite skrbniškega uporabnika. Vnesite uporabniško ime, geslo in e-poštni naslov skrbniškega uporabnika in kliknite »Dodaj uporabnika«.

Na koncu kliknite zadnji gumb, da dokončate namestitev.

Naleteli boste na to napako, ki vas bo obvestila, da namestitveni program »Ni uspelo napisati datoteke: /opt/librenms/.env«.

Ampak ne skrbite. Preprosto ročno posodobite datoteko /opt/librenms/.env na novo s podatki o zbirki podatkov. Te podrobnosti se v vašem primeru razlikujejo.

Torej, dostopajte do datoteke.

$ sudo nano /opt/librenms/.env

Izbrišite vso vsebino v datoteki in prilepite zgoraj navedene podrobnosti v datoteko ter shranite spremembe.

Nato se vrnite nazaj in kliknite gumb »Poskusi znova«. To vas pripelje na stran za prijavo LibreNMS. Vnesite poverilnice za prijavo in kliknite »Prijava«.

Ko se prijavite, boste dobili takšno nadzorno ploščo. Od tu lahko začnete dodajati svoje gostitelje in spremljati različne meritve.

In to je to. V tem priročniku smo vas popeljali skozi namestitev orodja za spremljanje LibreNMS v Debian 11/10.