Hvordan installere LibreNMS overvåkingsverktøy på Debian 11/10
LibreNMS er et åpen kildekode og fullt utstyrt nettverksovervåkingsverktøy som gir et bredt spekter av overvåkingsfunksjoner og muligheter for nettverksenhetene dine.
Nøkkelfunksjoner inkluderer:
- Automatisk oppdagelse av hele nettverket ditt ved hjelp av ARP-, SNMP-, BGP-, OSPF-, LLDP- og FDP-protokoller.
- Et varslingssystem som er svært tilpassbart og kan tilpasses for å sende varsler via e-post, Slack og andre kanaler.
- Et enkelt og enkelt tilpassbart dashbord.
- Et fullt omfattende API for å administrere og grafiske data fra overvåkingsserveren.
- Omfattende enhetsstøtte – Støtter et bredt spekter av maskinvareleverandører som Cisco, Juniper, HP og mange flere.
- Automatiske oppdateringer og feilrettinger.
- Multi-Factor-autentisering.
- Integrert støtte for Android- og iOS-apper.
- og mange flere.
I denne veiledningen vil vi installere LibreNMS-overvåkingsverktøyet på Debian 11/10.
Trinn 1: Installer Nginx, MariaDB og PHP
For å starte opp, oppdater depotene og installer de nødvendige pakkene som følger:
$ sudo apt update $ sudo apt install software-properties-common wget apt-transport-https
Det neste trinnet er å installere Nginx og tilleggspakker som curl, git, SNMP og python-pakker som kreves av LibreNMS-overvåkingsverktøyet.
Så kjør kommandoen:
$ 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
Installer deretter MariaDB-databaseserveren, PHP og flere PHP-utvidelser som trengs av LibreNMS-overvåkingsverktøyet.
$ 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
Når den er installert, må du sørge for å aktivere Nginx-, php-fpm-, MariaDB- og SNMP-tjenester som vist.
$ sudo systemctl enable --now nginx $ sudo systemctl enable --now php7.4-fpm $ sudo systemctl enable --now mariadb $ sudo systemctl enable --now snmpd.service
Trinn 2: Konfigurer TimeZone for PHP
Det neste trinnet krever at vi konfigurerer eller setter PHP-tidssonen. Dette gjøres i php.ini-filen som er standard PHP-konfigurasjonsfil.
Få tilgang til php.ini-konfigurasjonsfilene i følgende stier ved å bruke din favorittredigerer.
$ sudo nano /etc/php/7.4/fpm/php.ini $ sudo nano /etc/php/7.4/cli/php.ini
Naviger til date.timezone-parameteren og sett den til din tidssone. For å få en omfattende liste over all støttet tidssone, gå over til det offisielle PHP-nettstedet.
I dette eksemplet setter vi tidssonen til UTC.
date.timezone = UTC
Lagre deretter endringene og avslutt filene.
Trinn 3: Opprett en database for LibreNMS
I dette trinnet vil vi lage en database for LibreNMS-installasjon. Men først, la oss sikre databasen sikker ved å kjøre følgende skript:
$ sudo mysql_secure_installation
Følg de detaljerte instruksjonene som vil veilede deg om hvordan du oppretter MariaDB root-passordet, fjerner anonyme brukere og tester databasen og til slutt forbyr ekstern rotpålogging.
Logg deretter på MariaDB:
$ sudo mysql -u root -p
Kjør deretter følgende kommandoer for å opprette en database- og databasebruker og tilordne alle privilegier til databasebrukeren.
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';
Lagre deretter endringene og gå ut av MariaDB-ledeteksten.
FLUSH PRIVILEGES; EXIT;
Noe databasefinjustering er nødvendig. Så åpne MariaDB-konfigurasjonsfilen vist:
$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
Deretter limer du inn følgende kodelinjer i 'mysqld'-delen.
innodb_file_per_table=1 lower_case_table_names=0
Lagre endringene og avslutt filen. For å bruke endringene, start databaseserveren på nytt.
$ sudo systemctl restart mariadb
Trinn 4: Legg til LibreNMS-bruker
Du må også opprette en ny LibreNMS-bruker. Dette er brukeren som LibreNMS skal kjøre under. I dette eksemplet lager vi en bruker kalt librenms med følgende attributter.
$ sudo useradd librenms -d /opt/librenms -M -r -s /bin/bash $ sudo usermod -aG librenms www-data
- Alternativet
-d
setter hjemmekatalogen for librenms-brukeren til /opt/librenms-katalogen. - Alternativet
-r
konfigurerer librenms-brukeren som systembruker. - Alternativet
-M
hopper over å opprette en hjemmekatalog for brukeren siden den allerede er definert med-d
-alternativet. - Alternativet
-s
spesifiserer typen skall, i dette tilfellet bash.
Trinn 5: Klon LibreNMS Git Repository
Ved å skifte gir, skal vi nå klone LibreNMS git-depotet for å begynne å sette det opp.
Kjør følgende kommandoer for å klone Git-depotet
$ cd /opt $ sudo git clone https://github.com/librenms/librenms.git
Bytt deretter tilbake til hjemmekatalogen.
$ cd ~
Deretter må vi tildele katalogeierskap og tillatelser til Librenms hjemmekatalog. For å oppnå dette, kjør følgende kommandoer:
$ sudo chown -R librenms:librenms /opt/librenms $ sudo chmod 771 /opt/librenms
I tillegg kan du endre tilgangskontrolllistene for Librenms hjemmekatalog ved å bruke setfacl-kommandoen. Dette gir Librenms-gruppen tillatelse til å lese og skrive på underkatalogene i hjemmekatalogen.
$ 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/
Trinn 6: Installer PHP Dependencies
Noen avhengigheter kreves av PHP under oppsettet av LibreNMS-overvåkingsverktøyet. For å gjøre dette, må du være logget på som librenmsuser.
$ sudo su - librenms
Deretter installerer du alle PHP-avhengighetene som følger.
$ ./scripts/composer_wrapper.php install --no-dev
Når installasjonen av avhengighetene er fullført, avslutter du librenms-brukeren.
$ exit
Trinn 7: Konfigurer PHP-FPM for LibreNMS-installasjon
For å gå videre, må vi gjøre noen endringer i PHP-FPM for å støtte LibreNMS.
For å oppnå dette. Kopier 'www.conf'-filen som er standard konfigurasjonsfil for bassenget til 'librenms.conf'-filen som følger.
$ sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf
Deretter redigerer du filen 'librenms.conf'.
$ sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf
Endre bruker- og gruppeparametrene til librenms som vist
user = librenms group = librenms
Deretter endrer du listen-attributtet til /run/php-fpm-librenms.sock som følger.
listen = /run/php-fpm-librenms.sock
Lagre endringene og gå ut av konfigurasjonen. Sørg for å starte PHP-FPM-tjenesten på nytt for å ta i bruk endringene.
$ sudo systemctl restart php7.4-fpm
Trinn 8: Konfigurer SNMP-demonen
SNMP-protokollen er en TCP/IP-protokoll som samler inn og organiserer beregninger eller informasjon fra administrerte enheter over et nettverk.
De fleste overvåkingsverktøy som Cacti utnytter SNMP-tjenesten for å samle informasjon fra eksterne verter. Og det gjør LibreNMS også.
For å konfigurere SNMP-tjenesten, fortsett og kopier filen snmpd.conf.example til filen /etc/snmp/snmpd.conf.
$ sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Deretter redigerer du snmpd.conf-filen.
$ sudo vim /etc/snmp/snmpd.conf
Finn RANDOMSTRINGGOESHERE-strengen.
com2sec readonly default RANDOMSTRINGGOESHERE
Endre den til librenms.
com2sec readonly default librenms
Lagre endringene og avslutt.
Deretter laster du ned distro-filen, som er en fil som automatisk oppdager operativsystemet til de administrerte nodene og skiller distribusjonen.
$ sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
Gjør den kjørbar og start SNMP-tjenesten på nytt.
$ sudo chmod +x /usr/bin/distro $ sudo systemctl restart snmpd
Trinn 9: Konfigurer Nginx for LibreNMS
Med Nginx som vår foretrukne webserver, må vi gå et ekstra trinn og konfigurere den for å servere LibreNMS.
Først vil vi lage en Nginx-serverblokk som vist.
$ sudo nano /etc/nginx/sites-available/librenms
Lim inn følgende linjer med koder. For server_name-attributtet, oppgi serverens registrerte domenenavn eller IP-adresse.
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; } }
Lagre endringene og avslutt konfigurasjonsfilen. Deretter aktiverer du Nginx-serverblokken ved å lage en symbolsk lenke som vist.
$ sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
Start deretter Nginx på nytt for å bruke endringene som er gjort i konfigurasjonen.
$ sudo systemctl restart nginx
I tillegg kan du bekrefte at alle Nginx-innstillingene er i orden ved å kjøre kommandoen:
$ sudo nginx -t
Trinn 10: Kopier Logrotate og Cron-konfigurasjonen
Som standard lagrer LibreNMS sine logger i /opt/librenms/logs-katalogen. Over tid kan dette lett fylles opp og by på plassproblemer. For å forhindre dette anbefales rotasjon av gamle loggfiler.
Kopier derfor logrotate-filen i LibreNMS-katalogen til /etc/logrotate.d/-katalogen.
$ sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Like viktig, kopier cron-jobbfilen som følger for å tillate automatisk polling og oppdagelse av nye enheter
$ sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Trinn 11: Fullfør oppsettet av LibreNMS fra en nettleser
For å fullføre oppsettet fra en nettleser, gå over til følgende URL:
http://server-ip
Dette tar deg til sjekklisten før installasjonen som vises. Hvis alt ser bra ut, klikk på database-ikonet til høyre.
Sørg for å fylle ut alle databasedetaljene og klikk Sjekk legitimasjon.
Når databasedetaljene er validert, klikker du på Bygg database.
Når du kommer forbi dette trinnet, klikker du på neste ikon for å opprette en administratorbruker. Oppgi brukernavnet, passordet og e-postadressen til administratorbrukeren, og klikk Legg til bruker.
Til slutt klikker du på den siste knappen for å fullføre installasjonen.
Du vil støte på denne feilen og informere deg om at installasjonsprogrammet Kunne ikke skrive fil: /opt/librenms/.env.
Men ikke bekymre deg. Oppdater /opt/librenms/.env-filen manuelt manuelt med databasedetaljene som er oppgitt. Disse detaljene vil variere i ditt tilfelle.
Så, få tilgang til filen.
$ sudo nano /opt/librenms/.env
Slett alt innholdet i filen og lim inn detaljene ovenfor i filen og lagre endringene.
Gå deretter tilbake og klikk på 'Prøv på nytt'-knappen. Dette tar deg til LibreNMS-påloggingssiden. Oppgi påloggingsinformasjonen og klikk Logg inn.
Når du er logget inn får du et slikt dashbord. Herfra kan du begynne å legge til vertene dine og overvåke ulike beregninger.
Og det er det. I denne veiledningen har vi ledet deg gjennom installasjonen av LibreNMS-overvåkingsverktøyet på Debian 11/10.