Spremljajte svoje naprave z uporabo LibreNMS v Ubuntu 16.04

LibreNMS je popolnoma zmogljiv odprtokodni sistem za spremljanje omrežja. Uporablja se SNMP za pridobivanje podatkov iz različnih naprav. LibreNMS podpira različne naprave, kot so Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP in še veliko več. Podpira več mehanizmov preverjanja pristnosti in podpira dvofaktorsko preverjanje pristnosti. Ima prilagodljiv sistem opozarjanja, ki lahko opozori omrežnega skrbnika po e-pošti, IRC-ju ali slacku.

Predpogoji

  • Primerek strežnika Vultr Ubuntu 16.04.
  • Uporabnik sudo .

Za to vadnico bomo uporabili nms.example.com kot ime domene, usmerjeno proti primerku Vultr. Prosimo, da zamenjate vse pojavitve vzorčnega imena domene z dejanskim.

Posodobite svoj osnovni sistem z uporabo priročnika Kako posodobiti Ubuntu 16.04 . Ko je vaš sistem posodobljen, nadaljujte z namestitvijo odvisnosti.

Namestite Nginx in PHP

Sprednji del LibreNMS je napisan v PHP, zato bomo morali namestiti spletni strežnik in PHP. V tej vadnici bomo namestili Nginx skupaj s PHP 7.2, da bomo dosegli največjo varnost in zmogljivost.

Namestite Nginx.

sudo apt -y install nginx

Zaženite Nginx in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start nginx
sudo systemctl enable nginx

Dodajte in omogočite repozitorij Remi, saj privzeto skladišče apt vsebuje starejšo različico PHP.

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

Namestite PHP različico 7.2 skupaj z moduli, ki jih zahteva 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

Odprite naloženo konfiguracijsko datoteko v urejevalniku.

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

Poiščite naslednje vrstice.

;cgi.fix_pathinfo=1
;date.timezone =

Razkomentirajte in namesto tega uporabite te vrednosti, zamenjajte jih Asia/Kolkata z lokalnim časovnim pasom.

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

Prav tako boste morali spremeniti sistemski časovni pas, tako da zaženete naslednji ukaz.

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

Znova zaženite PHP-FPM.

sudo systemctl restart php7.2-fpm

Namestite MariaDB

MariaDB je odprtokodna fork MySQL. Dodajte repozitorij MariaDB v svoj sistem, saj privzeto skladišče Ubuntu vsebuje starejšo različico 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

Namestite MariaDB. Med namestitvijo bo namestitveni program zahteval geslo rootuporabnika MySQL . Navedite močno geslo.

sudo apt -y install mariadb-server

Preden začnemo uporabljati MariaDB, bomo morali nekoliko prilagoditi konfiguracijo. Odprite konfiguracijsko datoteko.

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

Na konec datoteke dodajte naslednjo kodo.

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

Znova zaženite MariaDB in omogočite, da se samodejno zažene ob zagonu.

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

Pred konfiguracijo baze podatkov boste morali zavarovati primerek MariaDB.

sudo mysql_secure_installation

Zahtevali boste trenutno korensko geslo MariaDB, nato pa boste pozvani, da spremenite rootgeslo. Ker smo rootuporabniku že med namestitvijo nastavili močno geslo , ga preskočite tako, da odgovorite na » N«. Za vsa ostala vprašanja odgovorite na " Y". Zastavljena vprašanja so samoumevna.

Prijavite se v lupino MySQL kot root.

mysql -u root -p

Navedite geslo za root uporabnika MariaDB za prijavo. Zaženite naslednje poizvedbe, da ustvarite bazo podatkov in uporabnika baze podatkov za namestitev LibreNMS.

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;

Ime baze podatkov librenms in uporabniško ime lahko zamenjate librenms po svoji izbiri. Prosimo, spremenite StrongPassword v zelo močno geslo.

Namestite LibreNMS

Poleg zgornjih odvisnosti LibreNMS potrebuje še nekaj odvisnosti.

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

Dodajte novega neprivilegiranega uporabnika za aplikacijo LibreNMS.

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

LibreNMS je mogoče namestiti neposredno s kloniranjem njegovega repozitorija Github.

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

Spremenite lastništvo.

sudo chown librenms:librenms -R /opt/librenms

Namestite odvisnosti PHP.

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

LibreNMS se za številne naloge zanaša na SNMP. Ker smo SNMP že namestili, kopirajte vzorčno konfiguracijsko datoteko na njeno lokacijo.

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

Odprite konfiguracijsko datoteko v urejevalniku.

sudo nano /etc/snmp/snmpd.conf

Poiščite to vrstico.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Uredite besedilo RANDOMSTRINGGOESHERE in zamenjajte niz skupnosti s poljubnim nizom po vaši izbiri. Na primer.

com2sec readonly  default         my-org

Zapomnite si niz, saj bo potreben pozneje, ko dodamo prvo napravo SNMP.

SNMP potrebuje tudi informacije o distribucijski različici. Prenesite in namestite skript, da poiščete distribucijsko različico.

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

Zaženite daemon storitev SNMP in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl enable snmpd
sudo systemctl restart snmpd

Zdaj boste morali dodati nekaj vnosov crontab za izvajanje načrtovanih opravil. Ustvarite novo opravilno datoteko cron.

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

Znova zaženite storitev cron daemon.

sudo systemctl restart cron

Nastavite logrotate tako, da se datoteke dnevnika sčasoma samodejno osvežujejo.

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

Na koncu nastavite ustrezno lastništvo in dovoljenja.

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

Konfiguracije SSL in Nginx VHost

Prijave in drugi podatki, poslani prek spletnega vmesnika LibreNMS, niso zavarovani, če povezava ni šifrirana s SSL. Nginx bomo konfigurirali za uporabo SSL, ustvarjenega z brezplačnim SSL-jem Let's Encrypt.

Dodajte repozitorij Certbot.

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

Namestite Certbot, ki je odjemalska aplikacija za Let's Encrypt CA.

sudo apt -y install certbot

Opomba : Če želite pridobiti potrdila od Let's Encrypt CA, mora biti domena, za katero naj bi bila ustvarjena potrdila, usmerjena proti strežniku. Če ne, naredite potrebne spremembe v zapisih DNS domene in počakajte, da se DNS razširi, preden znova pošljete zahtevo za potrdilo. Certbot preveri avtoriteto domene, preden zagotovi potrdila.

Ustvarite SSL potrdila.

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

Ustvarjena potrdila bodo verjetno shranjena v /etc/letsencrypt/live/nms.example.com/imeniku. Potrdilo SSL bo shranjeno kot fullchain.pem in zasebni ključ bo shranjen kot privkey.pem.

Potrdila Let's Encrypt potečejo v 90 dneh, zato je priporočljivo, da nastavite samodejno obnavljanje potrdil s pomočjo cron opravila.

Odprite datoteko opravila cron.

sudo crontab -e

Dodajte naslednjo vrstico na konec datoteke.

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

Zgornje opravilo cron se bo izvajalo vsak ponedeljek ob 5.30 po lokalnem času. Če potrdilo poteče, se samodejno podaljša.

Ustvarite novega virtualnega gostitelja.

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

Izpolnite datoteko.

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

Zamenjajte nms.example.com s svojo dejansko domeno v zgornji konfiguraciji.

Aktivirajte novo ustvarjeno konfiguracijo.

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

Znova zaženite Nginx.

sudo systemctl restart nginx

Namestitev s pomočjo WebUI

Za dokončanje namestitve odprite https://nms.example.com svoj najljubši brskalnik. Videli boste, da so zahteve izpolnjene. Navedite podrobnosti svoje baze podatkov in ustvarite nov skrbniški račun. Ko je nameščen, boste prejeli sporočilo za potrditev namestitve. Kliknite na povezavo in se prijavite s skrbniškim računom. Videti bi morali, da ima vse razen Poller" Ok" status " ".

Spremljajte svoje naprave z uporabo LibreNMS v Ubuntu 16.04

Zdaj kliknite povezavo, da dodate napravo. V Add Devicevmesniku " " vnesite ime gostitelja kot lokalnega gostitelja in pustite vse tako, kot je. Navedite svoj skupni niz v polju skupnosti. To mora biti popolnoma enak niz, ki ste ga vnesli snmpd.confmed konfiguracijo SNMP.

Spremljajte svoje naprave z uporabo LibreNMS v Ubuntu 16.04

Ko je naprava dodana, si lahko ogledate podrobnosti na Deviceszavihku " ". Podobno lahko v aplikacijo LibreNMS dodate več naprav za "24-urno" spremljanje.

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več