Overvåk enhetene dine ved å bruke LibreNMS på Ubuntu 16.04

LibreNMS er et fullverdig åpen kildekode-nettverksovervåkingssystem. Den brukes SNMP til å hente data fra forskjellige enheter. En rekke enheter støttes i LibreNMS som Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP og mange flere. Den støtter flere autentiseringsmekanismer og støtter tofaktorautentisering. Den har et tilpassbart varslingssystem som kan varsle nettverksadministratoren via e-post, IRC eller slack.

Forutsetninger

  • En Vultr Ubuntu 16.04-serverforekomst.
  • En sudo-bruker .

For denne opplæringen vil vi bruke nms.example.com som domenenavnet peker mot Vultr-forekomsten. Sørg for å erstatte alle forekomster av eksempeldomenenavnet med det faktiske.

Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere Ubuntu 16.04 . Når systemet ditt har blitt oppdatert, fortsett å installere avhengighetene.

Installer Nginx og PHP

Frontenden av LibreNMS er skrevet i PHP, så vi må installere en webserver og PHP. I denne opplæringen vil vi installere Nginx sammen med PHP 7.2 for å oppnå maksimal sikkerhet og ytelse.

Installer Nginx.

sudo apt -y install nginx

Start Nginx og la den starte ved oppstart automatisk.

sudo systemctl start nginx
sudo systemctl enable nginx

Legg til og aktiver Remi-depotet, ettersom standard apt-repository inneholder en eldre versjon av PHP.

sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update

Installer PHP versjon 7.2 sammen med modulene som kreves av LibreNMS.

sudo apt -y install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-fpm php7.2-gd php7.2-mysql php7.2-snmp php7.2-mbstring php7.2-xml php7.2-zip zip unzip

Åpne den innlastede konfigurasjonsfilen i et redigeringsprogram.

sudo nano /etc/php/7.2/fpm/php.ini

Finn følgende linjer.

;cgi.fix_pathinfo=1
;date.timezone =

Fjern kommentarer og bruk disse verdiene i stedet, erstatt Asia/Kolkata med din lokale tidssone.

cgi.fix_pathinfo=0
date.timezone = Asia/Kolkata

Du må også endre systemets tidssone ved å kjøre følgende kommando.

sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime

Start PHP-FPM på nytt.

sudo systemctl restart php7.2-fpm

Installer MariaDB

MariaDB er en åpen kildekode-gaffel av MySQL. Legg til MariaDB-depotet i systemet ditt, da standard Ubuntu-depotet inneholder en eldre versjon av MariaDB.

sudo apt-key adv --yes --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mariadb.biz.net.id/repo/10.2/ubuntu xenial main'
sudo apt update

Installer MariaDB. Under installasjonen vil installasjonsprogrammet be om passordet til MySQL- rootbrukeren. Oppgi et sterkt passord.

sudo apt -y install mariadb-server

Før vi begynner å bruke MariaDB, må vi justere konfigurasjonen litt. Åpne konfigurasjonsfilen.

sudo nano /etc/mysql/conf.d/mariadb.cnf 

Legg til følgende kode på slutten av filen.

[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

Start MariaDB på nytt og la den starte automatisk ved oppstart.

sudo systemctl restart mariadb.service 
sudo systemctl enable mariadb.service

Før du konfigurerer databasen, må du sikre MariaDB-forekomsten.

sudo mysql_secure_installation

Du vil bli bedt om det gjeldende MariaDB root-passordet, og deretter bli bedt om å endre rootpassordet. Siden vi allerede har satt et sterkt passord for rootbrukeren under installasjonen, hopp over det ved å svare " N". For alle andre spørsmål, svar " Y". Spørsmålene som stilles er selvforklarende.

Logg inn på MySQL-skallet som root.

mysql -u root -p

Oppgi passordet for MariaDB-rotbrukeren for å logge på. Kjør følgende spørringer for å opprette en database og en databasebruker for LibreNMS-installasjonen.

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Du kan erstatte databasenavnet librenms og brukernavnet librenms etter eget valg. Sørg for å endre StrongPassword til et veldig sterkt passord.

Installer LibreNMS

Bortsett fra avhengighetene ovenfor, trenger LibreNMS få flere avhengigheter.

sudo apt -y install fping git imagemagick jwhois mtr graphviz nmap python-memcache python-mysqldb rrdtool snmp snmpd whois composer

Legg til en ny uprivilegert bruker for LibreNMS-applikasjonen.

sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -aG www-data librenms

LibreNMS kan installeres direkte ved å klone Github-depotet.

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

Endre eierskapet.

sudo chown librenms:librenms -R /opt/librenms

Installer PHP-avhengighetene.

cd /opt/librenms
sudo su librenms -c "composer install"

LibreNMS er avhengig av SNMP for mange oppgaver. Siden vi allerede har installert SNMP, kopier eksempelkonfigurasjonsfilen til plasseringen.

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

Åpne konfigurasjonsfilen i redigeringsprogrammet.

sudo nano /etc/snmp/snmpd.conf

Finn denne linjen.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Rediger teksten RANDOMSTRINGGOESHERE og erstatt fellesskapsstrengen med hvilken som helst streng du ønsker. For eksempel.

com2sec readonly  default         my-org

Husk strengen siden den vil bli nødvendig senere når vi legger til den første SNMP-enheten.

SNMP trenger også informasjon om distribusjonsversjonen. Last ned og installer skriptet for å finne distribusjonsversjonen.

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

Start SNMP-demontjenesten og la den starte automatisk ved oppstart.

sudo systemctl enable snmpd
sudo systemctl restart snmpd

Nå må du legge til noen crontab-oppføringer for å kjøre de planlagte oppgavene. Opprett en ny cron-jobbfil.

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

Start cron daemon-tjenesten på nytt.

sudo systemctl restart cron

Sett opp logrotate slik at loggfilene automatisk oppdateres over tid.

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

Til slutt, angi riktig eierskap og tillatelser.

sudo chown -R librenms:www-data /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs

SSL og Nginx VHost konfigurasjoner

Pålogginger og annen informasjon som sendes gjennom nettgrensesnittet til LibreNMS er ikke sikret dersom tilkoblingen ikke er kryptert med SSL. Vi vil konfigurere Nginx til å bruke SSL generert med Let's Encrypt gratis SSL.

Legg til Certbot-depotet.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Installer Certbot, som er klientapplikasjonen for Let's Encrypt CA.

sudo apt -y install certbot

Merk : For å få sertifikater fra Let's Encrypt CA, må domenet som sertifikatene skal genereres for, peke mot serveren. Hvis ikke, gjør de nødvendige endringene i DNS-postene til domenet og vent til DNS-en forplanter seg før du foretar sertifikatforespørselen igjen. Certbot sjekker domeneautoriteten før sertifikatene leveres.

Generer SSL-sertifikatene.

sudo certbot certonly --webroot -w /var/www/html -d nms.example.com

De genererte sertifikatene vil sannsynligvis bli lagret i /etc/letsencrypt/live/nms.example.com/katalogen. SSL-sertifikatet vil bli lagret som fullchain.pem og privat nøkkel vil bli lagret som privkey.pem.

La oss kryptere sertifikater utløper om 90 dager, derfor anbefales det å sette opp automatisk fornyelse for sertifikatene ved å bruke en cron-jobb.

Åpne cron-jobbfilen.

sudo crontab -e

Legg til følgende linje på slutten av filen.

30 5 * * 1 /usr/bin/certbot renew --quiet

Ovennevnte cron-jobb vil kjøre hver mandag kl. 05.30 lokal tid. Hvis sertifikatet skal utløpe, vil det automatisk bli fornyet.

Opprett en ny virtuell vert.

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

Fyll ut filen.

server {
    listen 80;
    server_name nms.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name nms.example.com;

    ssl_certificate           /etc/letsencrypt/live/nms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/nms.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /opt/librenms/logs/librenms.nginx.access.log;
    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:/run/php/php7.2-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
 }

Erstatt nms.example.com med ditt faktiske domene i konfigurasjonen ovenfor.

Aktiver den nyopprettede konfigurasjonen.

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

Start Nginx på nytt.

sudo systemctl restart nginx

Installasjon ved hjelp av WebUI

For å fullføre installasjonen, åpne https://nms.example.com på favorittnettleseren din. Du vil se at kravene er oppfylt. Oppgi databasedetaljer og opprett en ny administrativ konto. Når den er installert, vil du få en melding om å validere installasjonen. Klikk på lenken og logg på med administratorkontoen. Du bør se at alt unntatt " Poller" har en " Ok"-status.

Overvåk enhetene dine ved å bruke LibreNMS på Ubuntu 16.04

Klikk nå på lenken for å legge til en enhet. På " Add Device"-grensesnittet, oppgi vertsnavnet som den lokale verten og la alt være som det er. Oppgi fellesskapets streng i fellesskapsfeltet. Det må være nøyaktig samme streng som du har oppgitt i snmpd.confunder konfigurasjonen av SNMP.

Overvåk enhetene dine ved å bruke LibreNMS på Ubuntu 16.04

Når enheten er lagt til, kan du se detaljene ved å gå til " Devices"-fanen. På samme måte kan du legge til flere enheter i LibreNMS-applikasjonen for "døgnet rundt" overvåking.


Sett opp Cacti på Debian Jessie

Sett opp Cacti på Debian Jessie

Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter

Installer Lets Encrypt SSL på ett-klikks WordPress-appen

Installer Lets Encrypt SSL på ett-klikks WordPress-appen

Introduksjon Lets Encrypt er en sertifikatmyndighetstjeneste som tilbyr gratis TLS/SSL-sertifikater. Installasjonsprosessen forenkles av Certbot,

Sett opp iRedMail på Debian Wheezy

Sett opp iRedMail på Debian Wheezy

Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve

Tre gratis serverkontrollpaneler (hurtiginstallasjon)

Tre gratis serverkontrollpaneler (hurtiginstallasjon)

1. Virtualmin/Webmin Virtualmin er et kraftig og fleksibelt kontrollpanel for webhotell for Linux- og UNIX-systemer basert på den velkjente Open Source-nettbasen

Bruker skjermen på Ubuntu 14.04

Bruker skjermen på Ubuntu 14.04

Skjerm er et program som tillater flere bruk av terminalsesjoner i ett vindu. Dette lar deg simulere flere terminalvinduer der det ma

Bruke Logrotate til å administrere loggfiler

Bruke Logrotate til å administrere loggfiler

Introduksjon Logrotate er et Linux-verktøy som forenkler administrasjonen av loggfiler. Den kjører vanligvis en gang om dagen via en cron-jobb, og administrerer loggbasen

Installere Docker CE på Ubuntu 16.04

Installere Docker CE på Ubuntu 16.04

Bruker du et annet system? Docker er en applikasjon som gjør det mulig å distribuere programmer som kjøres som containere. Det ble skrevet i det populære Go-programmet

Patching the Dirty Cow Exploit på CentOS

Patching the Dirty Cow Exploit på CentOS

Hva er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheten utnyttes gjennom hvordan Linux behandler kode. Det gjør det mulig for en uprivilegert bruker å gai

Konfigurer en ikke-rootbruker med Sudo Access på Ubuntu

Konfigurer en ikke-rootbruker med Sudo Access på Ubuntu

Å ha bare én bruker, som er root, kan være farlig. Så la oss fikse det. Vultr gir oss friheten til å gjøre som vi vil med våre brukere og våre servere

Installer Adminer på Debian/Ubuntu

Installer Adminer på Debian/Ubuntu

Adminer er et lett alternativ til phpMyAdmin. Til sammenligning er dens totale pakkestørrelse 400 KB, mot 4,2 MB med phpMyAdmin. I motsetning til phpMyAdmin, som

Slik installerer du GoAccess på Ubuntu 16.04

Slik installerer du GoAccess på Ubuntu 16.04

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Denne artikkelen er en del av en todelt serie om installasjon og konfigurering av Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Oversikt over ekstern vert Nagio

Sett opp tidssone og NTP på Ubuntu 14.04

Sett opp tidssone og NTP på Ubuntu 14.04

Vultr-servere kan ikke distribueres med tidssonen/datoen/klokkeslettet du trenger på serveren din. Heldigvis kan vi manuelt stille inn tidssonen for å forhindre problemer

Distribuer en Meteor-applikasjon på Ubuntu

Distribuer en Meteor-applikasjon på Ubuntu

Denne artikkelen vil lede deg gjennom distribusjon av Meteor-appen din til en Vultr VPS som kjører Ubuntu 14.04. Det kan også fungere på andre Linux-distribusjoner (forsøk a

Arbeide med Linux-funksjoner

Arbeide med Linux-funksjoner

Introduksjon Linux-funksjoner er spesielle attributter i Linux-kjernen som gir prosesser og binære kjørbare spesifikke rettigheter som er normale

Høy tilgjengelighet ved bruk av privat nettverk på Ubuntu 16.04 med Keepalived

Høy tilgjengelighet ved bruk av privat nettverk på Ubuntu 16.04 med Keepalived

Noen arkitekturer med høy tilgjengelighet krever en flytende IP-adresse. Denne funksjonaliteten er tilgjengelig på Vultr-plattformen når privat nettverk har bee

Konfigurer bare SFTP-brukerkontoer på Ubuntu 14

Konfigurer bare SFTP-brukerkontoer på Ubuntu 14

Innledning Enkelte scenarier krever at du oppretter brukere med lese- og skrivetilgang til en enkelt katalog kun via FTP. Denne artikkelen vil vise deg hvordan t

Slik konfigurerer du Node.js Persistent-applikasjoner på Ubuntu 16.04

Slik konfigurerer du Node.js Persistent-applikasjoner på Ubuntu 16.04

Node.js-applikasjoner er populære for deres evne til å skalere. Å kjøre flere samtidige prosesser på flere servere gir lavere ventetid og større oppetid

Overvåk enhetene dine ved å bruke LibreNMS på Ubuntu 16.04

Overvåk enhetene dine ved å bruke LibreNMS på Ubuntu 16.04

Bruker du et annet system? LibreNMS er et fullverdig åpen kildekode-nettverksovervåkingssystem. Den bruker SNMP for å hente data fra forskjellige enheter. En variant

Stopp DHCP fra å endre resolv.conf

Stopp DHCP fra å endre resolv.conf

For DHCP-brukere kan det hende du trenger å redigere /etc/resolv.conf for å bruke andre navneservere. Deretter, etter en periode (eller etter en omstart av systemet)

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer