Select Page

Ein kleiner Exkurs zu SNMP

by | May 22, 2020 | NETWAYS

Wer sich schon einmal mit SNMP beschäftigt hat, der weiß, dass das Verarbeiten sowie Auswerten von SNMP-Traps eine wichtige Rolle beim Monitoring spielt. Eine fast genauso große Rolle spielt hierbei das oft mühselige „ergoogeln“ der MIBs und OIDs. Für diesen Fall kann ich folgende Webseite empfehlen. Das eigentliche Problem ist allerdings, wenn man, wie in meinem Fall, einen Check entwickeln möchte, aber sich auf Grund von COVID-19 im Homeoffice befindet. Nicht ein Jeder hat bspw. Cisco Supervisor Module bei sich zu Hause stehen, die für das Testen benötigt werden. Nun, wie kann man sich dabei helfen? Man benutzt die override Option in snmpd.conf .

Ich gehe bei den weiteren Schritten davon aus, dass SNMP bereits auf dem System richtig konfiguriert wurde

Im Folgenden werde ich zeigen wie man beispielhaft den „Redundanz-Status“ eines Cisco-Gerätes mit selbst eingetragenen Werten überprüfen kann. Es handelt sich genauer gesagt um folgende OID.

Wenn ich versuche diese OID auf meinem lokalen Gerät auszulesen, stelle ich fest das diese unbekannt ist:
# snmpwalk -v2c -c public localhost 1.3.6.1.4.1.9.9.176.1.1.2
SNMPv2-SMI::enterprises.9.9.176.1.1.2 = No Such Object available on this agent at this OID

Das heisst, man muss zunächst dem lokalen System die entsprechende MIB zur Verfügung stellen. Ich speichere die MIB also in den Pfad der konfiguriert ist und “aktiviere” diese anschließend:

Auslesen des Standardpfades:
# net-snmp-config --default-mibdirs
/root/.snmp/mibs:/usr/share/snmp/mibs

Herunterladen der benötigten MIBs:
# wget -O .snmp/mibs/CISCO-RF-MIB.mib http://www.circitor.fr/Mibs/Mib/C/CISCO-RF-MIB.mib
# wget -O .snmp/mibs/CISCO-SMI.my https://www.cisco.com/iam/PGW_MIBS/973/CISCO-SMI.my

Laden bzw. “aktivieren” der MIBs:
# cat .snmp/snmp.conf
mibs +CISCO-RF-MIB
mibs +CISCO-SMI

Nun kann man ein weiteres Mal testen ob die MIBs korrekt geladen wurden und ob das lokale System diese auch benutzt:
snmpwalk -v2c -c public localhost 1.3.6.1.4.1.9.9.176.1.1.2
CISCO-RF-MIB::cRFStatusUnitState = No Such Object available on this agent at this OID

Wie in der oberen Ausgabe zu erkennen, kann mein lokales System nun die OID verarbeiten und erkennt diese auch. Das Problem an dieser Stelle ist aber nun, dass es sich bei meinem System nicht um ein CiscoGerät mit dem Redundancy-Feature handelt, Daher auch die Meldung No Such Object available on this agent at this OID.
Das können wir beheben, indem man dem SNMP-Daemon mitteilt, welchen Status das Objekt haben soll:
# cat /etc/snmp/snmpd.conf
override 1.3.6.1.4.1.9.9.176.1.1.2 integer 14

Nach einem Neustart des Dienstes wird nun der “gewollte” Wert vom SNMP-Daemon zurück geliefert:
# systemctl restart snmpd
# snmpget -v2c -c public localhost 1.3.6.1.4.1.9.9.176.1.1.2
CISCO-RF-MIB::cRFStatusUnitState = INTEGER: active(14)

Wie man sieht kann diese manuelle Überschreibung von einzelnen OIDs sehr hilfreich bei einer Pluginentwicklung sein. Dadurch hat man die Möglichkeit verschiedene Zustände zu prüfen, ohne das man diese extra herbeiführen muss.

Bildquelle:

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

More posts on the topic NETWAYS

The Countdown for DevOpsDays Berlin 2024 is on!

It’s just one week to go until DevOpsDays Berlin is about to start. The organizing team’s preparations are in full swing, and they can’t wait to finally welcome you there. Let's build up the excitement together!   A Fantastic Program The two-day schedule provides...

Vielseitige Einblicke der Abteilungswoche bei NETWAYS

In der modernen Arbeitswelt ist es wichtig, über den eigenen Tellerrand hinauszuschauen und ein Verständnis für verschiedene Bereiche eines Unternehmens zu entwickeln. Genau aus diesem Grund wurde bei NETWAYS die Idee der Abteilungswoche geboren. In dieser Woche hatte...