Zum Inhalt springen

SNMP Monitoring

ReadyStackGo bringt einen eingebauten SNMP-Agenten mit. Damit kannst du den Zustand all deiner Deployments mit denselben Monitoring-Werkzeugen abfragen, die du wahrscheinlich schon für Switches, Server und USVs nutzt — z. B. PRTG, Zabbix, LibreNMS, Nagios, Checkmk oder ein klassisches snmpwalk an der Kommandozeile.

FunktionBeschreibung
Polling per SNMPv2c und SNMPv3Liest System-, Environment-, Product-, Stack- und Service-Werte über klassische SNMP GET/WALK-Operationen aus
MIB-DateiHand-gepflegte READYSTACKGO-MIB.txt — direkt auf der Settings-Seite herunterladbar
OID-Reference-BrowserInteraktiver Baum in der UI zeigt für die aktuelle Umgebung alle konkreten OIDs (mit Kopier-Button)
SNMPv3 mit USMNutzer-basierte Authentifizierung und Verschlüsselung — MD5/SHA1/SHA-2 plus DES/AES-128/192/256
TrapsDrei Notification-Typen werden an konfigurierte Trap-Empfänger geschickt: fehlgeschlagene Deployments, Auto-Finalize, Maintenance-Mode-Wechsel
Hot-ReloadKonfigurationsänderungen werden ohne Container-Restart wirksam

  1. SNMP-Agent ist aktiviert und lauscht auf einem UDP-Port deiner Wahl.
  2. Du hast einen SNMPv2c-Community-String oder einen SNMPv3-Benutzer (oder beides).
  3. Du kannst per snmpwalk einen Wert aus ReadyStackGo abfragen.
  4. Du weißt, wie du die MIB in PRTG (oder ein anderes Tool) einbindest.
  5. Du verstehst, was die drei Trap-Typen bedeuten und wie sie aussehen.

Logge dich als Admin ein und öffne Settings in der Sidebar. Auf der Settings-Übersicht findest du die Kachel SNMP Monitoring.

Settings-Übersicht mit SNMP-Kachel

Klick darauf — du landest auf /settings/snmp.


Direkt am Anfang der Seite siehst du den Konfigurations-Block. Das sind die wichtigsten Felder:

Agent-Konfiguration: Toggle, Adresse, Port, OID, Community, Trap-Empfänger

FeldBedeutungStandard
EnabledAn/Aus-Schalter für den Agenten. Ohne Häkchen läuft kein UDP-Listener.aus
Listen addressAuf welcher IP der Agent lauscht. 0.0.0.0 heißt: alle Netzwerk-Interfaces im Container.0.0.0.0
PortUDP-Port. Der Agent läuft container-intern auf 1161 (non-privileged). Wer von außen den Standard-Port 161 möchte, mappt im docker-compose.override.yml 161:1161.1161
Root OIDDer Präfix unter dem alle ReadyStackGo-Werte hängen. Aktuell mit Platzhalter-PEN 65846 — wird auf die echte IANA-Nummer migriert, sobald sie zugewiesen ist.1.3.6.1.4.1.65846.1
SNMPv2c communityPasswort-ähnlicher String für v2c-Zugriff. Leer lassen, um v2c komplett zu deaktivieren und nur v3 zuzulassen.leer
Trap receiversKomma-, Semikolon- oder Zeilenumbruch-getrennte Liste von Empfängern im Format host oder host:port. Default-Port ist 162.leer

Für den ersten Test reicht SNMPv2c. Das ist nur lesend, nicht verschlüsselt — also gut für ein internes Management-Netz, aber nicht für den freien Internet-Zugriff geeignet.

  1. Enabled-Toggle anklicken (wird brand-farbig).
  2. SNMPv2c community ausfüllen — wähle einen langen, zufälligen String. Beispiel: readonly-demo (für die Anleitung, in Produktion bitte etwas Generiertes).
  3. Auf Save klicken.

Agent aktiviert, Community-String gesetzt

Du bekommst eine grüne Erfolgsmeldung. Der Agent lädt seine Konfiguration automatisch neu — kein Container-Restart nötig.

Bestätigung "Saved. Agent reloads automatically."


Auf einem Linux/Mac-Host mit installiertem net-snmp (Paket snmp unter Debian/Ubuntu):

Terminal-Fenster
# Annahme: ReadyStackGo läuft auf rsgo.local und du hast 161:1161 gemappt.
snmpwalk -v 2c -c readonly-demo rsgo.local 1.3.6.1.4.1.65846.1.1

Du solltest eine Antwort sehen, die ungefähr so aussieht:

SNMPv2-SMI::enterprises.65846.1.1.1.0 = STRING: "0.65.3"
SNMPv2-SMI::enterprises.65846.1.1.2.0 = Counter32: 3214
SNMPv2-SMI::enterprises.65846.1.1.3.0 = INTEGER: 2
SNMPv2-SMI::enterprises.65846.1.1.4.0 = INTEGER: 5
SNMPv2-SMI::enterprises.65846.1.1.5.0 = INTEGER: 1
SNMPv2-SMI::enterprises.65846.1.1.6.0 = STRING: "2026-05-20T15:42:51Z"

Das sind die System-Scalars — Version, Uptime in Sekunden, Anzahl Environments, Anzahl Sources, DB-Health (1 = ok), Build-Timestamp.


Damit dein Monitoring-Tool nicht nur Zahlen-OIDs anzeigt, sondern sprechende Namen wie rsgoProductStatusText, brauchst du die MIB (Management Information Base).

Auf der SNMP-Settings-Seite findest du den Block MIB file mit einem Download MIB-Button.

MIB-Download-Block mit Erklärung

Lade READYSTACKGO-MIB.txt herunter und importiere sie in dein Tool. Die genaue Anleitung dafür hängt vom Tool ab — siehe weiter unten den PRTG-Abschnitt.


Direkt unter dem MIB-Download zeigt die UI einen OID-Reference-Baum — pro Environment, Product, Stack und Service.

OID-Reference-Baum mit Environment, Product und Stack

Was du dort tun kannst:

  • Auf den Pfeil klicken, um den Baum auf-/zuzuklappen.
  • Auf eine OID klicken, um sie in die Zwischenablage zu kopieren.
  • Status-Badge prüfen — du siehst direkt, ob der Stack Running, Failed oder PartiallyRunning ist.

So findest du die konkrete OID, mit der du z. B. den Status eines bestimmten Stacks in PRTG abfragen kannst.


SNMPv2c hat keine Verschlüsselung. Sobald dein Monitoring-Verkehr durch unsichere Netze läuft (oder du in der EU/USA mit Compliance-Anforderungen unterwegs bist), nimm SNMPv3 mit USM.

Auf der Seite gibt es den Block SNMPv3 users. Klick auf Add user:

Leeres SNMPv3-User-Formular

FeldWas eintragen
NameDer USM-Benutzername (kein OS-User). Beispiel: docs-monitor
Auth protocolWähle SHA-256 (Default). MD5 und SHA-1 sind deprecated — siehe Auth- und Priv-Algorithmen.
Auth passphraseMindestens 8 Zeichen. Je länger und zufälliger, desto besser.
Priv protocolWähle AES-128 oder höher. DES vermeiden.
Priv passphraseWieder mindestens 8 Zeichen, anderer Wert als die Auth-Passphrase.

SNMPv3-User-Formular mit allen Feldern ausgefüllt

Auf Add user klicken — der User erscheint in der Liste:

SNMPv3-User in der Liste

Terminal-Fenster
snmpwalk -v 3 -u docs-monitor -l authPriv \
-a SHA-256 -A 'AuthPass12345' \
-x AES -X 'PrivPass12345' \
rsgo.local 1.3.6.1.4.1.65846.1.1

Erklärung der Flags:

  • -v 3 — Protokollversion 3
  • -u docs-monitor — der USM-Name aus der UI
  • -l authPriv — Security-Level (= Auth und Priv). Andere Werte: noAuthNoPriv, authNoPriv.
  • -a SHA-256 -A '…' — Auth-Algorithmus + Passphrase
  • -x AES -X '…' — Priv-Algorithmus + Passphrase

Polling ist gut für regelmäßige Abfragen — aber wenn ein Deployment kaputt geht, willst du das sofort wissen, nicht erst beim nächsten Poll. Dafür gibt’s Traps.

Im Konfigurations-Block trägst du unter Trap receivers ein, wohin Traps gehen sollen — z. B. die IP deines PRTG-Servers:

prtg.local
10.0.0.42:162

Eine Adresse pro Zeile (oder kommagetrennt). Default-Port ist 162.

TrapWann wird gesendet?Inhalt
rsgoTrapProductDeploymentFailedEine ProductDeployment.MarkAsFailed-Domain-Event-Notification feuertID, Name, Version, Fehlermeldung
rsgoTrapProductDeploymentAutoFinalizedEin hängengebliebenes Deployment wird vom Watchdog wieder finalisiertID, Name, Version, alter und neuer Status, Anzahl gelungener/fehlgeschlagener Stacks
rsgoTrapProductMaintenanceModeChangedEin Produkt wechselt in oder aus MaintenanceID, Name, neue Operation-Mode

Jede Trap hängt unter 1.3.6.1.4.1.65846.1.6.<N> (1, 2, 3). Die mitgelieferten VarBinds (Felder) hängen unter .7.1 bis .7.7:

VarBindOID-SpalteTypBedeutung
rsgoTrapProductId.7.1OctetStringUUID des Product Deployments
rsgoTrapProductName.7.2OctetStringLesbarer Name
rsgoTrapProductVersion.7.3OctetStringz. B. 4.0.0-ci
rsgoTrapStatus.7.4IntegerStatuscode (siehe MIB Enum)
rsgoTrapStatusText.7.5OctetStringStatustext, z. B. Failed
rsgoTrapMessage.7.6OctetStringFehler- oder Begründungstext
rsgoTrapOperationMode.7.7OctetStringNormal oder Maintenance

So bindest du ReadyStackGo als SNMP-Sensor in PRTG Network Monitor ein.

PRTG nutzt einen separaten MIB-Importer (MIB Importer.exe im PRTG-Programmverzeichnis), der .mib-Dateien in .oidlib-Dateien für PRTG umwandelt.

  1. Lade READYSTACKGO-MIB.txt über den Button Download MIB herunter.
  2. Benenne die Datei in READYSTACKGO-MIB.mib um (PRTG erwartet .mib).
  3. Starte den Paessler MIB Importer.
  4. File → Import MIB File…READYSTACKGO-MIB.mib auswählen.
  5. File → Save for PRTG, Zielordner ist meist C:\Program Files (x86)\PRTG Network Monitor\snmplibs\.
  6. PRTG-Probe neu starten oder warten — die OID-Lib wird automatisch geladen.
  1. Im PRTG-Gerätebaum: rechte Maustaste auf dein RSGO-Gerät → Add Sensor.
  2. Suche nach SNMP Library und wähle den Sensor-Typ.
  3. Wähle die soeben importierte READYSTACKGO-MIB.oidlib aus.
  4. PRTG zeigt dir alle Scalar-OIDs und Tabellen zur Auswahl.

Empfehlungen für die wichtigsten Sensoren:

SensorOID-PfadWas er misst
System-HealthrsgoSystemrsgoDbHealthDB ist 1=ok, alles andere ist ein Problem
UptimersgoSystemrsgoUptimeSecondsSekunden seit dem letzten Container-Restart
Environment-HealthrsgoEnvironmentTableAnzahl gesunde/kranke Stacks pro Environment
Product-StatusrsgoProductTablersgoProductStatusPro Product: Status-Enum (1=Running, 4=Failed, …)
Service runningrsgoServiceTablersgoServiceRunningBoolean (1/0) pro Container
  1. PRTG-Server-IP unter Trap receivers in der ReadyStackGo-UI eintragen.
  2. In PRTG einen SNMP Trap Receiver-Sensor auf der Probe anlegen (Sensor läuft auf Port 162).
  3. Optional: einen Filter für die OID 1.3.6.1.4.1.65846.1.6.* definieren, damit nur ReadyStackGo-Traps zählen.

SymptomUrsacheLösung
snmpwalk läuft in TimeoutPort nicht erreichbar / Firewall blockt UDPPrüfe docker compose ps (Port-Mapping korrekt?), iptables -L, ICMP zum Host
Authentication failure bei v3Passphrase falsch oder Algorithmus falsch eingestelltIm UI: User löschen + neu anlegen. Auf Client-Seite Flags -a und -x mit den UI-Werten abgleichen
noAccess bei v2cFalscher Community-String oder Community-Feld leer gelassen → v2c deaktiviertUI prüfen, Community neu setzen, Save
OIDs zeigen nur Zahlen, keine NamenMIB nicht (oder falsch) importiertMIB neu herunterladen und in das richtige Verzeichnis des Tools legen
Agent is not enabled im Status-BlockEnabled-Toggle steht ausToggle anschalten, Save
Trap kommt nicht anTrap-Receiver-Adresse falsch, Port-Block oder Empfänger-Daemon hört nichtUDP/162 am Empfänger prüfen (`ss -ulpn

BegriffErklärung
SNMPSimple Network Management Protocol. UDP-basiertes Standard-Protokoll zum Auslesen und Empfangen von Status-Werten aus Netzwerk- und Server-Geräten.
OIDObject Identifier. Eindeutiger Punkt-getrennter Zahlenpfad wie 1.3.6.1.4.1.65846.1.1.1.0. Jeder messbare Wert hat seine eigene OID.
MIBManagement Information Base. Text-Datei, die OIDs auf sprechende Namen, Datentypen und Beschreibungen abbildet.
TrapEin vom Agent ausgehender “Push” — der Agent meldet sich von selbst, sobald etwas passiert (kein Polling nötig).
Community Stringv1/v2c-Passwort. Klartext über das Netz — nur in vertrauten Netzen einsetzen.
USMUser-based Security Model. SNMPv3-Sicherheitsmodell mit benannten Usern, Auth- und Priv-Algorithmen.
Auth / PrivAuth = Echtheits-Prüfung des Pakets (HMAC). Priv = Verschlüsselung des Inhalts.
PENPrivate Enterprise Number — die OID-Wurzel 1.3.6.1.4.1.<X>, die jede Firma bei der IANA beantragen kann. ReadyStackGo nutzt aktuell 65846 (IANA-assigned 2026-05-21).