Een Host toevoegen om aan LibreNMS te monitoren

LibreNMS is een bewakingsprogramma dat auto-ontdekking ondersteunt met meerdere protocollen, waaronder SNMP, ARP, OSPF, en BGP. Om besturingssystemen te bewaken kun je het SNMP protocol gebruiken, dat beschikbaar is op de meeste OS, waaronder Linux, Windows en BSDs.

Er zijn drie versies van het SNMP protocol, v1 en v2 die alleen beveiligd zijn met een community wachtwoord, en het protocol v3 dat wachtwoorden ondersteunt voor authenticatie en versleuteling. Voor de productie omgeving is het aan te bevelen het SNMP protocol v3 te gebruiken, dat veiliger is dan v2 en v1.

In dit artikel leer je hoe je hosts aan het LibreNMS bewakingssysteem kunt toevoegen met het SNMP protocol.

Vereisten

Voordat je aan de slag gaat, moet je de onderstaande LibreNMS installatie voltooien:

Hoe LibreNMS installeren op de Debian 11 Bullseye

Voor dit voorbeeld gebruiken we de volgende omgeving.

LibreNMS bewakingsserver

  • Besturingssysteem: Debian 11 Bullseye
  • Hostnaam: bullseye64
  • IP adres: 192.168.1.1.100

Gastheer/cliƫnt Machine

  • Besturingssysteem: Debian 11 Bullseye
  • Hostnaam: host01
  • IP adres: 192.168.1.50

Laten we nu beginnen.

Installeer SNMP op de host machine

Eerst ga je SNMP pakketten installeren op de host machines.

1. Maak verbinding met de host machine en werk de repositories bij met het volgende commando.

sudo apt update

2. Installeer nu SNMP pakketten met het onderstaande apt commando.

sudo apt install snmpd snmp libsnmp-dev

Typ‘y‘ om de installatie te bevestigen en druk op‘Enter‘ om verder te gaan.

3. Nadat de SNMP installatie voltooid is, start en activeer je de snmpd dienst met het volgende commando.

sudo systemctl enable --now snmpd

Verifieer nu de snmpd dienst met het onderstaande commando.

sudo systemctl status snmpd

Controleer of de snmpd dienst actief is en draait.

SNMP Protocol v3 Authenticatie en Encryptie instellen

Het SNMP protocol ondersteunt drie verschillende versies, v1, v2, en v3. Het LibreNMS bewakingstool ondersteunt alle drie de protocollen. En om veiligheidsredenen is het aan te bevelen het SNMP protocol v3 te gebruiken.

Het SNMP protocol v1 en v2 bieden eenvoudige authenticatie. Maar het SNMP protocol v3 biedt de authenticatie via het MD5 en SHA hash algoritme en de gegevensversleuteling via AES en DES.

In deze stap maak je een nieuwe snmpd gebruiker voor het protocol v3 op de host machine.

1. Maak, voordat je een nieuwe SNMP gebruiker maakt, een backup van de standaard configuratie en stop de snmpd dienst met het programma stop service

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
sudo systemctl stop snmpd.service

2. Voer nu het onderstaande ‘net-snmp-create-v3-user’ commando uit om een nieuwe SNMP gebruiker te maken met wachtwoordauthenticatie en wachtwoordversleuteling.

Voor dit voorbeeld maak je een nieuwe gebruiker‘snmpdadmin‘ met de wachtwoordauthenticatie‘StrongAuthPass‘ en de wachtwoordversleuteling‘StrongEncPass‘.

net-snmp-create-v3-user -ro -A StrongAuthPass -a SHA -X StrongEncPass -x AES snmpadmin

Nu zie je soortgelijke foutmeldingen als hieronder, en je zult deze fout bij de volgende stap verhelpen.

adding the following line to /var/lib/snmp/snmpd.conf:
   createUser snmpadmin SHA "StrongAuthPass" AES "StrongEncPass"
adding the following line to /snmp/snmpd.conf:
   rouser snmpadmin
touch: cannot touch '/snmp/snmpd.conf': No such file or directory
/usr/bin/net-snmp-create-v3-user: 144: cannot create /snmp/snmpd.conf: Directory nonexistent

Om deze fout te verhelpen moet je de configuratie aan het SNMP configuratiebestand‘/etc/snmp/snmpd.conf’ en‘/var/lib/snmp/snmpd.conf‘ bewerken.

Opties die je moet kennen:

  • -ro: De nieuwe gebruiker alleen-lezen toestemming geven.
  • -A: Stel wachtwoord authenticatie in voor de nieuwe gebruiker.
  • -a: Specificeer hash algoritme voor wachtwoord authenticatie. Ondersteunt hash MD5 en SHA.
  • -X: Stel wachtwoordversleuteling in voor de nieuwe gebruiker.
  • -x: Specificeer het wachtwoord versleutelingsalgoritme. Ondersteunt AES en DES.
  • snmpadmin: Een gebruiker die je gaat aanmaken.

3. Bewerk vervolgens de SNMP configuratie ‘/etc/snmp/snmpd.conf’ met nano editor.

sudo nano /etc/snmp/snmpd.conf

Bij de optie ‘agentaddress’ voeg je het interne netwerk van de host machine toe. In dit voorbeeld heeft de host machine een IP adres‘192.168.1.50‘.

agentaddress  127.0.0.1,[::1],192.168.1.50

Plak nu de volgende configuratie onderaan de regel. Deze configuratie schakelt de gebruiker‘snmpadmin‘ in met de alleen-lezen toestemming.

rouser snmpadmin

Sla de configuratie op en sluit af.

4. Bewerk vervolgens de SNMP gegevensconfiguratie ‘/var/lib/snmp/snmpd.conf’ met nano editor.

sudo nano /var/lib/snmp/snmpd.conf

Kopieer en plak de volgende configuratie onderaan de regel.

createUser snmpadmin SHA "StrongAuthPass" AES "StrongEncPass"

Sla de configuratie op en sluit af, en je hebt de basisinstelling van het SNMP v3 protocol voltooid.

5. Voer nu het volgende commando uit om de dienst snmpd te starten.

sudo systemctl start snmpd.service

De snmpd dienst draait op het interne IP adres ‘192.168.1.50’ met het SNMP protocol v3.

Verifieer de authenticatie van de SNMP dienst

Om de SNMP configuratie op de host machine te controleren, kun je het commando ‘snmpwalk’ gebruiken. Dit hulpmiddel kan gebruikt worden om de systeeminformatie van hosts op afstand op te vragen met het SNMP protocol.

1. Voer vanaf de host machine het onderstaande snmpwalk commando uit.

snmpwalk -v3 -a SHA -A StrongAuthPass -x AES -X StrongEncPass -l authPriv -u snmpadmin localhost | head

Als je SNMP configuratie juist is, zie je de systeeminformatie van de host zoals hieronder.

Verifieer SNMP vanaf de gastmachine

2. Ga vervolgens naar de LibreNMS server en vraag de host machine op IP adres ‘192.168.1.50’ met het onderstaande snmpwalk commando.

snmpwalk -v3 -a SHA -A StrongAuthPass -x AES -X StrongEncPass -l authPriv -u snmpadmin 192.168.1.50 | head

Als je configuratie juist is, zie je de informatie over de host machine als hieronder.

Verifieer SNMP vanuit LibreNMS Server

Nu heb je de installatie en configuratie van SNMP met protocol v3 en de wachtwoord authenticatie en wachtwoord versleuteling voltooid.

SNMP uitbreiden naar de host machine instellen

Op LibreNMS kun je drie verschillende methoden gebruiken om hosts en toepassingen te bewaken:

  1. Directe verbinding met de toepassing
  2. Met SNMP Uitbreiden
  3. Gebruik van LibreNMS Agent

In deze stap leer je hoe je een systeem of toepassing kunt bewaken met het LibreNMS bewakingstool met de SNMP Extend methode.

Om de SNMP Extend methode te gebruiken, moet je het controle commando script downloaden van de volgende URL.

https://github.com/librenms/librenms-agent/tree/master/snmp

1. Voor dit voorbeeld zul je het controle commando script ‘distro’ downloaden om het host besturingssysteem te detecteren.

Download het check commando naar de map ‘/usr/local/bin’ en maak het uitvoerbaar met het volgende commando.

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

2. Bewerk vervolgens de SNMP configuratie ‘/etc/snmp/snmpd.conf’ met nano editor.

sudo nano /etc/snmp/snmpd.conf

Plak de volgende configuratie onderaan de regel.

extend distro /usr/local/bin/distro

Sla de configuratie op en sluit af.

3. Herstart nu de snmpd dienst om een nieuwe configuratie toe te passen.

sudo systemctl restart snmpd

Nu heb je de basis configuratie van LibreNMS bewaking met de SNMP Extend methode voltooid.

En je bent klaar om de Host machine aan het LibreNMS bewakingstool toe te voegen.

Hosts toevoegen aan het LibreNMS bewaking gereedschap

Log in op je LibreNMS bewakingsprogramma en ga naar het menu‘Apparaten‘, klik dan op het menu‘Apparaat toevoegen‘.

1. Type de details van de apparaten met de volgende configuratie

  • Hostname: 192.168.1.50 (IP adres van de gastmachine).
  • SNMP versie: Protocol v3 op de standaard poort 161 met UDP transport.
  • Auth Niveau: authPriv
  • Auth gebruikersnaam: snmpadmin
  • Auth wachtwoord: StrongAuthPass
  • Crypto wachtwoord: StrongEncPass

Klik nu op de knop‘Add Device‘.

LibreNMS Gastheer/Devices toevoegen

2. Wacht nu enkele minuten en laat het LibreNMS bewakingsprogramma systeemdetails van de host machine verzamelen.

Klik op het menu‘Devices‘ en klik op‘Servers‘ om een lijst van alle beschikbare apparaten te krijgen.

Je ziet de host machine beschikbaar op de lijst server zoals hieronder.

LibreNMS Lijst Hosts

3. Klik op het IP adres van de host machine om alle details te zien.

Je ziet een gelijkaardige gedetailleerde host machine als hieronder.

LibreNMS Gastheren

Bovendien is hieronder de grafiek van de systeem host machine.

Grafiek van Servers

Nu heb je met succes een host toegevoegd om aan LibreNMS te bewaken.

Conclusie

Gefeliciteerd! Je hebt geleerd hoe je hosts aan het LibreNMS bewakingstool kunt toevoegen met het SNMP protocol v3. Ook heb je de basis configuratie van SNMP geleerd voor het aanmaken van een nieuwe gebruikende en het gebruik van het protocol v3 met authenticatie en encryptie.

Voor de volgende stap kun je via de SNMP Extend extra controlecommando’s toevoegen om andere toepassingen te bewaken. of je kunt andere methoden onderzoeken om systemen en toepassingen met de LibreNMS agent te bewaken.