Zum Inhalt

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_type passend zur MIB (snmp, snmp_string, snmp_table)
  • config_overrides mit 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