Spremljajte svoje naprave z uporabo LibreNMS na CentOS 7

LibreNMS je popolnoma zmogljiv odprtokodni sistem za spremljanje omrežja. Uporablja se SNMPza 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 CentOS 7.
  • Uporabnik sudo .

Za to vadnico bomo uporabili nms.example.comkot 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 CentOS 7 . Ko je vaš sistem posodobljen, nadaljujte z namestitvijo odvisnosti.

Namestite Nginx in PHP

Prednji del LibreNMS je v osnovi 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 yum -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 YUM vsebuje starejšo različico PHP.

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72

Namestite PHP različico 7.2 skupaj z moduli, ki jih zahteva LibreNMS.

sudo yum -y install php php-cli php-common php-curl php-fpm php-gd php-mcrypt php-mysql php-process php-snmp php-xml php-zip

Odprite naloženo konfiguracijsko datoteko s strani PHP v urejevalniku.

sudo nano /etc/php.ini

Poiščite naslednje vrstice, odstranite komentarje in spremenite njihovo vrednost, kot je prikazano.

;cgi.fix_pathinfo=1
memory_limit = 128M
;date.timezone =

Namesto tega uporabite te vrednosti, zamenjajte jih Asia/Kolkataz lokalnim časovnim pasom.

cgi.fix_pathinfo=0
memory_limit = -1
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

Zdaj odprite konfiguracijsko datoteko PHP-FPM.

sudo nano /etc/php-fpm.d/www.conf

Poiščite naslednjo vrstico.

listen = 127.0.0.1:9000

Zamenjajte ga z naslednjo vrstico.

listen = /var/run/php-fpm/php-fpm.sock

PHP-FPM je privzeto konfiguriran za uporabnika spletnega strežnika Apache. Spremenite uporabnika v nginx.

user = nginx
group = nginx

Nadalje razkomentiraj naslednje vrstice.

listen.owner = nobody
listen.group = nobody

Shranite datoteko in zapustite urejevalnik. Znova zaženite PHP-FPM in omogočite zagon ob zagonu.

sudo systemctl restart php-fpm
sudo systemctl enable php-fpm

Nastavite ustrezno lastništvo za datoteko vtičnice.

sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock

Namestite MariaDB

MariaDB je razcep MySQL. Dodajte skladišče MariaDB v svoj sistem. Privzeto yumskladišče vsebuje starejšo različico MariaDB.

echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo

Namestite MariaDB.

sudo yum -y install mariadb mariadb-server

Zdaj odprite konfiguracijsko datoteko MySQL.

sudo nano /etc/my.cnf

Dodajte naslednje vrstice na konec bloka.

[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
sudo systemctl enable mariadb

Preden konfigurirate bazo podatkov, morate najprej zavarovati MariaDB.

sudo mysql_secure_installation

Zahtevali boste trenutno korensko geslo MariaDB. V novi namestitvi MariaDB privzeto ni korenskega gesla. Pritisnite tipko " Enter" za nadaljevanje. Nastavite močno geslo za rootuporabnika vašega strežnika MariaDB in odgovorite z " Y" na vsa druga vprašanja, ki so vam zastavljena. 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 librenmsin uporabniško ime lahko zamenjate librenmspo svoji izbiri. Prosimo, spremenite StrongPasswordv zelo močno geslo.

Namestite LibreNMS

Poleg zgornjih odvisnosti LibreNMS potrebuje še nekaj odvisnosti. Namestite jih tako, da zaženete.

sudo yum -y install cronie fping git ImageMagick jwhois mtr MySQL-python net-snmp net-snmp-utils nmap  python-memcached rrdtool

Dodajte novega neprivilegiranega uporabnika za aplikacijo LibreNMS.

sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -a -G librenms nginx

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

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

Popravite lastništvo.

sudo chown librenms:librenms -R /opt/librenms

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 RANDOMSTRINGGOESHEREin 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 nano /etc/cron.d/librenms

Napolnite datoteko z naslednjim besedilom.

33   */6  * * *   librenms    /opt/librenms/cronic /opt/librenms/discovery-wrapper.py 1
*/5  *    * * *   librenms    /opt/librenms/discovery.php -h new >> /dev/null 2>&1
*/5  *    * * *   librenms    /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16
15   0    * * *   librenms    /opt/librenms/daily.sh >> /dev/null 2>&1
*    *    * * *   librenms    /opt/librenms/alerts.php >> /dev/null 2>&1
*/5  *    * * *   librenms    /opt/librenms/poll-billing.php >> /dev/null 2>&1
01   *    * * *   librenms    /opt/librenms/billing-calculate.php >> /dev/null 2>&1
*/5  *    * * *   librenms    /opt/librenms/check-services.php >> /dev/null 2>&1

Znova zaženite storitev cron daemon.

sudo systemctl restart crond

Nastavite logrotatetako, 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:nginx /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 Let's Encrypt.

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

sudo yum -y install certbot

Preden lahko zahtevate potrdila, boste morali prek požarnega zidu dovoliti vrata 80in 443ali standard HTTPin HTTPSstoritve.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

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 /usr/share/nginx/html -d nms.example.com

Ustvarjena potrdila bodo verjetno shranjena v /etc/letsencrypt/live/nms.example.com/imeniku. Potrdilo SSL bo shranjeno kot fullchain.pemin 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/conf.d/nms.example.com.conf

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:/var/run/php-fpm/php-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
 }

Zamenjajte nms.example.coms svojo dejansko domeno v zgornji konfiguraciji.

Znova zaženite Nginx.

sudo chown nginx:nginx /var/lib/php/session
sudo systemctl restart nginx

Namestitev s pomočjo WebUI

Za dokončanje namestitve odprite https://nms.example.comsvoj 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. Videli boste, da ima vse razen Poller" Ok" status " ".

Spremljajte svoje naprave z uporabo LibreNMS na CentOS 7

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 na CentOS 7

Ko je naprava dodana, si lahko ogledate podrobnosti na Deviceszavihku " ".

Spremljajte svoje naprave z uporabo LibreNMS na CentOS 7

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č