Övervaka dina enheter med LibreNMS på CentOS 7

LibreNMS är ett fullfjädrat nätverksövervakningssystem med öppen källkod. Den används för SNMPatt hämta data från olika enheter. En mängd olika enheter stöds i LibreNMS som Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP och många fler. Den stöder flera autentiseringsmekanismer och stöder tvåfaktorsautentisering. Den har ett anpassningsbart varningssystem som kan varna nätverksadministratören via e-post, IRC eller slack.

Förutsättningar

För den här handledningen kommer vi att använda nms.example.comsom domännamnet pekade mot Vultr-instansen. Se till att ersätta alla förekomster av exemplets domännamn med det faktiska.

Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar CentOS 7 . När ditt system har uppdaterats fortsätter du med att installera beroenden.

Installera Nginx och PHP

Frontänden av LibreNMS är i princip skriven i PHP, så vi kommer att behöva installera en webbserver och PHP. I den här handledningen kommer vi att installera Nginx tillsammans med PHP 7.2 för att få maximal säkerhet och prestanda.

Installera Nginx.

sudo yum -y install nginx

Starta Nginx och låt den starta vid uppstart automatiskt.

sudo systemctl start nginx
sudo systemctl enable nginx

Lägg till och aktivera Remi-förvaret, eftersom standard-YUM-förvaret innehåller en äldre version 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

Installera PHP version 7.2 tillsammans med modulerna som krävs 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

Öppna den laddade konfigurationsfilen av PHP i en editor.

sudo nano /etc/php.ini

Hitta följande rader, avkommentera och ändra deras värde som visas.

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

Använd dessa värden istället, ersätt Asia/Kolkatamed din lokala tidszon.

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

Du måste också ändra systemets tidszon genom att köra följande kommando.

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

Öppna nu PHP-FPM-konfigurationsfilen.

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

Hitta följande rad.

listen = 127.0.0.1:9000

Ersätt den med följande rad.

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

Som standard är PHP-FPM konfigurerat för Apache webbserveranvändare. Ändra användaren till nginx.

user = nginx
group = nginx

Vidare, avkommentera följande rader.

listen.owner = nobody
listen.group = nobody

Spara filen och avsluta redigeraren. Starta om PHP-FPM och låt den starta vid uppstart.

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

Ställ in lämplig äganderätt till socket-filen.

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

Installera MariaDB

MariaDB är en gaffel av MySQL. Lägg till MariaDB-förvaret i ditt system. Standardförvaret yuminnehåller en äldre version 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

Installera MariaDB.

sudo yum -y install mariadb mariadb-server

Öppna nu MySQL-konfigurationsfilen.

sudo nano /etc/my.cnf

Lägg till följande rader i slutet av blocket.

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

Starta om MariaDB och låt den starta automatiskt vid uppstart.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Innan du konfigurerar databasen måste du säkra MariaDB först.

sudo mysql_secure_installation

Du kommer att bli ombedd att ange det aktuella MariaDB root-lösenordet. Som standard finns det inget root-lösenord i en ny MariaDB-installation. Tryck på knappen " Enter" för att fortsätta. Ställ in ett starkt lösenord för rootanvändaren av din MariaDB-server och svara " Y" på alla andra frågor som ställs. Frågorna som ställs är självförklarande.

Logga in på MySQL-skalet som root.

mysql -u root -p

Ange lösenordet för MariaDB root-användaren att logga in.

Kör följande frågor för att skapa en databas och en databasanvändare för LibreNMS-installationen.

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 ersätta databasnamnet librenmsoch användarnamnet librenmsenligt ditt val. Se till att byta StrongPasswordtill ett mycket starkt lösenord.

Installera LibreNMS

Förutom beroenden ovan behöver LibreNMS få fler beroenden. Installera dem genom att köra.

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

Lägg till en ny oprivilegierad användare för LibreNMS-applikationen.

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

LibreNMS kan installeras direkt genom att klona dess Github-förråd.

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

Fixa ägandet.

sudo chown librenms:librenms -R /opt/librenms

LibreNMS förlitar sig på SNMP för många uppgifter. Eftersom vi redan har installerat SNMP, kopiera exempelkonfigurationsfilen till dess plats.

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

Öppna konfigurationsfilen i editorn.

sudo nano /etc/snmp/snmpd.conf

Hitta den här raden.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Redigera texten RANDOMSTRINGGOESHEREoch ersätt gemenskapssträngen med valfri sträng. Till exempel.

com2sec readonly  default         my-org

Kom ihåg strängen eftersom den kommer att krävas senare när vi lägger till den första SNMP-enheten.

SNMP behöver också information om distributionsversionen. Ladda ner och installera skriptet för att hitta distributionsversionen.

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

Starta SNMP-demontjänsten och låt den starta automatiskt vid uppstart.

sudo systemctl enable snmpd
sudo systemctl restart snmpd

Nu måste du lägga till några crontab-poster för att köra de schemalagda uppgifterna. Skapa en ny cron-jobbfil.

sudo nano /etc/cron.d/librenms

Fyll filen med följande text.

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

Starta om cron daemon-tjänsten.

sudo systemctl restart crond

Ställ in logrotateså att loggfilerna uppdateras automatiskt med tiden.

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

Slutligen, ställ in lämpligt ägande och behörighet.

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 och Nginx VHost-konfigurationer

Inloggningar och annan information som skickas via LibreNMS webbgränssnitt är inte säkrad om anslutningen inte är krypterad med SSL. Vi kommer att konfigurera Nginx att använda SSL genererad med Let's Encrypt gratis SSL.

Installera Certbot, som är klientapplikationen för Let's Encrypt CA.

sudo yum -y install certbot

Innan du kan begära certifikaten måste du tillåta port 80och 443, eller standard HTTPoch HTTPStjänster genom brandväggen.

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

Obs : För att erhålla certifikat från Let's Encrypt CA måste domänen som certifikaten ska genereras för peka mot servern. Om inte, gör de nödvändiga ändringarna i domänens DNS-poster och vänta tills DNS:n sprider sig innan du gör certifikatbegäran igen. Certbot kontrollerar domänmyndigheten innan certifikaten tillhandahålls.

Generera SSL-certifikaten:

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

De genererade certifikaten kommer sannolikt att lagras i /etc/letsencrypt/live/nms.example.com/katalogen. SSL-certifikatet kommer att lagras som fullchain.pemoch privat nyckel kommer att lagras som privkey.pem.

Låt oss kryptera certifikaten går ut om 90 dagar, därför rekommenderas att ställa in automatisk förnyelse för certifikaten med hjälp av ett cron-jobb.

Öppna cron-jobbfilen.

sudo crontab -e

Lägg till följande rad i slutet av filen.

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

Ovanstående cron-jobb kommer att köras varje måndag klockan 5:30 lokal tid. Om certifikatet löper ut kommer det automatiskt att förnyas.

Skapa en ny virtuell värd.

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

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

Ersätt nms.example.commed din faktiska domän i ovanstående konfiguration.

Starta om Nginx.

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

Installation med WebUI

För att avsluta installationen, öppna i https://nms.example.comdin favoritwebbläsare. Du kommer att se att kraven är uppfyllda. Ange dina databasdetaljer och skapa ett nytt administrativt konto. När du har installerat den får du ett meddelande för att validera installationen. Klicka på länken och logga in med administratörskontot. Du kommer att se att allt utom " Poller" har en " Ok" status.

Övervaka dina enheter med LibreNMS på CentOS 7

Klicka nu på länken för att lägga till en enhet. I " Add Device"-gränssnittet, ange värdnamnet som lokalvärd och lämna allt som det är. Ange din gemenskapssträng i gemenskapsfältet. Det måste vara exakt samma sträng som du angav snmpd.confunder konfigurationen av SNMP.

Övervaka dina enheter med LibreNMS på CentOS 7

När enheten har lagts till kan du se detaljerna genom att gå till Devicesfliken " ".

Övervaka dina enheter med LibreNMS på CentOS 7

På samma sätt kan du lägga till fler enheter i LibreNMS-applikationen för övervakning "dygnet runt".


Installera Plesk på CentOS 7

Installera Plesk på CentOS 7

Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser

Hur man installerar Squid Proxy på CentOS

Hur man installerar Squid Proxy på CentOS

Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera

Konfigurera statiskt nätverk och IPv6 på CentOS 7

Konfigurera statiskt nätverk och IPv6 på CentOS 7

VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög

Hur man installerar Microweber på CentOS 7

Hur man installerar Microweber på CentOS 7

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar Vanilla Forum på CentOS 7

Hur man installerar Vanilla Forum på CentOS 7

Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa

Hur man installerar Mattermost 4.1 på CentOS 7

Hur man installerar Mattermost 4.1 på CentOS 7

Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn

Låt oss kryptera på Plesk

Låt oss kryptera på Plesk

Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt

Låter kryptera på cPanel

Låter kryptera på cPanel

Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient

Hur man installerar Concrete5 på CentOS 7

Hur man installerar Concrete5 på CentOS 7

Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och

Hur man installerar Review Board på CentOS 7

Hur man installerar Review Board på CentOS 7

Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara

Ställ in HTTP-autentisering med Nginx på CentOS 7

Ställ in HTTP-autentisering med Nginx på CentOS 7

I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du

Hur man installerar YOURLS på CentOS 7

Hur man installerar YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är

Använda Etckeeper för versionskontroll av /etc

Använda Etckeeper för versionskontroll av /etc

Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca

Konfigurera en Half Life 2-server på CentOS 6

Konfigurera en Half Life 2-server på CentOS 6

Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer