Website-Icon .: blog cscholz.io :.

Windows 2003: SNMP einrichten

Unter Linux lassen mit den rrdtools Systemdaten sehr schön grafisch darstellen. Auf der Arbeit brachte mich dann ein Mitarbeiter auf die Idee, dass man die Daten ja eigentlich auch per SNMP Abfragen könnte. Hab bis dato darüber ehrlich gesagt nicht großartig nachgedacht.

Aber die Idee fand ich gut. So könnte man theoretisch ein Windows 2003 System überwachen.

Die Installation des SNMP-Agents ist selbst relativ einfach. Dazu gibt es von Microsoft eine Anleitung.

Nachdem man die Sicherheitseinstellungen etwas angepasst hat, kann man die ersten SNMP-Daten auch schon abfragen. Ich hab dafür Linux genutzt 😉

snmpwalk -v2c -c public 192.168.0.211

Nur anschließend steht man irgendwie vor der Fragen, welche SNMP-Daten man überhaupt abfragen kann und wie man einstellt was abgefragt werden kann.

Um zu sehen was man abfragen kann, gibt es verschiedene SNMP-Browser. Am beste hat mir der Tembria SNMP-Browser gefallen. Dieser zeigt jedoch nicht den SNMP-Pfad in der Numerischen Variante an. Hierfür kann allerdings getif verwendet werden.

Nach einigem suchen bin ich dann auf eine Möglichkeit gestoßen, wie man die perfmon Daten per SNMP Abfragen kann. Mein erster Gedanke war – super, Exchange 2007 hat jede Menge Leistungsindikatoren. Aber leider funktioniert das ganze nicht so wie gewollt. Der perf2mib.exe wird seit NT 4 SP4 nicht mehr weiter entwickelt, was wahrscheinlich auch der Knackpunkt ist. MS versucht die Admins dahin zu bekommen die Systemdaten per WMI abzufragen.

In der Theorie sieht das ganze wiefolgt aus.

1. Man läd sich die perf2mib.exe (o-o-s Mirror) herunter und entpackt die dll sowie exe Datei nach c:Windowssystem32

2. Nun kann die perfmib.ini erstellt werden. Der Befehl dazu sieht wiefolgt aus

perf2mib perfmib.mib perfmib.ini memory 1 mem processor 2 cpu "Network Segment" 3 net PhysicalDisk 4 disk

Im Prinzip setzt sich der Befehl aus 4 Teilen zusammen.

Teil 1: perf2mib perfmib.mib perfmib.ini
Teil 2: memory (englische Bezeichnung des Leistungsindikators)
Teil 3: 1 (fortlaufende Nummer)
Teil 4: mem (so wie ich das sehe, nur ein Alias für Teil 2)

Man kann also ohne weiteres andere Leistungsindikatoren nutzen.

4. Nun muss dem SNMP-Dienst noch mitgeteilt werden, dass er die neue DLL-Datei aus Punkt 1 nutzen soll. Gehen Sie dazu zum Reg-Key

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMPParametersExtensionAgents

und legen dort eine Zeichenfolge mit der nächsten fortlaufenden Nummer an und dem Wert

SOFTWAREMicrosoftPerformanceAgentCurrentVersion

5. Erstellen Sie nun im Reg-Key HKEY_LOCAL_MACHINESOFTWAREMicrosoft einen unterordner PerformanceAgent und darunter einen Ordner Namens CurrentVersion. Das ergibt dann den unter vier angegebenen Schlüssel.

6. In diesem Schlüssel erstellen Sie nunr eine erweiterbare Zeichenfolge mit Namen Pathname und dem Wert

%SystemRoot%System32perfmib.dll erstellen

7. Nun kann der SNMP-Agent neu gestartet werden

net stop snmp && net start snmp

8. Die SNMP-Werte müsste man nun mit snmpwalk -v2c -c public 192.168.0.211 abfragen können.

Keine Leistungsindikatoren im Performancecounter

Mir ist es passiert, dass im Performancemonitor keine Leistungsindikatoren mehr vorhanden waren. Ich hatte zufor die Dateien perfc007.dat, perfh007.dat, perfh009.dat, perfc009.dat gelöscht.

Für den Fall, dass diese Dateien nicht mehr vorhanden sein sollten lohnt sich ein Blick in den KB-Artikel KB300956.

Links:

Network Management and Monitoring
SNMP4WALK

Die mobile Version verlassen