Övervaka dina enheter med LibreNMS på Ubuntu 16.04

LibreNMS är ett fullfjädrat nätverksövervakningssystem med öppen källkod. Den används för SNMP att hämta data från olika enheter. En mängd olika enheter stöds i LibreNMS som Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP och många fler. Den stöder flera autentiseringsmekanismer och stöder tvåfaktorsautentisering. Den har ett anpassningsbart varningssystem som kan varna nätverksadministratören via e-post, IRC eller slack.

Förutsättningar

För den här handledningen kommer vi att använda nms.example.com som domännamnet pekade mot Vultr-instansen. Se till att ersätta alla förekomster av exemplets domännamn med det faktiska.

Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar Ubuntu 16.04 . När ditt system har uppdaterats fortsätter du med att installera beroenden.

Installera Nginx och PHP

Frontend av LibreNMS är skrivet i PHP, så vi kommer att behöva installera en webbserver och PHP. I den här handledningen kommer vi att installera Nginx tillsammans med PHP 7.2 för att få maximal säkerhet och prestanda.

Installera Nginx.

sudo apt -y install nginx

Starta Nginx och låt den starta vid uppstart automatiskt.

sudo systemctl start nginx
sudo systemctl enable nginx

Lägg till och aktivera Remi-förvaret, eftersom standardförvaret för apt innehåller en äldre version av PHP.

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

Installera PHP version 7.2 tillsammans med modulerna som krävs 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

Öppna den laddade konfigurationsfilen i en editor.

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

Hitta följande rader.

;cgi.fix_pathinfo=1
;date.timezone =

Avkommentera och använd dessa värden istället, ersätt Asia/Kolkata med din lokala tidszon.

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

Du måste också ändra systemets tidszon genom att köra följande kommando.

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

Starta om PHP-FPM.

sudo systemctl restart php7.2-fpm

Installera MariaDB

MariaDB är en öppen källkodsgaffel av MySQL. Lägg till MariaDB-förvaret i ditt system, eftersom standard-Ubuntu-förvaret innehåller en äldre version 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

Installera MariaDB. Under installationen kommer installationsprogrammet att fråga efter lösenordet för MySQL- rootanvändaren. Ange ett starkt lösenord.

sudo apt -y install mariadb-server

Innan vi börjar använda MariaDB måste vi justera konfigurationen lite. Öppna konfigurationsfilen.

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

Lägg till följande kod i slutet av filen.

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

Starta om MariaDB och låt den starta automatiskt vid uppstart.

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

Innan du konfigurerar databasen måste du säkra MariaDB-instansen.

sudo mysql_secure_installation

Du kommer att bli ombedd att ange det aktuella MariaDB root-lösenordet och sedan uppmanas att ändra rootlösenordet. Eftersom vi redan ställt in ett starkt lösenord för rootanvändaren under installationen, hoppa över det genom att svara " N". För alla andra frågor, svara " Y". Frågorna som ställs är självförklarande.

Logga in på MySQL-skalet som root.

mysql -u root -p

Ange lösenordet för MariaDB-rotanvändaren att logga in. Kör följande frågor för att skapa en databas och en databasanvändare för LibreNMS-installationen.

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 ersätta databasnamnet librenms och användarnamnet librenms enligt ditt val. Se till att byta StrongPassword till ett mycket starkt lösenord.

Installera LibreNMS

Förutom beroenden ovan behöver LibreNMS få fler beroenden.

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

Lägg till en ny oprivilegierad användare för LibreNMS-applikationen.

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

LibreNMS kan installeras direkt genom att klona dess Github-förråd.

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

Byt ägande.

sudo chown librenms:librenms -R /opt/librenms

Installera PHP-beroenden.

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

LibreNMS förlitar sig på SNMP för många uppgifter. Eftersom vi redan har installerat SNMP, kopiera exempelkonfigurationsfilen till dess plats.

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

Öppna konfigurationsfilen i editorn.

sudo nano /etc/snmp/snmpd.conf

Hitta den här raden.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Redigera texten RANDOMSTRINGGOESHERE och ersätt gemenskapssträngen med valfri sträng. Till exempel.

com2sec readonly  default         my-org

Kom ihåg strängen eftersom den kommer att krävas senare när vi lägger till den första SNMP-enheten.

SNMP behöver också information om distributionsversionen. Ladda ner och installera skriptet för att hitta distributionsversionen.

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

Starta SNMP-demontjänsten och låt den starta automatiskt vid uppstart.

sudo systemctl enable snmpd
sudo systemctl restart snmpd

Nu måste du lägga till några crontab-poster för att köra de schemalagda uppgifterna. Skapa en ny cron-jobbfil.

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

Starta om cron daemon-tjänsten.

sudo systemctl restart cron

Ställ in logrotate så att loggfilerna uppdateras automatiskt med tiden.

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

Slutligen, ställ in lämpligt ägande och behörighet.

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 och Nginx VHost-konfigurationer

Inloggningar och annan information som skickas via LibreNMS webbgränssnitt är inte säkrad om anslutningen inte är krypterad med SSL. Vi kommer att konfigurera Nginx att använda SSL som genereras med Let's Encrypt gratis SSL.

Lägg till Certbot-förvaret.

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

Installera Certbot, som är klientapplikationen för Let's Encrypt CA.

sudo apt -y install certbot

Obs : För att erhålla certifikat från Let's Encrypt CA måste domänen som certifikaten ska genereras för peka mot servern. Om inte, gör de nödvändiga ändringarna i domänens DNS-poster och vänta tills DNS:n sprider sig innan du gör certifikatbegäran igen. Certbot kontrollerar domänmyndigheten innan certifikaten tillhandahålls.

Generera SSL-certifikaten.

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

De genererade certifikaten kommer sannolikt att lagras i /etc/letsencrypt/live/nms.example.com/katalogen. SSL-certifikatet kommer att lagras som fullchain.pem och privat nyckel kommer att lagras som privkey.pem.

Låt oss kryptera certifikaten går ut om 90 dagar, därför rekommenderas att ställa in automatisk förnyelse för certifikaten med hjälp av ett cron-jobb.

Öppna cron-jobbfilen.

sudo crontab -e

Lägg till följande rad i slutet av filen.

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

Ovanstående cron-jobb kommer att köras varje måndag klockan 5:30 lokal tid. Om certifikatet löper ut kommer det automatiskt att förnyas.

Skapa en ny virtuell värd.

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

Fyll i 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;
    }
 }

Ersätt nms.example.com med din faktiska domän i ovanstående konfiguration.

Aktivera den nyskapade konfigurationen.

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

Starta om Nginx.

sudo systemctl restart nginx

Installation med WebUI

För att avsluta installationen, öppna i https://nms.example.com din favoritwebbläsare. Du kommer att se att kraven är uppfyllda. Ange dina databasdetaljer och skapa ett nytt administrativt konto. När du har installerat den får du ett meddelande för att validera installationen. Klicka på länken och logga in med administratörskontot. Du bör se att allt utom " Poller" har en " Ok" status.

Övervaka dina enheter med LibreNMS på Ubuntu 16.04

Klicka nu på länken för att lägga till en enhet. I " Add Device"-gränssnittet, ange värdnamnet som lokalvärd och lämna allt som det är. Ange din gemenskapssträng i gemenskapsfältet. Det måste vara exakt samma sträng som du angav snmpd.confunder konfigurationen av SNMP.

Övervaka dina enheter med LibreNMS på Ubuntu 16.04

När enheten har lagts till kan du se detaljerna genom att gå till Devicesfliken " ". På samma sätt kan du lägga till fler enheter i LibreNMS-applikationen för övervakning "dygnet runt".


Skapa en Jekyll-blogg på Ubuntu 16.04

Skapa en Jekyll-blogg på Ubuntu 16.04

Använder du ett annat system? Jekyll är ett bra alternativ till WordPress för att blogga eller dela innehåll. Det kräver inga databaser och det är väldigt enkelt i

Hur man installerar Gitea på Debian 9

Hur man installerar Gitea på Debian 9

Använder du ett annat system? Gitea är ett alternativt versionskontrollsystem med öppen källkod som drivs av Git. Gitea är skriven på Golang och är

Installera Lynis på Debian 8

Installera Lynis på Debian 8

Introduktion Lynis är ett gratis systemrevisionsverktyg med öppen källkod som används av många systemadministratörer för att verifiera integriteten och förstärka deras system. jag

Hur man installerar MODX Revolution på en Ubuntu 16.04 LAMP VPS

Hur man installerar MODX Revolution på en Ubuntu 16.04 LAMP VPS

Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, gratis och öppen källkod, företagsklassat Content Management System (CMS) skrivet i

Hur man installerar MODX Revolution på en FreeBSD 11 FAMP VPS

Hur man installerar MODX Revolution på en FreeBSD 11 FAMP VPS

Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, öppen källkod, Enterprise-grade Content Management System (CMS) skrivet i PHP. Det jag

Hur man installerar GoAccess på Ubuntu 16.04

Hur man installerar GoAccess på Ubuntu 16.04

Använder du ett annat system? GoAccess är en webblogganalysator med öppen källkod. Du kan använda den för analys av loggar i realtid i antingen terminalen eller

Konfigurera Nagios på Ubuntu: Del 1 - Nagios Server

Konfigurera Nagios på Ubuntu: Del 1 - Nagios Server

Den här artikeln är en del av en serie i två delar om att installera och konfigurera Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Översikt över fjärrvärd Nagio

Ställa in Counter Strike: Source på Debian

Ställa in Counter Strike: Source på Debian

I den här guiden kommer vi att sätta upp en Counter Strike: Source-spelserver på Debian 7. Dessa kommandon testades på Debian 7 men de borde också fungera o

Hur man installerar Unturned 2.2.5 på Debian 8

Hur man installerar Unturned 2.2.5 på Debian 8

I den här guiden kommer du att lära dig hur du ställer in en Unturned 2.2.5-server på en Vultr VPS som kör Debian 8. Obs: Detta är en redigerad version av Unturned som inte

Övervaka dina enheter med LibreNMS på Ubuntu 16.04

Övervaka dina enheter med LibreNMS på Ubuntu 16.04

Använder du ett annat system? LibreNMS är ett fullfjädrat nätverksövervakningssystem med öppen källkod. Den använder SNMP för att hämta data från olika enheter. En variant

Uppgradera Python på Debian

Uppgradera Python på Debian

Som du kanske vet uppdaterar Debians förråd mycket långsamt. I skrivande stund finns Python-versionerna 2.7.12 och 3.5.2, men i Debian 8-förrådet

Hur man ställer in Samba med blocklagring på Debian 9

Hur man ställer in Samba med blocklagring på Debian 9

Samba är en öppen källkodslösning som tillåter användare att ställa in snabba och säkra fil- och utskriftsresurser. I den här artikeln kommer jag att täcka hur man ställer in Samba wit

Installera Microweber på Debian 9

Installera Microweber på Debian 9

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar Xubuntu Desktop på Vultr-servrar med Ubuntu 15.10

Hur man installerar Xubuntu Desktop på Vultr-servrar med Ubuntu 15.10

Xubuntu är XFCE + Ubuntu! XFCE är ett lätt GUI/Desktop för Ubuntu. Vultr-servrar behöver ytterligare beroenden som, som standard, inte är installerade

Konfigurera TeeWorlds server

Konfigurera TeeWorlds server

TeeWorlds är ett gratis och öppen källkod online multiplayer shooter-spel. I den här handledningen kommer jag att förklara hur man skapar en TeeWorlds-server. Dessa steg var

Installera Gogs på Linux

Installera Gogs på Linux

Använder du ett annat system? Introduktion Gogs (Go Git Service) är en smärtfri självvärd Git-tjänst. Installationen är väldigt enkel och den fungerar nästan alltid

Hur man installerar Axigen på Debian Wheezy

Hur man installerar Axigen på Debian Wheezy

Inledning I den här guiden lär du dig hur du ställer in Axigen Mail-Server (version 10.0.0) på vår Debian Wheezy (den här guiden kan också fungera för Jessie

Hur du kommer åt din Vultr VPS

Hur du kommer åt din Vultr VPS

Vultr tillhandahåller flera olika sätt att komma åt din VPS för att konfigurera, installera och använda. Åtkomstuppgifter Standardinloggningsuppgifterna för din VPS ar

Konfigurera en JC2:MP-spelserver på Debian

Konfigurera en JC2:MP-spelserver på Debian

I den här guiden kommer vi att ställa in en Just Cause 2: Multiplayer Linux-server. Dessa kommandon testades på Debian 7 x64, men de bör också fungera på th

Skapa en Arma 3-server på CentOS

Skapa en Arma 3-server på CentOS

I den här artikeln kommer vi att gå igenom hur man konfigurerar en Arma 3-server på CentOS. Anmärkningar: * Den här artikeln förutsätter att du är inloggad på din server som root.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer