SNMP steht für Simple Network Management Protocol und besteht aus hauptsächlich drei Bestandteilen: managebare Geräte / Devices, Agenten und Netzwerk-Management-Systemen (NMSs). Ein managebares Gerät ist ein Knoten der einen SNMP Agenten installiert hat und sich in einem managebarem Netzwerk (NMS) befindet. Diese Geräte können Router, Switche, Server, Bridges, Server / Desktops / Notebooks = Computer und oder Drucker sein. In einem NMS läuft eine Monitoring Software z.B. Cacti, oder Nagios, MRTG, oder oder oder. Diese Gerät stellt also die Ressourcen wie Arbeitsspeicher, Festplatte, CPU, RAM etc. zur Verfügung die für das managen des Netzwerkes notwendig sind.
Die Informationen die diese Geräte bereitstellen sind in sogenannten MIB’s bzw. OID’s hinterlegt.
MIB steht für Management Information Base und ist eine Sammlung von organisatorisch hirachisch strukturierten Informationen, welche das SNMP für den Zugriff erlauben. Es gibt zwei Typen von MIB’s tabellarische und skalare. Tabelarische MIB’s sind mehrere zueinander gehörende Objekte die zu Gruppen in MIB Tabellen zusammengefast sind, während skalare ein einzelnes Objekt definieren.
OID steht für Objekt Identifiers die eindeutig zuordnungsbare managebare Objekte in einer MIB Hierachie darstellen. Diese können als Baumstruktur betrachtet werden, in der jede Ebene als verschiedene Organisation betrachtet werden kann. Hierbei gehört das erste Objekt (Top Level) zu einer bestimmten standard Organisation. Hersteller definieren hier eigene Zweige mit privaten eigenen OID’s für ihre Produkte.
Damit Abfragen von OIDs oder MIBs erfolgen können muss das SNMP installiert sein. Eine Anleitung findest du hier auf Taste-Of-IT.de
Tabelle mit OIDs und ihrer entsprechenden MIB
OID | MIB |
---|---|
1.3 | org |
1.3.6 | dod |
1.3.6.1 | internet |
1.3.6.1.1 | directory |
1.3.6.1.2 | mgmt |
1.3.6.1.3 | experimental |
1.3.6.1.4 | private |
1.3.6.1.4.1 | enterprises |
einige SNMP-Abfragen für Debian / Linux:
CPU – Load
Load 1 Minute snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.10.1.3.1 UCD-SNMP-MIB::laLoad.1 = STRING: 0.06 Load 5 Minten snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.10.1.3.2 UCD-SNMP-MIB::laLoad.2 = STRING: 0.09 Load 15 Minuten snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.10.1.3.3 UCD-SNMP-MIB::laLoad.3 = STRING: 0.06
CPU – Time
prozentuale User CPU Zeit snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.11.9.0 UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 24 RAW User CPU Zeit snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.11.50.0 UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 29229052 prozentuale System CPU Zeit snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.11.10.0 UCD-SNMP-MIB::ssCpuSystem.0 = INTEGER: 2 RAW Systemp CPU Zeit snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.11.52.0 UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 3917928 prozentuale Idle CPU Zeit snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.11.11.0 UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 92 RAW Idle CPU Zeit snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.11.53.0 UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 280035423 RAW Nice CPU Zeit snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.11.51.0 UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 79367
Memory / Arbeitsspeicher
total Swap Größe snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.4.3.0 UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 3010552 kB verfügbare Swap Größe snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.4.4.0 UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 2888296 kB total RAM auf dem Gerät snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.4.5.0 UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 4061600 kB total RAM in verfügbar snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.4.6.0 UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 132780 k total RAM frei (freier Swap + freier RAM) snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.4.11.0 UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 3020208 kB total RAM Shared (bei mir nicht vorhanden vServer) snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.4.13.0 UCD-SNMP-MIB::memShared.0 = No Such Object available on this agent at this OID total RAM buffered snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.4.14.0 UCD-SNMP-MIB::memBuffer.0 = INTEGER: 427136 kB total Cached RAM snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.4.15.0 UCD-SNMP-MIB::memCached.0 = INTEGER: 2207976 kB [code] <strong>Festplatte Informationen</strong> [code language="bash"] Pfad zum Mount der Festplatte snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.9.1.2.1 UCD-SNMP-MIB::dskPath.1 = STRING: / Pfad zum Gerät der Partition snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.9.1.3.1 UCD-SNMP-MIB::dskDevice.1 = STRING: /dev/mapper/vsrv03-root totale Größe der Festplatte / Partition snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.9.1.6.1 UCD-SNMP-MIB::dskTotal.1 = INTEGER: 69033480 verfügbare Größe der Festplatte snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.9.1.7.1 UCD-SNMP-MIB::dskAvail.1 = INTEGER: 37760248 benutzte Größe der Festplatte snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.9.1.8.1 UCD-SNMP-MIB::dskUsed.1 = INTEGER: 27766524 prozentuale Größe in Benutzung snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.9.1.9.1 UCD-SNMP-MIB::dskPercent.1 = INTEGER: 42 prozentuale Anzahl von Inodes in Benutzung der Disk snmpget -v2c -c public localhost 1.3.6.1.4.1.2021.9.1.10.1 UCD-SNMP-MIB::dskPercentNode.1 = INTEGER: 6 Anmerkung: die letzte Zahl "1" steht für die Festplatte, also 1 für die 1. 2 für die .. usw
Netzwerk – letzte Zahl = Nic (ab 1=lo 2=eth0 usw)
Anzahl der Interfaces snmpget -v2c -c public localhost 1.3.6.1.2.1.2.1.0 IF-MIB::ifNumber.0 = INTEGER: 2 Name des Interface root@vsrv03:~# snmpget -v2c -c public localhost 1.3.6.1.2.1.2.2.1.2.2 IF-MIB::ifDescr.2 = STRING: eth0 Größe des größtmöglichen Frame das gesendet werden kann snmpget -v2c -c public localhost 1.3.6.1.2.1.2.2.1.4.2 IF-MIB::ifMtu.2 = INTEGER: 1500 aktuelle Bandbreite root@vsrv03:~# snmpget -v2c -c public localhost 1.3.6.1.2.1.2.2.1.5.2 IF-MIB::ifSpeed.2 = Gauge32: 0 MAC der Netzwerkkarte snmpget -v2c -c public localhost 1.3.6.1.2.1.2.2.1.6.2 IF-MIB::ifPhysAddress.2 = STRING: e:46:e2:fd:fb:10 Anzahl erhaltenen Pakete inkl. Frame Charakter snmpget -v2c -c public localhost 1.3.6.1.2.1.2.2.1.10.2 IF-MIB::ifInOctets.2 = Counter32: 118696884 Anzahl gesendeter Pakete inkl. Frame Charakter snmpget -v2c -c public localhost 1.3.6.1.2.1.2.2.1.16.2 IF-MIB::ifOutOctets.2 = Counter32: 4124362756 Anzahl passiver TCP Verbindungen snmpget -v2c -c public localhost 1.3.6.1.2.1.6.6.0 TCP-MIB::tcpPassiveOpens.0 = Counter32: 2486261 total des In-Traffic in bytes (x64) snmpget -v2c -c public localhost 1.3.6.1.2.1.31.1.1.1.6.2 IF-MIB::ifHCInOctets.2 = Counter64: 21597331732 total des In-Traffic in bytes (x32) snmpget -v2c -c public localhost 1.3.6.1.2.1.2.2.1.10.2 IF-MIB::ifInOctets.2 = Counter32: 122782898 total des Out-Traffic in bytes (x64) snmpget -v2c -c public localhost 1.3.6.1.2.1.31.1.1.1.10.2 IF-MIB::ifHCOutOctets.2 = Counter64: 133028613214 total des Out-Traffic in bytes (x32) snmpget -v2c -c public localhost 1.3.6.1.2.1.2.2.1.16.2 IF-MIB::ifOutOctets.2 = Counter32: 4181931363 Info x64 ab 100Mbits Fast Ethernet, darunter x32 <- grob
weitere
System Uptime snmpget -v2c -c public localhost 1.3.6.1.2.1.25.1.1.0 HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (314742102) 36 days, 10:17:01.0 Zeit wie lange der SNMP Prozess läuft snmpget -v2c -c public localhost 1.3.6.1.2.1.1.3.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (23616123) 2 days, 17:36:01.23 System Datum snmpget -v2c -c public localhost 1.3.6.1.2.1.25.1.2.0 HOST-RESOURCES-MIB::hrSystemDate.0 = STRING: 2013-7-19,11:31:47.0,+2:0
Info
Die MIB OIDs lassen sich mittels snmptranslate in mehraussagende Namen / Text umwandeln. Genauso auch umgekehrt.
snmptranslate 1.3.6.1.2.1.25.1.1.0
HOST-RESOURCES-MIB::hrSystemUptime.0
root@vsrv03:~# man snmptranslate
Links
http://www.mibdepot.com
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.