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.