Zum Hauptinhalt springen

SNMP

Monitoring enthält einen eingebetteten, ausschließlich lesenden SNMPv1/v2c-Agenten ohne Drittabhängigkeiten. Er beantwortet GET-, GETNEXT- und GETBULK-Anfragen aus einem eigenen Enterprise-MIB-Baum sowie aus Teilmengen der Standard-MIBs (SNMPv2-MIB, HOST-RESOURCES-MIB, IF-MIB) und kann SNMPv2c-Traps an konfigurierte Empfänger senden. Die mitgelieferte MIB-Datei FP-STARFACE-MIB.txt beschreibt alle Objekte.

Grundlagen

  • Typ: SNMPv1 und SNMPv2c, nur lesend — SetRequest wird mit noAccess abgelehnt
  • Endpunkt: UDP 161 (Standard, im Modul konfigurierbar)
  • Authentifizierung/Absicherung: Community-String (Standard public — bitte ändern) und IP-Filter über die Monitoring-Hosts-Liste; die STARFACE-Firewall wird automatisch nur für die eingetragenen Hosts geöffnet
  • Format: BER-kodierte SNMP-PDUs; Fließkommawerte (RTP-Qualität, Load) als DisplayString mit zwei Dezimalstellen
  • Lizenz: Edition Monitoring Pro; die Kachel SNMP in den Moduleinstellungen muss eingeschaltet sein (Standard: aus)
  • Datenquelle: gemeinsamer Anlagen-Snapshot aller Monitoring-Schnittstellen (Cache-Lebensdauer standardmäßig 30 Sekunden)
Interner Port und NAT-Weiterleitung

Ports unterhalb 1024 kann der Moduldienst nicht direkt binden. Bei konfiguriertem Standardport 161 bindet der Agent intern auf Port 1161 (konfigurierter Port + 1000); das Modul richtet automatisch eine NAT-Weiterleitung UDP 161 → 1161 für die eingetragenen Monitoring-Hosts ein. Für Clients bleibt der konfigurierte Port maßgeblich. Kann die Weiterleitung nicht gesetzt werden, zeigt das Modul eine Warnung an — sprechen Sie den Agenten dann direkt auf dem internen Port an.

Kein SNMPv3

SNMPv1/v2c überträgt Community-String und Nutzdaten unverschlüsselt. Verwenden Sie einen individuellen Community-String und beschränken Sie den Zugriff konsequent über die Monitoring-Hosts-Liste. Ein leerer Community-String blockiert sämtliche Anfragen.

Objekte & MIB

MIB-Datei

Die Datei FP-STARFACE-MIB.txt (Modul FP-STARFACE-MIB) laden Sie direkt aus der SNMP-Kachel der Moduleinstellungen herunter — oder per HTTP von der Anlage:

https://pbx.example.de/downloads/moduledata/<Modul-ID>/FP-STARFACE-MIB.txt

Die vollständige URL mit der Modul-ID Ihrer Installation zeigt das Modul im Tab Anleitungen an. Importieren Sie die MIB in Ihren SNMP-Manager (LibreNMS, Zabbix, PRTG, CheckMk, …), bevor Sie Sensoren konfigurieren.

OID-Wurzel

Der modulspezifische Teilbaum liegt unter:

1.3.6.1.4.1.99999.1 (fpStarface)
Vorläufige Enterprise-Nummer

Die Enterprise-Nummer 99999 ist ein Platzhalter — der IANA-PEN-Antrag von Fluxpunkt ist offen. Mit Vergabe der endgültigen Private Enterprise Number ändert sich die OID-Wurzel; die MIB-Datei wird parallel angepasst. Hinterlegen Sie OIDs in Ihrem Monitoring daher möglichst über die importierte MIB (Objektnamen) statt als fest verdrahtete Zahlenpfade.

Gruppen des Enterprise-Teilbaums

Alle Skalare sind mit der Instanz-OID <Objekt>.0 erreichbar. OID-Angaben in den folgenden Tabellen sind relativ zur Wurzel fpStarface = 1.3.6.1.4.1.99999.1.

GruppeOIDInhalt
fpStarfaceSystem.1Appliance, STARFACE-Version, Seriennummer, Uptime
fpStarfaceAccounts.2Benutzerkonten und App-/Web-Verbindungen
fpStarfaceSip.3SIP-Health, Telefone, Peers, Provider-Tabelle
fpStarfaceChannels.4Gesprächskanäle und aktuelle Telefonie-Last
fpStarfaceModules.5Installierte Module und Instanzen
fpStarfaceBackup.6Backup-Ziele und jüngster Lauf
fpStarfaceOs.7Load, RAM, Festplatte, Datenbankgrößen
fpStarfaceJava.8JVM-Kennwerte
fpStarfaceLicense.9STARFACE-Lizenz
fpStarfaceSecurity.10Sicherheitseinstellungen der Anlage
fpStarfaceRtp.11RTP-Qualität aktiver Gespräche (Jitter, Paketverlust, RTT, MOS)
fpStarfaceDb.12PostgreSQL-Client-Verbindungen
fpStarfaceTraps.100Trap-Definitionen (Notifications)

System (.1)

ObjektOIDTypBedeutung
fpsSysApplianceType.1.1.0DisplayStringAppliance-Typ (z. B. „STARFACE Pro", „STARFACE VM")
fpsSysStarfaceVersion.1.2.0DisplayStringAktive STARFACE-Version
fpsSysStarfaceBuildDate.1.3.0DisplayStringBuild-Datum der STARFACE-Version
fpsSysSerialNumber.1.4.0DisplayStringHardware-Seriennummer
fpsSysManufacturer.1.5.0DisplayStringHardware-Hersteller
fpsSysProductName.1.6.0DisplayStringHardware-Produktname
fpsSysLicenseOwner.1.7.0DisplayStringInhaber der STARFACE-Lizenz
fpsSysMaxUsers.1.8.0Gauge32Maximale Benutzer der Appliance
fpsSysMaxConnections.1.9.0Gauge32Maximale gleichzeitige Anrufe
fpsSysAsteriskUptime.1.10.0DisplayStringUptime des Telefonie-Dienstes
fpsSysDebugMode.1.11.0INTEGERDebug-Modus (0 = aus, 1 = aktiv)

Accounts (.2)

ObjektOIDTypBedeutung
fpsAccLicenseMaxUsers.2.1.0Gauge32Lizenz-Maximum Benutzer
fpsAccTotal.2.2.0Gauge32Angelegte Benutzer gesamt
fpsAccAdmin.2.3.0Gauge32Admin-Benutzer
fpsAccActive.2.4.0Gauge32Benutzer im Status ACTIVE
fpsAccAvailable.2.5.0Gauge32Benutzer im Status AVAILABLE
fpsAccRinging.2.6.0Gauge32Benutzer im Status RINGING
fpsAccUnavailable.2.7.0Gauge32Benutzer im Status UNAVAILABLE
fpsAccWebSessions.2.8.0Gauge32Aktive Web-/Admin-Anmeldungen
fpsAccConnectedAccounts.2.9.0Gauge32Accounts mit aktiver App-Verbindung
fpsAccConnectedClients.2.10.0Gauge32Aktive App-Client-Sessions

SIP (.3)

ObjektOIDTypBedeutung
fpsSipLocalhostStatus.3.1.0DisplayStringLokaler SIP-Health-Check (OK/FAILURE)
fpsSipKnownPhones.3.2.0Gauge32Konfigurierte Telefone
fpsSipOnlinePhones.3.3.0Gauge32Davon online
fpsSipIpChangedPhones.3.4.0Gauge32Telefone mit abweichender IP
fpsSipPeerCount.3.5.0Gauge32Aktive SIP-Peers
fpsSipProviderCount.3.6.0Gauge32SIP-Provider-Registrierungen

SIP-Provider-Tabelle fpsSipProviderTable (.3.7, Index fpsSipProviderIndex):

SpalteOIDTypBedeutung
fpsSipProviderIndex.3.7.1.1.<n>Integer321-basierter Zeilenindex
fpsSipProviderUri.3.7.1.2.<n>DisplayStringSIP-URI bzw. Host der Registrierung
fpsSipProviderRegistered.3.7.1.3.<n>INTEGERregistered(1) / notRegistered(2)

Channels (.4)

ObjektOIDTypBedeutung
fpsChMax.4.1.0Gauge32Maximale gleichzeitige Channels
fpsChActive.4.2.0Gauge32Aktive Channels
fpsChCallsLast5Min.4.3.0Counter32Anrufe der letzten 5 Minuten
fpsChCurrentLinkedCalls.4.4.0Gauge32Aktuell verbundene Anrufe
fpsChCurrentParkedCalls.4.5.0Gauge32Aktuell geparkte Anrufe
fpsChCurrentConferenceCalls.4.6.0Gauge32Aktuelle Konferenz-Anrufe

Modules (.5)

ObjektOIDTypBedeutung
fpsModInstalled.5.1.0Gauge32Installierte Module
fpsModInstances.5.2.0Gauge32Summe aller Modul-Instanzen

Backup (.6)

ObjektOIDTypBedeutung
fpsBkpCount.6.1.0Gauge32Konfigurierte Backup-Ziele
fpsBkpLastLocation.6.2.0DisplayStringOrt des jüngsten Backups
fpsBkpLastTime.6.3.0DisplayStringZeitstempel des jüngsten Backups
fpsBkpLastMessage.6.4.0DisplayStringStatusmeldung des jüngsten Backups

OS (.7)

ObjektOIDTypBedeutung
fpsOsLoad1 / fpsOsLoad5 / fpsOsLoad15.7.1.0.7.3.0DisplayStringLoad-Average 1/5/15 Minuten
fpsOsMemTotalBytes.7.4.0Counter64Hauptspeicher gesamt (Bytes)
fpsOsMemFreeBytes.7.5.0Counter64Hauptspeicher frei (Bytes)
fpsOsMemAvailableBytes.7.6.0Counter64Hauptspeicher verfügbar (Bytes)
fpsOsDiskRootTotalBytes.7.7.0Counter64Root-Partition gesamt (Bytes)
fpsOsDiskRootFreeBytes.7.8.0Counter64Root-Partition frei (Bytes)
fpsOsDbSize.7.9.0Counter64Größe der STARFACE-Datenbank (Bytes)
fpsOsCdrSize.7.10.0Counter64Größe der Ruflisten-Daten (Bytes)

Java (.8)

ObjektOIDTypBedeutung
fpsJavaVmName / fpsJavaVmVendor / fpsJavaVmVersion / fpsJavaVersion.8.1.0.8.4.0DisplayStringJVM- und Java-Kennung
fpsJavaHeapUsed / fpsJavaHeapMax.8.5.0 / .8.6.0Counter64Heap belegt/maximal (Bytes)
fpsJavaNonHeapUsed / fpsJavaNonHeapMax.8.7.0 / .8.8.0Counter64Non-Heap belegt/maximal (Bytes)
fpsJavaMaxMemory.8.9.0Counter64Maximal nutzbarer JVM-Speicher (Bytes)

License (.9) und Security (.10)

ObjektOIDTypBedeutung
fpsLicOwner.9.1.0DisplayStringLizenzinhaber
fpsLicMaxUsers.9.2.0Gauge32Maximale Benutzer laut Lizenz
fpsSecPasswordCheck.10.1.0Integer321 = Passwortprüfung aktiv
fpsSecAttackDetection.10.2.0Integer321 = Angriffserkennung aktiv
fpsSecBlacklistedHosts.10.3.0Gauge32Einträge auf der Blacklist
fpsSecWhitelistedHosts.10.4.0Gauge32Einträge auf der Whitelist
fpsSecAutoprov.10.5.0Integer321 = Auto-Provisionierung aktiv
fpsSecAcceptAllMacs.10.6.0Integer321 = „alle MAC-Adressen akzeptieren"
fpsSecAutoFwUpdate.10.7.0Integer321 = automatische Firmware-Updates aktiv

RTP-Qualität (.11)

Live-Aggregate über alle aktiven Audio-Channels. Der MOS-Wert ist eine Näherung nach ITU-T G.107 (E-Modell) — als Indikator zu lesen, nicht als absolute Messung. Ohne aktive Channels liefern die Objekte noSuchInstance.

ObjektOIDTypBedeutung
fpsRtpActiveChannels.11.1.0Gauge32Audio-Channels mit gültigen RTP-QoS-Daten
fpsRtpAvgJitterMs / fpsRtpMaxJitterMs.11.2.0 / .11.3.0DisplayStringJitter Mittelwert/Maximum (ms)
fpsRtpAvgPacketLossPercent / fpsRtpMaxPacketLossPercent.11.4.0 / .11.5.0DisplayStringPaketverlust Mittelwert/Maximum (%)
fpsRtpAvgRttMs.11.6.0DisplayStringMittlere Round-Trip-Time (ms)
fpsRtpEstimatedMos.11.7.0DisplayStringGeschätzter MOS (1.0–4.5)
fpsRtpMedianJitterMs.11.8.0DisplayStringMedian des Jitters (ms)
fpsRtpMedianPacketLossPercent.11.9.0DisplayStringMedian des Paketverlusts (%)
fpsRtpMedianRttMs.11.10.0DisplayStringMedian der Round-Trip-Time (ms)
fpsRtpMedianMos.11.11.0DisplayStringMedian der MOS-Schätzungen

Datenbank-Verbindungen (.12)

PostgreSQL-Client-Verbindungen aus pg_stat_activity — zur Früherkennung geleakter Connection-Pools. Bei nicht verfügbarer Abfrage liefern die Objekte noSuchInstance.

ObjektOIDTypBedeutung
fpsDbConnTotal.12.1.0Gauge32Client-Verbindungen gesamt
fpsDbConnActive.12.2.0Gauge32Status active
fpsDbConnIdle.12.3.0Gauge32Status idle
fpsDbConnIdleInTransaction.12.4.0Gauge32Status idle in transaction (Leak-Signal)
fpsDbConnMax.12.5.0Gauge32PostgreSQL max_connections
fpsDbConnUtilizationPercent.12.6.0Gauge32Auslastung gegen max_connections (%)

Standard-MIBs

Zusätzlich zum Enterprise-Teilbaum bedient der Agent die Standard-Erkennungspfade gängiger Manager:

MIBWurzelBediente Objekte
SNMPv2-MIB system1.3.6.1.2.1.1sysDescr („Fluxpunkt Monitoring for STARFACE - STARFACE <Version>"), sysObjectID (zeigt auf fpStarface), sysUpTime, sysContact, sysName, sysLocation, sysServices (76)
HOST-RESOURCES-MIB1.3.6.1.2.1.25hrSystemUptime, hrSystemDate, hrSystemNumUsers, hrSystemProcesses, hrSystemMaxProcesses, hrMemorySize, hrStorageTable, hrProcessorTable
IF-MIB1.3.6.1.2.1.2ifNumber sowie je Interface eine ifTable-Zeile (Beschreibung, Typ, MTU, Geschwindigkeit, MAC, Status, Oktett-/Paket-/Fehlerzähler)

Traps

Für kritische Ereignisse definiert die MIB unter fpStarfaceTraps (1.3.6.1.4.1.99999.1.100) folgende SNMPv2c-Notifications. Trap-Empfänger (Host + UDP-Port, Standard 162) konfigurieren Sie in den Moduleinstellungen; als Community wird der konfigurierte Community-String verwendet.

NotificationOIDEreignis
fpsTrapSipProviderDown.100.1Ein SIP-Provider ist nicht mehr registriert
fpsTrapAllPhonesOffline.100.2Alle bekannten SIP-Telefone sind offline
fpsTrapRaidDegraded.100.3RAID-Verbund läuft im DEGRADED-Modus
fpsTrapDiskAlmostFull.100.4Root-Partition über kritischer Grenze (Standard 90 %)
fpsTrapBackupStale.100.5Jüngstes Backup älter als 24 Stunden
fpsTrapLicenseExpiring.100.6STARFACE-Lizenz läuft in weniger als 30 Tagen ab

Jeder Trap folgt der SNMPv2c-Konvention: erste Variable sysUpTime.0 (TimeTicks), zweite snmpTrapOID.0 (OID des Trap-Typs), danach ereignisspezifische Variablen.

Abfragen

Beispiele mit Net-SNMP-Werkzeugen (pbx.example.de = STARFACE, Community public):

# Walk über den gesamten Modul-Teilbaum
snmpwalk -v2c -c public pbx.example.de 1.3.6.1.4.1.99999.1

# Einzelne Skalare
snmpget -v2c -c public pbx.example.de 1.3.6.1.4.1.99999.1.1.2.0 # STARFACE-Version
snmpget -v2c -c public pbx.example.de 1.3.6.1.4.1.99999.1.7.4.0 # RAM gesamt (Bytes)
snmpget -v2c -c public pbx.example.de 1.3.6.1.4.1.99999.1.2.2.0 # Benutzer gesamt

# GetBulk (nur v2c)
snmpbulkget -v2c -c public -Cn0 -Cr10 pbx.example.de 1.3.6.1.4.1.99999.1.2

# Mit importierter MIB (Objektnamen statt Zahlen-OIDs)
snmpwalk -v2c -c public -m +FP-STARFACE-MIB pbx.example.de fpStarface

Antwort (gekürzt):

FP-STARFACE-MIB::fpsSysApplianceType.0 = STRING: STARFACE Pro
FP-STARFACE-MIB::fpsSysStarfaceVersion.0 = STRING: 10.0.1.2
FP-STARFACE-MIB::fpsSysLicenseOwner.0 = STRING: Beispiel GmbH
FP-STARFACE-MIB::fpsAccTotal.0 = Gauge32: 35
FP-STARFACE-MIB::fpsSipLocalhostStatus.0 = STRING: OK
FP-STARFACE-MIB::fpsSipOnlinePhones.0 = Gauge32: 41
FP-STARFACE-MIB::fpsSipProviderRegistered.1 = INTEGER: registered(1)
FP-STARFACE-MIB::fpsChActive.0 = Gauge32: 3
FP-STARFACE-MIB::fpsRtpEstimatedMos.0 = STRING: 4.38

Anwendungsbeispiel

Ihr Rechenzentrum überwacht alle Systeme per SNMP mit LibreNMS. Sie tragen die IP des LibreNMS-Servers als Monitoring-Host ein, importieren FP-STARFACE-MIB.txt und legen die Anlage als SNMP-Device an. Leitungsregistrierung, Kanalauslastung und Sprachqualität erscheinen im selben Baum wie Switches und Server — inklusive der Standard-Graphen aus HOST-RESOURCES- und IF-MIB.

Fehlerbehandlung

SituationVerhalten
Absender-IP nicht in der Monitoring-Hosts-ListePaket wird verworfen — keine Antwort (zusätzlich blockt die Firewall).
Community-String falsch oder im Modul leerPaket wird kommentarlos verworfen (SNMP-Standardverhalten) — der Client läuft in einen Timeout.
IPv6-AbsenderWird abgelehnt; der Agent bedient ausschließlich IPv4.
Unbekannte OIDSNMPv1: Fehlerstatus noSuchName; SNMPv2c: noSuchObject/noSuchInstance als Varbind-Wert.
Walk über das Baumende hinausSNMPv2c: endOfMibView; SNMPv1: noSuchName.
Wert aktuell nicht verfügbar (z. B. RTP ohne aktive Gespräche, DB-Abfrage fehlgeschlagen)noSuchInstance — von Managern als „n/a" zu interpretieren, nicht als 0.
SetRequestAblehnung mit Fehlerstatus noAccess — der Agent ist strikt lesend.
GETBULK mit überhöhtem max-repetitionsBegrenzung auf 100 Wiederholungen je Anfrage.
Konfigurierter Port beim Start belegtAutomatischer Ausweichversuch auf den Folge-Port mit Warnung in der Moduloberfläche.
SNMP-Kachel aus, keine Monitoring Pro-Lizenz oder Modul unlizenziertAgent läuft nicht — der Port ist geschlossen, Anfragen laufen in einen Timeout.

Versionierung & Kompatibilität

Bestehende Objekte behalten OID, Syntax und Semantik; Erweiterungen erfolgen additiv als neue Objekte bzw. Gruppen. Vorbehalt: der Wechsel der Platzhalter-Enterprise-Nummer 99999 auf die endgültige IANA-PEN (siehe Warnung oben) ändert alle Enterprise-OIDs und wird in den Release Notes angekündigt. Die Zeilenanzahl der Tabellen (fpsSipProviderTable, hrStorageTable, ifTable) wird beim Start des Agenten festgelegt — neue SIP-Provider, Laufwerke oder Netzwerk-Interfaces erscheinen nach einem Neustart des Agenten (Kachel aus/ein oder Übernehmen der Einstellungen).