Didactum Monitoring & IBM Tivoli Network Manager (ITNM) Integration
Vollständige Schritt-für-Schritt-Anleitung zur Einbindung von Didactum Monitoring-Geräten und Sensoren in IBM Tivoli Network Manager IP Edition (ITNM) via SNMP – inklusive Discovery-Konfiguration, MIB-Import, AOC-Definition, Poll Policies, Poll Definitions, SNMP Trap-Integration über Netcool/OMNIbus und Alarmierung.
Produkthinweis: IBM Tivoli Network Manager (ITNM) IP Edition wurde von IBM in IBM Netcool Network Management bzw. IBM Tivoli Netcool/OMNIbus mit ITNM-Erweiterung umbenannt. Aktuelle Versionen laufen unter dem Dach von IBM Netcool Operations Insight (NOI). Alle hier beschriebenen Konfigurationsschritte gelten für ITNM 3.9.x und 4.x sowie die aktuellen NOI-Versionen, da die Kernkomponenten (ncp_disco, ncp_poller, Tivoli Integrated Portal) unverändert geblieben sind.
- Software: IBM Tivoli Network Manager IP Edition 3.9 / 4.x (Netcool Network Management)
- Komponenten: ncp_disco (Discovery), ncp_poller (Polling), TIP (Tivoli Integrated Portal), Netcool/OMNIbus (Event Management)
- Protokoll: SNMP v1 / v2c / v3
- Geräte: Didactum Monitoring System 100T / 300T / 500T / 550T
- Sensoren: Temperatur, Leckage, Luftfeuchtigkeit, Türkontakt, Rauch
1. Voraussetzungen & Systemüberblick
ITNM-Server
- IBM Tivoli Network Manager IP Edition installiert und lizenziert
- Tivoli Integrated Portal (TIP) erreichbar: <Server>/ibm/console
- Netcool/OMNIbus ObjectServer gestartet
- ITNM Domain konfiguriert (Standard: NCOMS)
- UDP-Port 161 ausgehend für SNMP Polling
- UDP-Port 162 eingehend für SNMP Traps
- Netzwerkzugang zum Didactum-Gerät
Didactum-Gerät
- Monitoring System 100T, 300T, 500T oder 550T
- SNMP aktiviert (v2c empfohlen)
- Gerät per ICMP vom ITNM-Server erreichbar
- MIB-Datei im Web-Interface verfügbar
Wichtige ITNM-Verzeichnisse und Variablen
$NCHOME = /opt/IBM/tivoli/netcool (Linux-Standard) $ITNMHOME = $NCHOME/precision $ITNMHOME/etc/precision/ <-- Konfigurationsdateien $ITNMHOME/etc/precision/mibs/ <-- MIB-Datenbank $ITNMHOME/etc/precision/CommunityMap/ <-- SNMP Community-Konfiguration $ITNMHOME/etc/precision/PollEngine/ <-- Poll Policies und Definitions $ITNMHOME/etc/precision/Disco/ <-- Discovery-Konfiguration $NCHOME/omnibus/probes/ <-- OMNIbus Probe-Konfiguration
ITNM-Architektur für Didactum
[TIP Web Console]
|
v
[ITNM Domain: NCOMS]
ncp_disco ──SNMP Discovery UDP/161──> [Didactum 192.168.1.50]
ncp_poller ──SNMP Polling UDP/161──> [Didactum 192.168.1.50]
| |
v SNMP Traps UDP/162
[Netcool/OMNIbus ObjectServer] <────────────────┘
nco_p_ncpmonitor (Poller-Probe)
nco_p_mib2syslog (Trap-Probe)
|
v
[Active Event List (AEL)]
[Event Viewer / Dashboards]2. SNMP auf dem Didactum-Gerät aktivieren
Schritt 1 – Web-Interface öffnen
Im Browser aufrufen: 192.168.1.50 (IP des Didactum-Geräts anpassen)
Schritt 2 – SNMP-Einstellungen aufrufen
Systemeinstellungen → SNMP
Schritt 3 – Folgende Werte eintragen
| Feld im Didactum Web-Interface | Wert |
|---|---|
| SNMP aktivieren | Aktiviert |
| SNMP-Version | v2c (empfohlen) |
| Community String | didactum_itnm (nicht „public" verwenden!) |
| SNMP-Port | 161 |
| Trap-Empfänger IP | 192.168.1.10 (IP des ITNM-Servers) |
| Trap-Port | 162 |
| Trap-Version | v2c |
SNMPv3-Einstellungen (optional)
| Feld | Wert |
|---|---|
| Security Name | itnm_user |
| Auth-Protokoll | SHA |
| Auth-Passwort | mind. 8 Zeichen |
| Priv-Protokoll | AES |
| Priv-Passwort | mind. 8 Zeichen |
| Security Level | authPriv |
3. MIB-Datei importieren (SNMP MIB Browser / MIB-Datenbank)
Schritt 1 – MIB aus dem Didactum Web-Interface laden
Systemeinstellungen → SNMP → "MIB-Datei herunterladen" → didactum.mib
Schritt 2 – MIB in die ITNM MIB-Datenbank importieren
MIBs werden in ITNM über das Tivoli Integrated Portal importiert:
TIP → Availability → Network Topology → Utilities → SNMP MIB Browser → Reiter "MIB Management" → "Import MIB" klicken → Datei didactum.mib hochladen → "Compile" klicken → Auf "Compilation successful" prüfen
Alternativ per Kommandozeile:
# MIB in das ITNM-MIB-Verzeichnis kopieren
cp didactum.mib $ITNMHOME/etc/precision/mibs/
# MIB-Datenbank neu kompilieren
cd $ITNMHOME
./scripts/perl/scripts/ncp_mib_compiler.pl \
-domain NCOMS \
-mibfile didactum.mib
# MIB-Kompilierung prüfen
ls $ITNMHOME/etc/precision/mibs/ | grep -i didactum
Schritt 3 – MIB im SNMP MIB Browser testen
TIP → Availability → Network Topology → Utilities → SNMP MIB Browser → IP Address: 192.168.1.50 → Community: didactum_itnm → OID: .1.3.6.1.4.1.46501.5.1.1 → "Walk" klicken → Sensor-Werte erscheinen in der Ergebnistabelle
Schritt 4 – Einzelne OID abfragen
SNMP MIB Browser: OID: .1.3.6.1.4.1.46501.5.1.1.7.101001 Operation: Get → Ergebnis: z.B. 235 (= 23,5 °C; Rohwert ÷ 10)
4. Discovery-Konfiguration (ncp_disco)
ITNM nutzt den Discovery-Prozess ncp_disco um Netzwerkgeräte automatisch zu erkennen. Für Didactum-Geräte muss der Community String konfiguriert und ein Discovery-Scope definiert werden.
Schritt 1 – SNMP Community für Didactum hinterlegen
TIP → Availability → Network Discovery → Configure Discovery → Reiter "Agent Access" → "Add" klicken
| Feld | Wert |
|---|---|
| IP Range / Single IP | 192.168.1.50 |
| SNMP Version | SNMPv2c |
| Community String | didactum_itnm |
| SNMP Port | 161 |
| Timeout (sec) | 5 |
| Retries | 3 |
Alternativ direkt in der Konfigurationsdatei:
sudo nano $ITNMHOME/etc/precision/CommunityMap/CommunityMap.NCOMS.cfg
# ================================================================
# Didactum Community Map Eintrag
# Format: { IP-Adresse oder Range } community_string snmp_version
# ================================================================
{ 192.168.1.50 } didactum_itnm 2c;
# Alternativ ganzes Subnetz:
# { 192.168.1.0/24 } didactum_itnm 2c;
Schritt 2 – Discovery Scope definieren
TIP → Availability → Network Discovery → Configure Discovery → Reiter "Scope" → "Add IP Range" klicken Start IP: 192.168.1.50 End IP: 192.168.1.50 (oder Subnetz: 192.168.1.0/24) → Save
Schritt 3 – Discovery starten
TIP → Availability → Network Discovery → Configure Discovery → Auf den grünen "Start Discovery" Pfeil klicken → Discovery-Fortschritt in der Status-Leiste beobachten
Nach Abschluss erscheint das Didactum-Gerät in der Network Topology Map. Da ITNM Didactum nicht nativ kennt, wird es zunächst als generisches SNMP-Gerät angezeigt. Die genaue Klassifizierung erfolgt über den AOC in Abschnitt 5.
Schritt 4 – Discovery-Ergebnis prüfen
TIP → Availability → Network Views → Network Hop View → Gerät 192.168.1.50 suchen → SNMP-Daten anzeigen (Rechtsklick → "Launch SNMP Browser")
5. AOC-Definition für Didactum anlegen
AOC (Amos Object Class) ist die ITNM-Geräteklassifizierung. Mit einer eigenen AOC-Definition erkennt ITNM Didactum-Geräte automatisch und weist ihnen das korrekte Icon sowie die passenden Poll-Policies zu.
Schritt 1 – AOC-Datei erstellen
sudo nano $ITNMHOME/etc/precision/DiscoAgents.NCOMS.cfg
Folgende AOC-Definition am Ende der Datei ergänzen:
# ================================================================
# Didactum Monitoring System – AOC Definition
# Geräteerkennung über sysObjectID
# ================================================================
# Ältere Didactum-Geräte (Enterprise OID .46501)
{
RecordType = "DeviceRecord";
EntityClass = "Didactum";
EntityType = "DidactumMonitoringSystem";
DisplayName = "Didactum Monitoring System";
Icon = "generic_device.gif";
Enabled = TRUE;
Rule {
snmpOID = ".1.3.6.1.4.1.46501";
}
}
# Neuere Didactum-Geräte (Enterprise OID .39052)
{
RecordType = "DeviceRecord";
EntityClass = "Didactum";
EntityType = "DidactumMonitoringSystemV2";
DisplayName = "Didactum Monitoring System (Neu)";
Icon = "generic_device.gif";
Enabled = TRUE;
Rule {
snmpOID = ".1.3.6.1.4.1.39052";
}
}
Schritt 2 – AOC über TIP konfigurieren (alternativ)
TIP → Availability → Network Discovery → Configure Discovery → Reiter "Device Classification" → "Add Classification Rule" klicken Name: DidactumMonitoring OID Prefix: .1.3.6.1.4.1.46501 Device Class: Didactum Device Type: MonitoringSystem → Save
Schritt 3 – Discovery erneut ausführen
Nach der AOC-Definition Discovery erneut starten, damit das Didactum-Gerät korrekt klassifiziert wird:
TIP → Availability → Network Discovery → Configure Discovery → "Run Partial Discovery" für 192.168.1.50 starten
6. Poll Policy anlegen (ncp_poller)
Poll Policies definieren WELCHE Geräte überwacht werden. Poll Definitions legen fest, WAS auf diesen Geräten abgefragt wird. Zusammen bilden sie das SNMP-Monitoring-Framework von ITNM.
Schritt 1 – Poll Policy über TIP anlegen
TIP → Availability → Network Polling → Polling Policies → "Create Polling Policy" klicken
| Feld | Wert |
|---|---|
| Policy Name | Didactum-Sensor-Polling |
| Description | SNMP Polling für alle Didactum Monitoring-Geräte |
| Domain | NCOMS (oder eigener Domain-Name) |
| Active | Enabled |
| Poll Interval | 300 Sekunden (5 Minuten) |
Schritt 2 – Device Scope der Poll Policy definieren
In der Poll Policy → Reiter "Device Scope" → "Add" klicken Filter Type: Entity Class Value: Didactum (oder) Filter Type: IP Range Start IP: 192.168.1.50 End IP: 192.168.1.55 → Save
Schritt 3 – Poll Policy als Datei (alternativ)
sudo nano $ITNMHOME/etc/precision/PollEngine/PollPolicy.NCOMS.cfg
# ================================================================
# Didactum Poll Policy
# ================================================================
INSERT INTO polls.pollPolicy
(Name, Active, PollInterval, Definition)
VALUES
("DidactumSensorPolling", 1, 300, "DidactumTempPoll"),
("DidactumSensorPolling", 1, 300, "DidactumLeakPoll"),
("DidactumSensorPolling", 1, 120, "DidactumLeakStatusPoll"),
("DidactumSensorPolling", 1, 300, "DidactumHumPoll"),
("DidactumSensorPolling", 1, 60, "DidactumDoorPoll"),
("DidactumSensorPolling", 1, 60, "DidactumSmokePoll");
7. Poll Definitions für Didactum-Sensoren
Poll Definitions legen OID, Schwellwert, Ereignisbeschreibung und Alarmtyp für jeden zu überwachenden Sensorwert fest.
Schritt 1 – Poll Definitions über TIP anlegen
TIP → Availability → Network Polling → Poll Definitions → "Create Poll Definition" klicken
Poll Definition: Temperatursensor
| Feld | Wert |
|---|---|
| Definition Name | DidactumTempPoll |
| Description | Didactum Temperatursensor 01 – Rohwert x0.1 = Grad C |
| Poll Type | SNMP |
| OID | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
| Expression Type | Threshold |
| Warning Threshold (High) | 280 (= 28,0 °C; Rohwert × 10) |
| Critical Threshold (High) | 350 (= 35,0 °C; Rohwert × 10) |
| Event Severity (Warning) | Warning |
| Event Severity (Critical) | Critical |
| Event Description | Didactum Temperatur überschreitet Schwellwert: $snmpValue (Rohwert; ÷10=°C) |
Wichtig – Temperaturschwellwerte: Didactum liefert Temperaturwerte als Rohwert × 10. 28,0 °C = OID-Wert 280. Alle Schwellwerte in den Poll Definitions müssen daher als Rohwert × 10 angegeben werden.
Poll Definition: Leckagesensor
| Feld | Wert |
|---|---|
| Definition Name | DidactumLeakPoll |
| OID | .1.3.6.1.4.1.46501.5.1.1.7.107001 |
| Expression Type | Threshold |
| Critical Threshold (High) | 0.5 (Wert ≥ 1 = Wasser erkannt) |
| Event Severity (Critical) | Critical |
| Event Description | DIDACTUM LECKAGE: Wasser erkannt! Sensor-Wert: $snmpValue (1=Wasser) |
Poll Definition: Leckage-Status (OID .6.x)
| Feld | Wert |
|---|---|
| Definition Name | DidactumLeakStatusPoll |
| OID | .1.3.6.1.4.1.46501.5.1.1.6.107001 |
| Critical Threshold (High) | 0.5 |
| Event Description | Didactum Sensor-Status: $snmpValue (0=OK, 1=Alarm, 2=Kein Signal) |
Poll Definition: Luftfeuchtigkeit
| Feld | Wert |
|---|---|
| Definition Name | DidactumHumPoll |
| OID | .1.3.6.1.4.1.46501.5.1.1.7.102001 |
| Warning Threshold (High) | 80 (= 80 %) |
| Critical Threshold (High) | 90 (= 90 %) |
| Event Description | Didactum Luftfeuchtigkeit: $snmpValue % (Warnung ab 80%, Kritisch ab 90%) |
Poll Definition: Türkontakt
| Feld | Wert |
|---|---|
| Definition Name | DidactumDoorPoll |
| OID | .1.3.6.1.4.1.46501.5.1.1.7.104001 |
| Warning Threshold (High) | 0.5 (Wert ≥ 1 = geöffnet) |
| Event Severity | Warning |
| Event Description | Didactum Tuerkonakt: $snmpValue (0=geschlossen, 1=geoeffnet) |
Poll Definition: Rauchmelder
| Feld | Wert |
|---|---|
| Definition Name | DidactumSmokePoll |
| OID | .1.3.6.1.4.1.46501.5.1.1.7.106001 |
| Critical Threshold (High) | 0.5 |
| Event Severity | Critical |
| Event Description | DIDACTUM RAUCHMELDER ALARM: Rauch erkannt! Wert: $snmpValue |
Alle Definitionen als Datei (alternativ)
sudo nano $ITNMHOME/etc/precision/PollEngine/PollDef.NCOMS.cfg
# ================================================================
# Didactum Poll Definitions
# Datei: $ITNMHOME/etc/precision/PollEngine/PollDef.NCOMS.cfg
# ================================================================
INSERT INTO polls.pollDef
(Name, Description, OID, ExprType, WarnHigh, CritHigh, EventDesc)
VALUES
("DidactumTempPoll",
"Temperatursensor 01 (Rohwert x0.1 = Grad C)",
".1.3.6.1.4.1.46501.5.1.1.7.101001",
"snmpThreshold",
280, 350,
"Didactum Temperatur: $snmpValue (Rohwert; /10=Grad C)"),
("DidactumLeakPoll",
"Leckagesensor 01 (0=trocken, 1=Wasser)",
".1.3.6.1.4.1.46501.5.1.1.7.107001",
"snmpThreshold",
NULL, 1,
"LECKAGE ALARM: Wasser erkannt! Wert=$snmpValue"),
("DidactumHumPoll",
"Luftfeuchtigkeit 01 (Wert in %)",
".1.3.6.1.4.1.46501.5.1.1.7.102001",
"snmpThreshold",
80, 90,
"Didactum Luftfeuchtigkeit: $snmpValue %"),
("DidactumDoorPoll",
"Tuerkonakt 01 (0=geschlossen, 1=geoeffnet)",
".1.3.6.1.4.1.46501.5.1.1.7.104001",
"snmpThreshold",
1, NULL,
"Didactum Tuerkonakt: $snmpValue"),
("DidactumSmokePoll",
"Rauchmelder 01 (0=OK, 1=Alarm)",
".1.3.6.1.4.1.46501.5.1.1.7.106001",
"snmpThreshold",
NULL, 1,
"RAUCHMELDER ALARM: $snmpValue");
8. MIB Grapher für Visualisierung einrichten
Der MIB Grapher in ITNM visualisiert SNMP-Daten als Zeitverlaufsgraph direkt aus dem Tivoli Integrated Portal.
Schritt 1 – MIB Grapher öffnen
TIP → Availability → Network Topology → [Gerät auswählen] → Rechtsklick → "Launch MIB Grapher"
Schritt 2 – Temperatursensor-Graph konfigurieren
MIB Grapher → "New Graph" klicken Graph Name: Didactum Temperatur OID: .1.3.6.1.4.1.46501.5.1.1.7.101001 Poll Interval: 300 Sekunden Divisor: 10 ← WICHTIG: Rohwert ÷ 10 = Grad Celsius Unit: °C Display Name: Temperatur Sensor 01 → "Add" klicken → "Draw" klicken
Schritt 3 – Leckage-Graph konfigurieren
MIB Grapher → "New Graph" OID: .1.3.6.1.4.1.46501.5.1.1.7.107001 Divisor: 1 Unit: (leer) Name: Leckage Sensor 01
Schritt 4 – Luftfeuchtigkeits-Graph
MIB Grapher → "New Graph" OID: .1.3.6.1.4.1.46501.5.1.1.7.102001 Divisor: 1 Unit: % Name: Luftfeuchtigkeit Sensor 01
9. SNMP Traps über Netcool/OMNIbus empfangen
SNMP-Traps vom Didactum-Gerät werden in ITNM über den Netcool/OMNIbus SNMP-Probe empfangen und in Events umgewandelt.
Schritt 1 – OMNIbus SNMP-Probe konfigurieren
sudo nano $NCHOME/omnibus/probes/nco_p_mib2syslog.props
# SNMP Trap Empfang Konfiguration TrapPort : 162 ReadCommunity : "didactum_itnm"
Schritt 2 – Probe Rules-Datei für Didactum-Traps anlegen
sudo nano $NCHOME/omnibus/probes/rules/didactum_traps.rules
# ================================================================
# Didactum SNMP Trap Rules für Netcool/OMNIbus
# ================================================================
# Leckage-Trap erkennen
if(match($enterprise, ".1.3.6.1.4.1.46501"))
{
# Enterprise-Trap von Didactum
$Node = $agent_addr;
$NodeAlias = "Didactum Monitoring System";
$Manager = "ITNM";
# Trap-Typ nach OID unterscheiden
if(match($oid, ".*.107001.*"))
{
$Summary = "DIDACTUM LECKAGE ALARM: Wasser erkannt!";
$Severity = 5; # Critical
$AlertKey = "DidactumLeak";
$AlertGroup = "Didactum-Sensoren";
}
else if(match($oid, ".*.101001.*"))
{
$Summary = "DIDACTUM TEMPERATUR ALARM: Sensor meldet Alarm";
$Severity = 5;
$AlertKey = "DidactumTemp";
$AlertGroup = "Didactum-Sensoren";
}
else if(match($oid, ".*.106001.*"))
{
$Summary = "DIDACTUM RAUCHMELDER ALARM: Rauch erkannt!";
$Severity = 5;
$AlertKey = "DidactumSmoke";
$AlertGroup = "Didactum-Sensoren";
}
else if(match($oid, ".*.104001.*"))
{
$Summary = "DIDACTUM TUER ALARM: Tür geöffnet";
$Severity = 3; # Warning
$AlertKey = "DidactumDoor";
$AlertGroup = "Didactum-Sensoren";
}
else
{
$Summary = concat("Didactum SNMP Trap: OID=", $oid);
$Severity = 2; # Minor
$AlertKey = "DidactumGeneric";
$AlertGroup = "Didactum-Sensoren";
}
update(@Alerts.status);
}
Schritt 3 – Probe mit Didactum-Rules starten
# Probe neu starten
$NCHOME/omnibus/bin/nco_p_mib2syslog \
-rules $NCHOME/omnibus/probes/rules/didactum_traps.rules \
-server NCO_PA &
# Oder als Service (wenn konfiguriert):
/etc/init.d/nco_p_mib2syslog restart
Schritt 4 – Eingehende Traps in der AEL prüfen
TIP → Availability → Event Management → Active Event List (AEL) → Filter: AlertGroup = "Didactum-Sensoren" → Eingehende Didactum-Traps erscheinen hier nach Empfang
10. SNMP OID-Referenz
Alle Didactum-OIDs beginnen mit .1.3.6.1.4.1.46501 (ältere Firmware) bzw. .1.3.6.1.4.1.39052 (neuere Modelle). Die Sensor-ID wird am Ende angehängt.
OID-Felder je Sensor
| Feld | Bedeutung | Beispiel |
|---|---|---|
| .1.x.SENSOR_ID | Sensor-ID | .1.3.6.1.4.1.46501.5.1.1.1.101001 |
| .5.x.SENSOR_ID | Sensor-Name | .1.3.6.1.4.1.46501.5.1.1.5.101001 |
| .6.x.SENSOR_ID | Status (0=OK, 1=Alarm, 2=Kein Signal) | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| .7.x.SENSOR_ID | Messwert (aktuell) | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
Sensortypen mit OIDs und ITNM Poll Definition-Schwellwerten
| Sensortyp | Sensor-ID | OID Messwert | OID Status | Poll Def. Schwellwert |
|---|---|---|---|---|
| Temperatursensor (digital) | 101001 | .1.3.6.1.4.1.46501.5.1.1.7.101001 | .1.3.6.1.4.1.46501.5.1.1.6.101001 | WarnHigh: 280 / CritHigh: 350 (× 10) |
| Temperatursensor (analog) | 201001 | .1.3.6.1.4.1.39052.5.2.1.7.201001 | .1.3.6.1.4.1.39052.5.2.1.6.201001 | WarnHigh: 280 / CritHigh: 350 (× 10) |
| Wassersensor / Leckage | 107001 | .1.3.6.1.4.1.46501.5.1.1.7.107001 | .1.3.6.1.4.1.46501.5.1.1.6.107001 | CritHigh: 1 (1 = Wasser erkannt) |
| Luftfeuchtigkeit | 102001 | .1.3.6.1.4.1.46501.5.1.1.7.102001 | .1.3.6.1.4.1.46501.5.1.1.6.102001 | WarnHigh: 80 / CritHigh: 90 (direkt in %) |
| Potentialfreier Kontakt | 101003 | .1.3.6.1.4.1.39052.5.1.1.7.101003 | .1.3.6.1.4.1.39052.5.1.1.6.101003 | WarnHigh: 1 (1 = geschlossen) |
| Türkontakt | 104001 | .1.3.6.1.4.1.46501.5.1.1.7.104001 | .1.3.6.1.4.1.46501.5.1.1.6.104001 | WarnHigh: 1 (1 = geöffnet) |
| Rauchmelder | 106001 | .1.3.6.1.4.1.46501.5.1.1.7.106001 | .1.3.6.1.4.1.46501.5.1.1.6.106001 | CritHigh: 1 (1 = Alarm) |
Sensor-ID herausfinden:
Im Didactum Web-Interface unter Systembaum → Sensor auswählen → Details. Diese ID wird ans Ende der OID angehängt.
Temperaturschwellwerte in ITNM:
Didactum liefert Temperaturen als Rohwert × 10. 28 °C = OID-Wert 280. Alle ITNM Poll Definition-Schwellwerte müssen daher × 10 eingegeben werden. Der MIB Grapher unterstützt einen Divisor-Parameter; dort Divisor 10 eintragen für korrekte °C-Anzeige.
MIB-Prefix je Modell:
Ältere Geräte verwenden .1.3.6.1.4.1.46501, neuere Modelle eventuell .1.3.6.1.4.1.39052. Entnehmen Sie die genauen OIDs der MIB-Datei Ihres Geräts.
11. Alarmierung & Event-Weiterleitung
Schritt 1 – Active Event List (AEL) öffnen
TIP → Availability → Event Management → Active Event List → Filter: AlertGroup = "Didactum-Sensoren" → Didactum-Alarme nach Poll-Verletzung oder Trap-Empfang
Schritt 2 – E-Mail-Benachrichtigung über OMNIbus Automation
TIP → Event Management → Automations → Create Automation
| Feld | Wert |
|---|---|
| Automation Name | Didactum-Email-Alert |
| Trigger Condition | AlertGroup = 'Didactum-Sensoren' AND Severity >= 4 |
| Action Type | Run Command |
| Command | /opt/IBM/tivoli/netcool/bin/send_alert.sh "$Node" "$Summary" "$Severity" |
Schritt 3 – Alert-Skript erstellen
sudo nano /opt/IBM/tivoli/netcool/bin/send_alert.sh
#!/bin/bash NODE="$1" SUMMARY="$2" SEVERITY="$3" EMPFAENGER="admin@ihredomain.de" echo "Zeitpunkt: $(date) Node: $NODE Meldung: $SUMMARY Schwere: $SEVERITY" | \ mail -s "[ITNM Didactum ALARM] $NODE: $SUMMARY" "$EMPFAENGER"
sudo chmod +x /opt/IBM/tivoli/netcool/bin/send_alert.sh
Schritt 4 – E-Mail-Versand sicherstellen
# Postfix auf dem ITNM-Server prüfen sudo systemctl status postfix # Test-Mail senden echo "Test ITNM" | mail -s "Test" admin@ihredomain.de
12. Test & Fehlersuche
SNMP-Verbindung testen
# Vom ITNM-Server aus: snmpget -v 2c -c didactum_itnm 192.168.1.50 sysDescr.0 snmpwalk -v 2c -c didactum_itnm 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1 # SNMP MIB Browser in TIP: TIP → Availability → Utilities → SNMP MIB Browser → IP: 192.168.1.50 / Community: didactum_itnm → Walk auf .1.3.6.1.4.1.46501.5.1.1
ncp_poller SNMP Walk-Skript
# ITNM-eigenes Diagnose-Skript
$ITNMHOME/scripts/perl/scripts/snmp_walk.pl \
-host 192.168.1.50 \
-community didactum_itnm \
-oid .1.3.6.1.4.1.46501.5.1.1
Poll Policy-Status prüfen
TIP → Availability → Network Polling → Polling Policies → "Didactum-Sensor-Polling" auswählen → Status: Active → "View Poll Results" klicken → aktuelle Sensorwerte anzeigen
Fehlermeldungen und Lösungen
| Problem | Ursache & Lösung |
|---|---|
| Gerät erscheint nicht nach Discovery | Community String falsch; Gerät nicht pingbar; Discovery Scope zu eng → CommunityMap.cfg prüfen |
| Gerät als „Unknown Device" klassifiziert | AOC-Definition fehlt oder sysObjectID stimmt nicht → Discovery mit korrektem OID-Präfix erneut starten |
| Poll Definition liefert NODATA | OID nicht vom Gerät unterstützt; falsche Sensor-ID → snmp_walk.pl-Skript ausführen und OID prüfen |
| MIB-Kompilierung schlägt fehl | MIB-Abhängigkeiten fehlen → SNMPv2-SMI, SNMPv2-TC zuerst importieren |
| Temperaturwert 10× zu groß in MIB Grapher | Divisor-Einstellung fehlt → MIB Grapher: Divisor = 10 setzen |
| Schwellwert-Alarm schlägt nie an | Schwellwert nicht × 10 angegeben → Poll Definition bearbeiten, WarnHigh/CritHigh × 10 eingeben |
| SNMP Trap erscheint nicht in AEL | OMNIbus Probe nicht gestartet; UDP 162 blockiert; Trap-Rules-Datei nicht geladen |
| ncp_poller startet nicht | PollDef.cfg Syntaxfehler → Log unter $ITNMHOME/log/ncp_poller.NCOMS.log prüfen |
ITNM Logs einsehen
# ncp_disco Log (Discovery) tail -f $ITNMHOME/log/ncp_disco.NCOMS.log # ncp_poller Log (Polling) tail -f $ITNMHOME/log/ncp_poller.NCOMS.log # MIB-Kompilierung Log tail -f $ITNMHOME/log/ncp_mib_compiler.log # OMNIbus Probe Log tail -f $NCHOME/omnibus/log/nco_p_mib2syslog.log
13. Abschluss-Checkliste
Didactum-Gerät
- SNMP aktiviert (v2c oder v3)
- Community String gesetzt (nicht „public"): didactum_itnm
- Gerät per Ping vom ITNM-Server erreichbar
- Trap-Empfänger-IP auf ITNM-Server gesetzt
- MIB-Datei heruntergeladen
- snmpwalk vom ITNM-Server erfolgreich
ITNM-Konfiguration
- Community String in CommunityMap.cfg oder TIP hinterlegt
- MIB-Datei mit MIB Browser importiert und kompiliert
- Discovery Scope für Didactum-IP definiert
- Discovery erfolgreich: Gerät erscheint in Topology Map
- AOC-Definition für Didactum angelegt (EntityClass: Didactum)
- Discovery erneut gelaufen: Gerät korrekt klassifiziert
Poll Policies & Definitions
- Poll Policy „Didactum-Sensor-Polling" angelegt und aktiv
- Device Scope der Policy auf Didactum-Klasse oder IP gesetzt
- Poll Definitions für Temperatur (WarnHigh 280, CritHigh 350) angelegt
- Poll Definition für Leckage (CritHigh 1) angelegt
- Poll Definitions für Luftfeuchtigkeit, Türkontakt, Rauchmelder angelegt
- Poll Results: Sensorwerte werden in TIP angezeigt
- MIB Grapher: Temperaturgraph mit Divisor 10 konfiguriert
SNMP Traps & Alarmierung
- OMNIbus SNMP Probe konfiguriert (UDP 162)
- Trap Rules-Datei mit Didactum Enterprise OID angelegt
- OMNIbus Automation für E-Mail-Benachrichtigung angelegt
- E-Mail-Alert-Skript erstellt und ausführbar
- Eingehende Traps in AEL sichtbar
- Test-Alarm ausgelöst und E-Mail empfangen