Overvåk enhetene dine ved å bruke LibreNMS på CentOS 7

LibreNMS er et fullverdig åpen kildekode-nettverksovervåkingssystem. Den brukes SNMPtil å hente data fra forskjellige enheter. En rekke enheter støttes i LibreNMS som Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP og mange flere. Den støtter flere autentiseringsmekanismer og støtter tofaktorautentisering. Den har et tilpassbart varslingssystem som kan varsle nettverksadministratoren via e-post, IRC eller slack.

Forutsetninger

For denne opplæringen vil vi bruke nms.example.comsom domenenavnet peker mot Vultr-forekomsten. Sørg for å erstatte alle forekomster av eksempeldomenenavnet med det faktiske.

Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere CentOS 7 . Når systemet ditt har blitt oppdatert, fortsett å installere avhengighetene.

Installer Nginx og PHP

Frontenden av LibreNMS er i utgangspunktet skrevet i PHP, så vi må installere en webserver og PHP. I denne opplæringen vil vi installere Nginx sammen med PHP 7.2 for å oppnå maksimal sikkerhet og ytelse.

Installer Nginx.

sudo yum -y install nginx

Start Nginx og la den starte ved oppstart automatisk.

sudo systemctl start nginx
sudo systemctl enable nginx

Legg til og aktiver Remi-depotet, ettersom standard YUM-depot inneholder en eldre versjon av 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

Installer PHP versjon 7.2 sammen med modulene som kreves av 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

Åpne den innlastede konfigurasjonsfilen av PHP i en editor.

sudo nano /etc/php.ini

Finn følgende linjer, avkommenter og endre verdien som vist.

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

Bruk disse verdiene i stedet, erstatt Asia/Kolkatamed din lokale tidssone.

cgi.fix_pathinfo=0
memory_limit = -1
date.timezone = Asia/Kolkata

Du må også endre systemets tidssone ved å kjøre følgende kommando.

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

Åpne nå PHP-FPM-konfigurasjonsfilen.

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

Finn følgende linje.

listen = 127.0.0.1:9000

Erstatt den med følgende linje.

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

Som standard er PHP-FPM konfigurert for Apache-nettserverbruker. Endre brukeren til nginx.

user = nginx
group = nginx

Fjern kommentarene til følgende linjer.

listen.owner = nobody
listen.group = nobody

Lagre filen og gå ut av redigeringsprogrammet. Start PHP-FPM på nytt og aktiver den til å starte ved oppstart.

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

Angi riktig eierskap til socket-filen.

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

Installer MariaDB

MariaDB er en gaffel av MySQL. Legg til MariaDB-depotet i systemet ditt. Standarddepotet yuminneholder en eldre versjon av 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

Installer MariaDB.

sudo yum -y install mariadb mariadb-server

Åpne nå MySQL-konfigurasjonsfilen.

sudo nano /etc/my.cnf

Legg til følgende linjer på slutten av blokken.

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

Start MariaDB på nytt og la den starte automatisk ved oppstart.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Før du konfigurerer databasen, må du sikre MariaDB først.

sudo mysql_secure_installation

Du vil bli bedt om det gjeldende MariaDB-rotpassordet. Som standard er det ikke noe root-passord i en fersk MariaDB-installasjon. Trykk på " Enter"-tasten for å fortsette. Angi et sterkt passord for rootbrukeren av MariaDB-serveren din og svar " Y" på alle de andre spørsmålene som blir stilt. Spørsmålene som stilles er selvforklarende.

Logg inn på MySQL-skallet som root.

mysql -u root -p

Oppgi passordet for MariaDB-rotbrukeren for å logge på.

Kjør følgende spørringer for å opprette en database og en databasebruker for LibreNMS-installasjonen.

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 erstatte databasenavnet librenmsog brukernavnet librenmsetter eget valg. Sørg for å endre StrongPasswordtil et veldig sterkt passord.

Installer LibreNMS

Bortsett fra avhengighetene ovenfor, trenger LibreNMS få flere avhengigheter. Installer dem ved å kjøre.

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

Legg til en ny uprivilegert bruker for LibreNMS-applikasjonen.

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

LibreNMS kan installeres direkte ved å klone Github-depotet.

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

Fiks eierskapet.

sudo chown librenms:librenms -R /opt/librenms

LibreNMS er avhengig av SNMP for mange oppgaver. Siden vi allerede har installert SNMP, kopier eksempelkonfigurasjonsfilen til plasseringen.

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

Åpne konfigurasjonsfilen i redigeringsprogrammet.

sudo nano /etc/snmp/snmpd.conf

Finn denne linjen.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Rediger teksten RANDOMSTRINGGOESHEREog erstatt fellesskapsstrengen med hvilken som helst streng du ønsker. For eksempel.

com2sec readonly  default         my-org

Husk strengen siden den vil bli nødvendig senere når vi legger til den første SNMP-enheten.

SNMP trenger også informasjon om distribusjonsversjonen. Last ned og installer skriptet for å finne distribusjonsversjonen.

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

Start SNMP-demontjenesten og la den starte automatisk ved oppstart.

sudo systemctl enable snmpd
sudo systemctl restart snmpd

Nå må du legge til noen crontab-oppføringer for å kjøre de planlagte oppgavene. Opprett en ny cron-jobbfil.

sudo nano /etc/cron.d/librenms

Fyll filen med følgende tekst.

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

Start cron daemon-tjenesten på nytt.

sudo systemctl restart crond

Sett opp logrotateslik at loggfilene automatisk oppdateres over tid.

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

Til slutt, angi riktig eierskap og tillatelser.

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

SSL og Nginx VHost konfigurasjoner

Pålogginger og annen informasjon som sendes gjennom nettgrensesnittet til LibreNMS er ikke sikret dersom tilkoblingen ikke er kryptert med SSL. Vi vil konfigurere Nginx til å bruke SSL generert med Let's Encrypt gratis SSL.

Installer Certbot, som er klientapplikasjonen for Let's Encrypt CA.

sudo yum -y install certbot

Før du kan be om sertifikatene, må du tillate port 80og 443, eller standard HTTPog HTTPStjenester gjennom brannmuren.

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

Merk : For å få sertifikater fra Let's Encrypt CA, må domenet som sertifikatene skal genereres for, peke mot serveren. Hvis ikke, gjør de nødvendige endringene i DNS-postene til domenet og vent til DNS-en forplanter seg før du foretar sertifikatforespørselen igjen. Certbot sjekker domeneautoriteten før sertifikatene leveres.

Generer SSL-sertifikatene:

sudo certbot certonly --webroot -w /usr/share/nginx/html -d nms.example.com

De genererte sertifikatene vil sannsynligvis bli lagret i /etc/letsencrypt/live/nms.example.com/katalogen. SSL-sertifikatet vil bli lagret som fullchain.pemog privat nøkkel vil bli lagret som privkey.pem.

La oss kryptere sertifikater utløper om 90 dager, derfor anbefales det å sette opp automatisk fornyelse for sertifikatene ved å bruke en cron-jobb.

Åpne cron-jobbfilen.

sudo crontab -e

Legg til følgende linje på slutten av filen.

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

Ovennevnte cron-jobb vil kjøre hver mandag kl. 05.30 lokal tid. Hvis sertifikatet skal utløpe, vil det automatisk bli fornyet.

Opprett en ny virtuell vert.

sudo nano /etc/nginx/conf.d/nms.example.com.conf

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

Erstatt nms.example.commed ditt faktiske domene i konfigurasjonen ovenfor.

Start Nginx på nytt.

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

Installasjon ved hjelp av WebUI

For å fullføre installasjonen, åpne https://nms.example.compå favorittnettleseren din. Du vil se at kravene er oppfylt. Oppgi databasedetaljer og opprett en ny administrativ konto. Når den er installert, vil du få en melding om å validere installasjonen. Klikk på lenken og logg på med administratorkontoen. Du vil se at alt unntatt " Poller" har en " Ok"-status.

Overvåk enhetene dine ved å bruke LibreNMS på CentOS 7

Klikk nå på lenken for å legge til en enhet. På " Add Device"-grensesnittet, oppgi vertsnavnet som den lokale verten og la alt være som det er. Oppgi fellesskapets streng i fellesskapsfeltet. Det må være nøyaktig samme streng som du har oppgitt i snmpd.confunder konfigurasjonen av SNMP.

Overvåk enhetene dine ved å bruke LibreNMS på CentOS 7

Når enheten er lagt til, kan du se detaljene ved å gå til " Devices"-fanen.

Overvåk enhetene dine ved å bruke LibreNMS på CentOS 7

På samme måte kan du legge til flere enheter i LibreNMS-applikasjonen for "døgnet rundt" overvåking.


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruker du et annet system? Plesk er et proprietært kontrollpanel for webverten som lar brukere administrere sine personlige og/eller klienters nettsteder, databaser

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Microweber på CentOS 7

Slik installerer du Microweber på CentOS 7

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere Vanilla Forum på CentOS 7

Hvordan installere Vanilla Forum på CentOS 7

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Slik installerer du Mattermost 4.1 på CentOS 7

Slik installerer du Mattermost 4.1 på CentOS 7

Bruker du et annet system? Mattermost er et åpen kildekode, selvdrevet alternativ til Slack SAAS-meldingstjenesten. Med andre ord, med Mattermost kan du ca

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

La oss kryptere på Plesk

La oss kryptere på Plesk

Plesk-kontrollpanelet har en veldig fin integrasjon for Lets Encrypt. Lets Encrypt er en av de eneste SSL-leverandørene som gir ut sertifikater komplett

La oss kryptere på cPanel

La oss kryptere på cPanel

Lets Encrypt er en sertifiseringsinstans dedikert til å tilby SSL-sertifikater gratis. cPanel har bygget en ryddig integrasjon slik at du og din klient

Hvordan installere Concrete5 på CentOS 7

Hvordan installere Concrete5 på CentOS 7

Bruker du et annet system? Concrete5 er et åpen kildekode CMS som tilbyr mange karakteristiske og nyttige funksjoner for å hjelpe redaktører med å produsere innhold enkelt og

Slik installerer du Review Board på CentOS 7

Slik installerer du Review Board på CentOS 7

Bruker du et annet system? Review Board er et gratis og åpen kildekodeverktøy for gjennomgang av kildekode, dokumentasjon, bilder og mye mer. Det er nettbasert programvare

Sett opp HTTP-autentisering med Nginx på CentOS 7

Sett opp HTTP-autentisering med Nginx på CentOS 7

I denne veiledningen lærer du hvordan du setter opp HTTP-autentisering for en Nginx-webserver som kjører på CentOS 7. Krav For å komme i gang trenger du

Slik installerer du GoAccess på CentOS 7

Slik installerer du GoAccess på CentOS 7

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Hvordan installere YOURLS på CentOS 7

Hvordan installere YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en åpen kildekode-applikasjon for URL-forkorting og dataanalyse. I denne artikkelen vil vi dekke installasjonsprosessen

Hvordan installere og konfigurere ArangoDB på CentOS 7

Hvordan installere og konfigurere ArangoDB på CentOS 7

Bruker du et annet system? Introduksjon ArangoDB er en åpen kildekode NoSQL-database med en fleksibel datamodell for dokumenter, grafer og nøkkelverdier. Det er

Bruke Etckeeper for versjonskontroll av /etc

Bruke Etckeeper for versjonskontroll av /etc

Innledning /etc/-katalogen spiller en kritisk rolle i måten et Linux-system fungerer på. Grunnen til dette er fordi nesten alle systemkonfigurasjoner

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mengder servere. Når filer må åpnes på tvers av forskjellige servere, logger du på hver enkelt individuelt ca

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer