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.