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.