SNMP-Sensor-Picker¶
Seit v0.18.0
Walk-Engine im Collector, Picker-UI, vier universelle MIBs (IF, HOST-RESOURCES, ENTITY-SENSOR, UPS), Apply-Endpoint.
Warum ein Picker¶
Vorher haben statisch im Profil hinterlegte Profile-Checks geraten, was auf einem Gerät vorhanden ist. Das geht für homogene Flotten gut, scheitert aber an der Realität:
- Switches haben 16, 24, 28, 48 oder 96 Ports
- Server haben 1, 2, 4, 8 PSUs
- USVs haben 1 oder 3 Battery-Banks
- Storages haben 4–60 Disks
- Custom-Sensoren (Tür, Wasser, Rauch) sind nie im Standard-Profil
Der Picker macht einen Walk auf das Zielgerät, listet alles was tatsächlich vorhanden ist, und du wählst per Häkchen, was als Profile-Check übernommen werden soll.
Workflow¶
sequenceDiagram
participant U as User
participant API
participant C as Collector
participant T as Zielgerät
U->>API: Walk auf Host X starten
API->>C: Walk-Auftrag
C->>T: SNMP-Walk (IF-MIB, HOST-RESOURCES, ENTITY-SENSOR, UPS-MIB)
T-->>C: alle vorhandenen OID-Indizes + Werte
C->>API: Discovery-Resultat
API-->>U: Häkchen-Liste pro MIB
U->>API: Apply (gewählte Sensoren als Profile-Checks anlegen)
Picker öffnen¶
Auf der Host-Detail-Seite eines SNMP-fähigen Hosts:
Aktionen → SNMP-Sensoren auswählen
Der Walk dauert je nach Gerät 5–60 Sekunden. Während des Laufs siehst du einen Spinner mit aktueller MIB.
Walk-Engine¶
Der Collector walkt vier universelle MIBs:
IF-MIB (RFC 2863)¶
Interface-Tabelle: ifTable + ifXTable. Ergebnis: alle Ports mit Index, Name, Speed, Operational/Admin-Status.
Vorgeschlagene Checks: Interface Status pro Port (oder pro Up-Port wenn Häkchen „nur aktive").
HOST-RESOURCES-MIB (RFC 2790)¶
Server-Ressourcen: hrStorageTable (Disks/Filesystems), hrProcessorTable (CPU-Cores), hrSystemUptime.
Vorgeschlagene Checks: pro Filesystem ein snmp_string-Disk-Check, CPU-Pro-Core, Uptime.
ENTITY-SENSOR-MIB (RFC 3433)¶
Hardware-Sensoren: entPhySensorTable mit Sensor-Type (temperature, fan, voltage), Wert, Skala, Unit.
Vorgeschlagene Checks: pro Sensor ein eigener snmp Check mit der OID entPhySensorValue.<index>.
UPS-MIB (RFC 1628)¶
USV-Spezifika: Battery-Voltage, Output-Load, Input-Voltage, Status.
Vorgeschlagene Checks: pro Battery-Bank, pro Output-Phase.
Picker-UI¶
┌── SNMP-Sensoren von 'sw-core' ─────────────────────────────────┐
│ │
│ Walk-Status: ✓ Fertig (12 s, 184 OIDs) │
│ │
│ Interfaces (24) [Alle wählen] │
│ [✓] Gi1/0/1 1Gbit up auto-add: Status │
│ [✓] Gi1/0/2 1Gbit up auto-add: Status │
│ [_] Gi1/0/3 1Gbit down │
│ [✓] Gi1/0/4 1Gbit up auto-add: Status, Traffic │
│ ... │
│ │
│ Sensoren (4) │
│ [✓] Temperatur Slot 1 45 °C Threshold: W>60 C>75 │
│ [✓] Temperatur Slot 2 42 °C Threshold: W>60 C>75 │
│ [✓] Lüfter Slot 1 3200rpm │
│ [✓] PSU Slot 1 OK │
│ │
│ Disks/Filesystems (—) │
│ nicht unterstützt auf diesem Gerät │
│ │
│ UPS-Sensoren (—) │
│ nicht unterstützt auf diesem Gerät │
│ │
│ [Apply (12 Sensoren)] [Abbrechen] │
└────────────────────────────────────────────────────────────────┘
Per Sensor:
- Häkchen
- Aktueller Wert (Live-Snapshot)
- Vorschlag für Threshold-Warn / -Crit (typ-abhängig)
- Optional: Display-Name editieren
Apply¶
Klick auf Apply erzeugt für jeden gewählten Sensor einen host_service mit:
check_typepassend zur MIB (snmp,snmp_string,snmp_table)config_overridesmit der konkreten OID + Index- Threshold-Werte aus den Vorschlägen
- Default-Intervall 60 s
Optional: „auch ins Profil als auto_add übernehmen" — dann erscheinen die gewählten Checks künftig auch bei anderen Hosts mit dem gleichen Profil. Sinnvoll wenn du gerade ein neues Custom-Profil baust.
Re-Walk¶
Nach Hardware-Änderungen (neuer Disk-Bay, getauschte PSU) den Picker erneut öffnen — der Walk läuft frisch, neue Sensoren erscheinen mit dem Hinweis „neu seit letztem Walk", verschwundene mit „nicht mehr vorhanden".
API¶
| Endpoint | Zweck |
|---|---|
POST /api/v1/snmp-discovery/walks |
Neuer Walk-Auftrag |
GET /api/v1/snmp-discovery/walks/{id} |
Status + Resultate |
POST /api/v1/snmp-discovery/walks/{id}/apply |
Häkchen-Auswahl als host_services anlegen |
Limitierungen¶
- Walk braucht funktionierendes SNMPv2c oder v3 — bei reinem SNMPv1 fehlen Bulk-OPs, der Walk ist langsam
- Vendor-spezifische OIDs (Cisco-private MIBs, APC-Pelican) sind in V1 nicht abgedeckt — siehe MIB-Snippets für Vendor-Wissen
- Sehr große Geräte (96-Port-Switch) brauchen länger; Default-Timeout des Picker-Modals ist 90 s
Anschluss¶
- MIB-Snippets — wenn der Picker bei deinem Vendor zu wenig findet
- Profile bearbeiten — Sensoren ins Profil zurück