Hinzufügen eines zu überwachenden Hosts zu LibreNMS
LibreNMS ist ein Überwachungstool, das die automatische Erkennung mit mehreren Protokollen unterstützt, darunter SNMP, ARP, OSPF und BGP. Um Betriebssysteme zu überwachen, kannst du das SNMP-Protokoll verwenden, das auf den meisten Betriebssystemen verfügbar ist, darunter Linux, Windows und BSD.
Es gibt drei Versionen des SNMP-Protokolls: v1 und v2, die nur mit einem Community-Passwort gesichert sind, und das Protokoll v3, das Passwörter zur Authentifizierung und Verschlüsselung unterstützt. Für die Produktionsumgebung wird empfohlen, das SNMP-Protokoll v3 zu verwenden, das sicherer ist als v2 und v1.
In diesem Artikel erfährst du, wie du Hosts mithilfe des SNMP-Protokolls zum LibreNMS-Überwachungssystem hinzufügst.
Voraussetzungen
Bevor du loslegst, musst du die unten stehende LibreNMS-Installation abschließen:
So installierst du LibreNMS auf Debian 11 Bullseye
Für dieses Beispiel verwenden wir die folgende Umgebung.
LibreNMS Überwachungsserver
- Betriebssystem: Debian 11 Bullseye
- Hostname: bullseye64
- IP-Adresse: 192.168.1.1.100
Host/Client-Maschine
- Betriebssystem: Debian 11 Bullseye
- Hostname: host01
- IP-Adresse: 192.168.1.50
Nun lass uns beginnen.
SNMP auf dem Host-Rechner installieren
Zuerst installierst du die SNMP-Pakete auf den Host-Rechnern.
1. Verbinde dich mit dem Host-Rechner und aktualisiere die Repositories mit dem folgenden Befehl.
sudo apt update
2. Installiere nun die SNMP-Pakete mit dem folgenden apt-Befehl.
sudo apt install snmpd snmp libsnmp-dev
Gib„y“ ein, um die Installation zu bestätigen und drücke„Enter„, um fortzufahren.
3. Nachdem die SNMP-Installation abgeschlossen ist, starte und aktiviere den snmpd-Dienst mit dem folgenden Befehl.
sudo systemctl enable --now snmpd
Überprüfe nun den snmpd-Dienst mit dem folgenden Befehl.
sudo systemctl status snmpd
Stelle sicher, dass der snmpd-Dienst aktiv ist und läuft.
SNMP-Protokoll v3 Authentifizierung und Verschlüsselung einrichten
Das SNMP-Protokoll unterstützt drei verschiedene Versionen: v1, v2 und v3. Das Überwachungsprogramm LibreNMS unterstützt alle drei Protokolle. Aus Sicherheitsgründen wird jedoch empfohlen, das SNMP-Protokoll v3 zu verwenden.
Die SNMP-Protokolle v1 und v2 bieten eine einfache Authentifizierung. Das SNMP-Protokoll v3 hingegen bietet eine Authentifizierung durch die Hash-Algorithmen MD5 und SHA sowie eine Datenverschlüsselung durch AES und DES.
In diesem Schritt erstellst du einen neuen snmpd-Benutzer für das Protokoll v3 auf dem Host-Rechner.
1. Bevor du einen neuen SNMP-Benutzer anlegst, sichere die Standardkonfiguration und beende den snmpd-Dienst mit dem Befehl stop service
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak sudo systemctl stop snmpd.service
2. Führe nun den Befehl „net-snmp-create-v3-user“ aus, um einen neuen SNMP-Benutzer mit Passwort-Authentifizierung und Passwort-Verschlüsselung zu erstellen.
In diesem Beispiel erstellst du einen neuen Benutzer„snmpdadmin“ mit der Passwortauthentifizierung„StrongAuthPass“ und der Passwortverschlüsselung„StrongEncPass„.
net-snmp-create-v3-user -ro -A StrongAuthPass -a SHA -X StrongEncPass -x AES snmpadmin
Jetzt siehst du ähnliche Fehlermeldungen wie unten und wirst diesen Fehler im nächsten Schritt beheben.
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
Um diesen Fehler zu beheben, musst du die Konfiguration der SNMP-Konfigurationsdatei„/etc/snmp/snmpd.conf“ und„/var/lib/snmp/snmpd.conf“ bearbeiten.
Optionen, die du kennen musst:
- -ro: Dem neuen Benutzer nur Leserechte erteilen.
- -A: Passwort-Authentifizierung für den neuen Benutzer einrichten.
- -a: Lege den Hash-Algorithmus für die Passwortauthentifizierung fest. Unterstützt die Hashes MD5 und SHA.
- -X: Passwortverschlüsselung für den neuen Benutzer einrichten.
- -x: Lege den Algorithmus für die Passwortverschlüsselung fest. Unterstützt AES und DES.
- snmpadmin: Ein Benutzer, den du erstellen wirst.
3. Als Nächstes bearbeitest du die SNMP-Konfiguration „/etc/snmp/snmpd.conf“ mit dem Editor nano.
sudo nano /etc/snmp/snmpd.conf
Füge bei der Option „agentaddress“ das interne Netzwerk des Host-Rechners hinzu. In diesem Beispiel hat der Host-Rechner die IP-Adresse„192.168.1.50„.
agentaddress 127.0.0.1,[::1],192.168.1.50
Füge nun die folgende Konfiguration am Ende der Zeile ein. Mit dieser Konfiguration wird der Benutzer„snmpadmin“ mit der Berechtigung „Nur Lesen“ ausgestattet.
rouser snmpadmin
Speichere die Konfiguration und beende das Programm.
4. Als Nächstes bearbeitest du die SNMP-Datenkonfiguration „/var/lib/snmp/snmpd.conf“ mit dem nano-Editor.
sudo nano /var/lib/snmp/snmpd.conf
Kopiere die folgende Konfiguration und füge sie am Ende der Zeile ein.
createUser snmpadmin SHA "StrongAuthPass" AES "StrongEncPass"
Speichere die Konfiguration und beende sie. Damit hast du die Grundkonfiguration des SNMP v3 Protokolls abgeschlossen.
5. Führe nun den folgenden Befehl aus, um den snmpd-Dienst zu starten.
sudo systemctl start snmpd.service
Der snmpd-Dienst läuft unter der internen IP-Adresse „192.168.1.50“ mit dem SNMP-Protokoll v3.
Überprüfen der SNMP-Dienst-Authentifizierung
Um die SNMP-Konfiguration auf dem Host-Rechner zu überprüfen, kannst du den Befehl „snmpwalk“ verwenden. Mit diesem Tool kannst du die Systeminformationen von entfernten Hosts über das SNMP-Protokoll abfragen.
1. Führe auf dem Host-Rechner den folgenden snmpwalk-Befehl aus.
snmpwalk -v3 -a SHA -A StrongAuthPass -x AES -X StrongEncPass -l authPriv -u snmpadmin localhost | head
Wenn deine SNMP-Konfiguration korrekt ist, siehst du die Systeminformationen des Hosts wie unten dargestellt.
2. Gehe als Nächstes zum LibreNMS-Server und frage den Host-Rechner mit der IP-Adresse „192.168.1.50“ mit dem unten stehenden snmpwalk-Befehl ab.
snmpwalk -v3 -a SHA -A StrongAuthPass -x AES -X StrongEncPass -l authPriv -u snmpadmin 192.168.1.50 | head
Wenn deine Konfiguration korrekt ist, siehst du die unten stehenden Informationen über den Host-Rechner.
Damit ist die Installation und Konfiguration von SNMP mit dem Protokoll v3 und der Passwort-Authentifizierung und Passwort-Verschlüsselung abgeschlossen.
Einrichten der SNMP-Erweiterung auf dem Host-Rechner
In LibreNMS kannst du drei verschiedene Methoden verwenden, um Hosts und Anwendungen zu überwachen:
- Direkte Verbindung mit der Anwendung
- Verwendung von SNMP Extend
- Verwendung des LibreNMS-Agenten
In diesem Schritt lernst du, wie du ein System oder eine Anwendung mit dem LibreNMS-Überwachungstool mit der SNMP-Extend-Methode überwachen kannst.
Um die SNMP Extend-Methode zu verwenden, musst du das Skript für den Prüfbefehl von der folgenden URL herunterladen.
https://github.com/librenms/librenms-agent/tree/master/snmp
1. In diesem Beispiel lädst du das Skript „distro“ herunter, um das Betriebssystem des Hosts zu ermitteln.
Lade den Check Command in das Verzeichnis „/usr/local/bin“ herunter und mache ihn mit dem folgenden Befehl ausführbar.
curl -o /usr/local/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro chmod +x /usr/local/bin/distro
2. Als Nächstes bearbeitest du die SNMP-Konfiguration „/etc/snmp/snmpd.conf“ mit dem Editor nano.
sudo nano /etc/snmp/snmpd.conf
Füge die folgende Konfiguration am Ende der Zeile ein.
extend distro /usr/local/bin/distro
Speichere die Konfiguration und beende sie.
3. Starte nun den snmpd-Dienst neu, um die neue Konfiguration anzuwenden.
sudo systemctl restart snmpd
Damit hast du die Grundkonfiguration der LibreNMS-Überwachung mit der SNMP-Extend-Methode abgeschlossen.
Jetzt kannst du den Host-Rechner zum LibreNMS-Überwachungstool hinzufügen.
Hinzufügen von Hosts zum LibreNMS-Überwachungstool
Melde dich in deinem LibreNMS-Überwachungstool an, gehe zum Menü„Geräte“ und klicke dann auf das Menü„Gerät hinzufügen„.
1. Gib die Details zu den Geräten mit der folgenden Konfiguration ein
- Hostname: 192.168.1.50 (IP-Adresse des Host-Rechners).
- SNMP-Version: Protokoll v3 auf dem Standard-Port 161 mit UDP-Transport.
- Auth Level: authPriv
- Auth-Benutzername: snmpadmin
- Auth-Kennwort: StrongAuthPass
- Krypto-Passwort: StrongEncPass
Klicke nun auf die Schaltfläche„Gerät hinzufügen„.
2. Warte nun einige Minuten, damit das LibreNMS-Überwachungstool die Systemdaten des Host-Rechners erfassen kann.
Klicke auf das Menü„Geräte“ und dann auf„Server„, um eine Liste aller verfügbaren Geräte zu erhalten.
Du siehst, dass der Host-Rechner auf dem Server der Liste verfügbar ist (siehe unten).
3. Klicke auf die IP-Adresse des Host-Rechners, um alle Details zur Überwachung zu erhalten.
Du siehst einen ähnlichen detaillierten Hostrechner wie unten.
Außerdem siehst du unten die Grafik des Systemrechners.
Jetzt hast du erfolgreich einen Host zur Überwachung zu LibreNMS hinzugefügt.
Fazit
Herzlichen Glückwunsch! Du hast gelernt, wie du mit dem SNMP-Protokoll v3 Hosts zum LibreNMS-Überwachungstool hinzufügst. Außerdem hast du die Grundkonfiguration von SNMP für die Erstellung einer neuen Verbindung und die Verwendung des Protokolls v3 mit Authentifizierung und Verschlüsselung gelernt.
Im nächsten Schritt kannst du über SNMP Extend zusätzliche Prüfbefehle hinzufügen, um andere Anwendungen zu überwachen. oder du kannst andere Methoden zur Überwachung von Systemen und Anwendungen mit dem LibreNMS-Agenten erkunden.