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.


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

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

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

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

Kako namestiti Microweber na CentOS 7

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti Mattermost 4.1 na CentOS 7

Kako namestiti Mattermost 4.1 na CentOS 7

Uporaba drugega sistema? Mattermost je odprtokodna alternativa sporočilni storitvi Slack SAAS, ki jo gosti sami. Z drugimi besedami, z Mattermostom si pribl

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Ustvarjanje omrežja strežnikov Minecraft z BungeeCord na Debian 8, Debian 9 ali CentOS 7

Kaj potrebujete Vultr VPS z vsaj 1 GB RAM-a. SSH dostop (z root/administrativnimi pravicami). 1. korak: Namestitev BungeeCord Najprej najprej

Omogočamo šifriranje na Plesku

Omogočamo šifriranje na Plesku

Nadzorna plošča Plesk ima zelo lepo integracijo za Lets Encrypt. Lets Encrypt je eden edinih ponudnikov SSL, ki izdaja potrdila v celoti

Namestite MariaDB 10 na CentOS 6

Namestite MariaDB 10 na CentOS 6

V času pisanja je MariaDB 10.1 razvojna različica MariaDB. Temelji na MariaDB 5.5 in vključuje funkcije, prenesene nazaj iz MySQL 5.6. Ther

Omogoča šifriranje na cPanelu

Omogoča šifriranje na cPanelu

Lets Encrypt je certifikacijski organ, ki je namenjen brezplačnemu zagotavljanju certifikatov SSL. cPanel je zgradil lepo integracijo za vas in vašo stranko

Kako namestiti Concrete5 na CentOS 7

Kako namestiti Concrete5 na CentOS 7

Uporaba drugega sistema? Concrete5 je odprtokodni CMS, ki ponuja številne značilne in uporabne funkcije za pomoč urednikom pri preprosti izdelavi vsebine.

Kako namestiti pregledno ploščo na CentOS 7

Kako namestiti pregledno ploščo na CentOS 7

Uporaba drugega sistema? Review Board je brezplačno in odprtokodno orodje za pregledovanje izvorne kode, dokumentacije, slik in še veliko več. Gre za spletno programsko opremo

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

Nastavite preverjanje pristnosti HTTP z Nginxom na CentOS 7

V tem priročniku se boste naučili, kako nastaviti preverjanje pristnosti HTTP za spletni strežnik Nginx, ki deluje na CentOS 7. Zahteve Za začetek boste potrebovali

Kako namestiti YOURLS na CentOS 7

Kako namestiti YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je odprtokodna aplikacija za krajšanje URL-jev in analitiko podatkov. V tem članku bomo obravnavali postopek namestitve

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Kako namestiti in konfigurirati ArangoDB na CentOS 7

Uporaba drugega sistema? Uvod ArangoDB je odprtokodna baza podatkov NoSQL s prilagodljivim podatkovnim modelom za dokumente, grafe in ključe-vrednosti. je

Uporaba Etckeeperja za nadzor različic /etc

Uporaba Etckeeperja za nadzor različic /etc

Uvod Imenik /etc/ igra ključno vlogo pri delovanju sistema Linux. Razlog za to je skoraj vsaka sistemska konfiguracija

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Zakaj bi morali uporabljati SSHFS? Kako namestiti oddaljeni datotečni sistem s SSHFS na CentOS 6

Številni sistemski skrbniki upravljajo velike količine strežnikov. Ko je treba do datotek dostopati prek različnih strežnikov, se prijavite v vsakega posebej ca

Nastavitev strežnika Half Life 2 na CentOS 6

Nastavitev strežnika Half Life 2 na CentOS 6

Ta vadnica bo obravnavala postopek namestitve igralnega strežnika Half Life 2 na sistem CentOS 6. 1. korak: Namestitev predpogojev Za nastavitev ou

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č