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.


Namestite Plesk na CentOS 7

Namestite Plesk na CentOS 7

Uporaba drugega sistema? Plesk je lastniška nadzorna plošča spletnega gostitelja, ki uporabnikom omogoča upravljanje svojih osebnih in/ali strank spletnih mest, baz podatkov

Namestite Lets Encrypt SSL v aplikacijo WordPress z enim klikom

Namestite Lets Encrypt SSL v aplikacijo WordPress z enim klikom

Uvod Lets Encrypt je storitev overitelja potrdil, ki ponuja brezplačna potrdila TLS/SSL. Certbot poenostavlja postopek namestitve,

Ustvarjanje bloga Jekyll v Ubuntu 16.04

Ustvarjanje bloga Jekyll v Ubuntu 16.04

Uporaba drugega sistema? Jekyll je odlična alternativa WordPressu za bloganje ali deljenje vsebine. Ne zahteva nobenih baz podatkov in je zelo enostaven i

Kako nastaviti nenadzorovane nadgradnje na Debian 9 (raztegni)

Kako nastaviti nenadzorovane nadgradnje na Debian 9 (raztegni)

Uporaba drugega sistema? Če kupite strežnik Debian, morate vedno imeti najnovejše varnostne popravke in posodobitve, ne glede na to, ali spite ali ne

Kako namestiti in konfigurirati PHP 7.0 ali PHP 7.1 na Ubuntu 16.04

Kako namestiti in konfigurirati PHP 7.0 ali PHP 7.1 na Ubuntu 16.04

PHP in sorodni paketi so najpogosteje uporabljene komponente pri uvajanju spletnega strežnika. V tem članku se bomo naučili, kako nastaviti PHP 7.0 ali PHP 7.1 o

Kako namestiti Squid Proxy na CentOS

Kako namestiti Squid Proxy na CentOS

Squid je priljubljen brezplačen program za Linux, ki vam omogoča ustvarjanje spletnega proxyja za posredovanje. V tem priročniku boste videli, kako namestiti Squid na CentOS, da vas obrne

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Kako namestiti Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je razdelek Apache, katerega namen je biti veliko manj intenziven vir. Je lahek, od tod tudi njegovo ime, in je precej preprost za uporabo. Namestite

Tri brezplačne nadzorne plošče strežnika (hitra namestitev)

Tri brezplačne nadzorne plošče strežnika (hitra namestitev)

1. Virtualmin/Webmin Virtualmin je zmogljiva in prilagodljiva nadzorna plošča za spletno gostovanje za sisteme Linux in UNIX, ki temelji na dobro znani odprtokodni spletni bazi

Nastavitev aplikacije Yii na Ubuntu 14.04

Nastavitev aplikacije Yii na Ubuntu 14.04

Yii je okvir PHP, ki vam omogoča hitrejši in preprostejši razvoj aplikacij. Namestitev Yii na Ubuntu je enostavna, saj se boste naučili natančno

Uporaba zaslona v Ubuntu 14.04

Uporaba zaslona v Ubuntu 14.04

Screen je aplikacija, ki omogoča večkratno uporabo terminalskih sej v enem oknu. To vam omogoča simulacijo več terminalskih oken, kjer je ma

Nastavite svoj DNS strežnik na Debian/Ubuntu

Nastavite svoj DNS strežnik na Debian/Ubuntu

Ta vadnica pojasnjuje, kako nastaviti strežnik DNS z uporabo Bind9 v Debianu ali Ubuntuju. V celotnem članku ustrezno nadomestite your-domain-name.com. Ob th

Uporaba Logrotate za upravljanje dnevniških datotek

Uporaba Logrotate za upravljanje dnevniških datotek

Uvod Logrotate je pripomoček za Linux, ki poenostavlja upravljanje dnevniških datotek. Običajno se izvaja enkrat na dan prek opravila cron in upravlja bazo dnevnikov

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

VULTR je pred kratkim naredil spremembe na svoji strani in zdaj bi moralo vse delovati v redu iz škatle z omogočenim NetworkManagerjem. Če želite onemogočiti

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Spreminjanje Icinga2 za uporabo modela Master/Client na CentOS 6 ali CentOS 7

Icinga2 je zmogljiv sistem za spremljanje in če se uporablja v modelu glavni-odjemalec, lahko nadomesti potrebo po nadzornih pregledih, ki temeljijo na NRPE. Glavni naročnik

Nastavite Red5 Media Server na Ubuntu 16.04

Nastavite Red5 Media Server na Ubuntu 16.04

Uporaba drugega sistema? Red5 je odprtokodni medijski strežnik, implementiran v Javi, ki vam omogoča zagon večuporabniških aplikacij Flash, kot je prenos v živo

Prevedite in namestite Nginx z modulom PageSpeed ​​na Debian 8

Prevedite in namestite Nginx z modulom PageSpeed ​​na Debian 8

V tem članku bomo videli, kako prevesti in namestiti Nginx mainline iz uradnih virov Nginxa z modulom PageSpeed, ki vam omogoča

Kako namestiti Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Kako namestiti Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Kako namestiti Apache Cassandra 3.11.x na CentOS 7

Uporaba drugega sistema? Apache Cassandra je brezplačen in odprtokodni sistem za upravljanje baz podatkov NoSQL, ki je zasnovan tako, da zagotavlja razširljivost, visoko

Kako namestiti Vanilla Forum na Ubuntu 16.04

Kako namestiti Vanilla Forum na Ubuntu 16.04

Uporaba drugega sistema? Vanilla forum je odprtokodna forumska aplikacija, napisana v PHP. Je popolnoma prilagodljiv, enostaven za uporabo in podpira zunanjost

Kako namestiti Kanboard na Ubuntu 18.04 LTS

Kako namestiti Kanboard na Ubuntu 18.04 LTS

Uporaba drugega sistema? Uvod Kanboard je brezplačen in odprtokodni program za vodenje projektov, ki je zasnovan za olajšanje in vizualizacijo

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.

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.

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.

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č