Genauso wie SNMP Traps sollten auch SNMP OIDs gesammelt werden, da diese eine große Möglichkeit darstellen Informationen von System zu erhalten.
SNMP Traps können nicht direkt mit Nagios ausgewertet werden. Über SNMPTT können ausgewählte Traps als EXTERNAL COMMAND in die Nagios Pipe (../var/rw/nagios.cmd) geschrieben werden, um einen vorher eingerichteten Service Passive zu beeinflussen.
SNMP OIDs können über das Standard Plugin check_snmp ausgelesen werden, über diverse spezielle SNMP-Plugins (z.B. check_int_traffic.pl) oder über ein selbstgeschriebenes Plugin. Die Rückgabewerte der OIDs müssen an die Nagios Stati OK, CRITICAL usw. angepasst werden.
SNMP ist ein Management-Protokoll, dass bei sehr vielen Produkten zum Einsatz kommt. Mithilfe der sogenannten OIDs erhält man Werte zu bestimmten Einstellungen eines Produkts.
Im Falle von Netzwerkkomponenten wie z.B. von Cisco kann man anhand der richtigen OID feststellen, ob die Komponente aktiv ist, welchen Namen sie hat, welche Uhrzeit gestellt ist usw. Es gibt hierbei fast keine Grenzen.
Bei SNMP gibt es 3 essenzielle Tools:
Die 3 Tools sind vom Namen her selbsterklärend :)
Diese Tools fragen eine Variable ab, die sogenannte OID, und bekommen einen Rückgabewert. Ist die entsprechende MIB geladen, werden diese Werte interpretiert. D.h. z.B. statt einer 1 bekommt man als Rückgabewert up. Das Laden von MIBs ist grundsätzlich optional.
Alternativ können auch MIB-Browser verwendet werden, um die OID zu ermitteln, die für das gewünschte Überwachungsparameter (z.B. Lüfter, Netzteil, Interfacestatus etc) den gewünschten Wert zurückgeben. Einen freien MIB-Browser gibt es hier: http://www.dwipal.com/mibbrowser.htm
Die Rückgabewerte für die unten aufgeführten OIDs erfährt man wie folgt:
snmpget -c <communityname für SNMP> -v2c <IP-Adresse> <OID>
Bsp.: snmpget -c meinecommunity -v2c 10.10.10.1 .1.3.6.1.4.1.1
Die Problematik bei Cisco-Geräten ist, das jenach Model (Switch/Router) andere Betriebssysteme benutzt werden. Das CatOS (Catalyst-OS) oder das IOS (Routern/Switche). Je nach Produkt muss man hier verschiedene SNMP OIDs verwenden. Darüberhinaus hängt es von der IOS-Version ab, ob „neuere“ oder „ältere“ OID-Zweige verwendet werden.
Herausfinden kann man die OIDs für Cisco Komponenten unter folgendem Link:
http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en
Grundlagen über SNMP findet man z.B. hier: http://de.wikipedia.org/wiki/SNMP
Hier kann man nach definierten OIDs suchen oder den gesamten Baum der OIDs durchforsten nach dem richtigen Wert. Empfehlenswert ist die Suche da man dort am schnellsten zum Ziel geführt wird.
— Naqada 22.06.2006 09:42
IOS: .1.3.6.1.4.1.9.9.109.1.1.1.1.5.1 CatOS: .1.3.6.1.4.1.9.9.109.1.1.1.1.5.9
* Memory Load in %
CatOS: .1.3.6.1.4.1.9.9.48.1.2.1.2.1
BGP Session .1.3.6.1.2.1.15.3.1.2.<BGP-peerip>
Return-Wert
IOS: .1.3.6.1.4.1.9.9.13.1.(3+4).1.2.1 (Catalyst 2950-Series)
IOS: .1.3.6.1.4.1.9.9.13.1.(3+4).1.3.1 (Catalyst 2950-Series) IOS: .1.3.6.1.4.1.9.9.13.1.4.1.2.1004 (Catalyst 3750-Series)
Return-Wert
IOS: .1.3.6.1.4.1.9.9.13.1.5.1.2.1
Return-Wert
IOS: .1.3.6.1.4.1.9.9.13.1.5.1.3.1 (Catalyst 2950-Series) IOS: .1.3.6.1.4.1.9.9.13.1.5.1.2.1003 (Catalyst 3750-Series)
Return-Wert
.1.3.6.1.4.1.9.9.13.1.3.1.3.1
.1.3.6.1.4.1.9.9.13.1.3.1.6.1
* Router 3825
Stromversorgung .1.3.6.1.4.1.9.9.13.1.5.1.3.1 --> 1=ok Lüfter 1 .1.3.6.1.4.1.9.9.13.1.4.1.3.1 --> 1=ok Lüfter 2 .1.3.6.1.4.1.9.9.13.1.4.1.3.2 --> 1=ok Lüfter 3 .1.3.6.1.4.1.9.9.13.1.4.1.3.3 --> 1=ok Temperatur Gehäuse .1.3.6.1.4.1.9.9.13.1.3.1.3.1 (in °C) Temperatur CPU .1.3.6.1.4.1.9.9.13.1.3.1.3.2 (in °C) Temperatur Umgebung .1.3.6.1.4.1.9.9.13.1.3.1.3.3 (in °C)
.1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.1
1. Netzteil: .1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.2 2. Netzteil: .1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.3
.1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.5
Die Abfragen der OID's können folgende Ausgaben liefern:
1 unknown
2 bad
3 warning
4 good
5 not present
.1.3.6.1.4.1.11.2.14.11.5.1.9.6.1.0
.1.3.6.1.4.1.11..2.14.11.5.1.1.2.1.1.1.6.1
.1.3.6.1.4.1.11..2.14.11.5.1.1.2.1.1.1.7.1
Habt ihr einen gestackten Switch, fügt einfach '@sw1' (für den ersten Member) an euren Community-String (z.b. public@sw1). Für den 2. Member dann '@sw2' , und so weiter …
1.3.6.1.4.1.231.2.10.2.2.5.2.2.1.3.0.0
Die letzte Ziffer bei der OID gibt den entsprechenden Lüfter an. Je nach dem welchen Server ihr habt kann das schon mal bis .14 gehen. Überprüft werden die Prozessor-, Gehäuse- und Netzteillüfter.
3 entspricht OK
1. CPU: 1.3.6.1.4.1.231.2.10.2.2.5.2.1.1.11.0.0 2. Mainboard: 1.3.6.1.4.1.231.2.10.2.2.5.2.1.1.11.0.1
Es kommt natürlich immer darauf an welchen HP-Switch bzw. welchen FSC-Server ihr habt. Es kann sein das eure Hardware einen Teil der Sensoren nicht hat.
— Websepp 23.06.2006 9:55
.1.3.6.1.4.1.318.1.1.1.2.1.1.0 (INTEGER {unknown(1),batteryNormal(2),batteryLow(3)})
.1.3.6.1.4.1.318.1.1.1.2.2.1.0 (in %)
.1.3.6.1.4.1.318.1.1.1.2.2.4.0 (INTEGER {noBatteryNeedsReplacing(1),batteryNeedsReplacing(2)})
.1.3.6.1.4.1.318.1.1.1.2.2.2.0 (in °C)
.1.3.6.1.4.1.318.1.1.1.4.2.1.0 (in Volt)
.1.3.6.1.4.1.318.1.1.1.4.2.3.0 (in %)
.1.3.6.1.4.1.318.1.1.1.3.2.1.0 (in Volt)
.1.3.6.1.4.1.318.1.1.1.2.2.3.0
Wert muss durch 60 geteilt werden, danach erhält man z.B. den Wert 1900, dieser entspricht 19.00 Minuten.
.1.3.6.1.4.1.318.1.1.10.2.3.2.1.4.1 (in Grad Celsius)
.1.3.6.1.4.1.318.1.1.1.4.1.1.0 1 = Unknown 2 = On Line 3 = On Battery 4 = On Smart Boost 5 = Timed Sleeping 6 = Software Bypass 7 = Off 8 = Rebooting 9 = Switched Bypass 10 = Hardware Failure Bypass 11 = Sleeping Until Power Returns 12 = On Smart Trim
.1.3.6.1.4.1.705.1.5.2.0
.1.3.6.1.4.1.705.1.5.1.0
.1.3.6.1.4.1.705.1.7.3.0
.1.3.6.1.4.1.705.1.7.2.1.4.1
.1.3.6.1.4.1.705.1.12.13.0
.1.3.6.1.4.1.705.1.5.15.0
.1.3.6.1.4.1.705.1.5.11.0
.1.3.6.1.4.1.534.1.8.2.0
.1.3.6.1.4.1.534.1.2.4.0
.1.3.6.1.4.1.534.1.6.1.0
.1.3.6.1.4.1.534.1.4.4.1.2.1
.1.3.6.1.4.1.534.1.3.4.1.2.1
.1.3.6.1.4.1.534.1.4.1.0
.1.3.6.1.4.1.534.1.4.4.1.4.1
.1.3.6.1.4.1.534.1.2.1.0
.1.3.6.1.4.1.534.1.1.3.0
.1.3.6.1.4.1.4555.1.1.1.1.2.4.0
.1.3.6.1.4.1.4555.1.1.1.1.2.5.0
.1.3.6.1.4.1.4555.1.1.1.1.3.3.1.2.1 .1.3.6.1.4.1.4555.1.1.1.1.3.3.1.2.2 .1.3.6.1.4.1.4555.1.1.1.1.3.3.1.2.3
.1.3.6.1.4.1.4555.1.1.1.1.4.4.1.2.1 .1.3.6.1.4.1.4555.1.1.1.1.4.4.1.2.2 .1.3.6.1.4.1.4555.1.1.1.1.4.4.1.2.3
.1.3.6.1.4.1.4555.1.1.1.1.4.4.1.3.1 .1.3.6.1.4.1.4555.1.1.1.1.4.4.1.3.2 .1.3.6.1.4.1.4555.1.1.1.1.4.4.1.3.3
.1.3.6.1.4.1.4555.1.1.1.1.4.4.1.4.1 .1.3.6.1.4.1.4555.1.1.1.1.4.4.1.4.2 .1.3.6.1.4.1.4555.1.1.1.1.4.4.1.4.3
.1.3.6.1.4.1.11.2.3.1.1.2.0
.1.3.6.1.4.1.11.2.3.1.1.1.0
.1.3.6.1.4.1.11.2.3.1.1.7.0
.1.3.6.1.4.1.11.2.3.1.1.8.0
.1.3.6.1.4.1.11.2.3.1.1.12.0
.1.3.6.1.4.1.11.2.3.1.1.3.0
.1.3.6.1.4.1.11.2.3.1.1.4.0
.1.3.6.1.4.1.11.2.3.1.1.5.0
.1.3.6.1.4.1.11.2.3.1.1.13.0
.1.3.6.1.4.1.11.2.3.1.1.14.0
.1.3.6.1.4.1.11.2.3.1.1.15.0
.1.3.6.1.4.1.11.2.3.1.1.16.0
CPU load in % kann man ausrechnen:
NiceCPU + IdleCPU + UserCPU + SystemCPU=x (100%)
SystemCPU% = SystemCPU/x*100
UserCPU% = UserCPU/x*100 usw.
.1.3.6.1.4.1.795.14.1.400.1.1.11.X (X steht für die Festplatten ID)
.1.3.6.1.4.1.795.14.1.1000.1.1.11.X (X steht für die Raid ID)
1 unknown 2 other 3 okay 4 warning 5 failure
$USER1$/check_snmp -H $HOSTADDRESS$ -C public -o 1.3.6.1.4.1.795.14.1.400.1.1.11.$ARG1$ -r 3 -l 'Festplatte mit ID $ARG1$'
unter Solaris mit Sun Management Agent
CPU 0 Junction Temperature Sensor .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.69 CPU 1 Junction Temperature Sensor .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.70 Enclosure Temperature Sensor .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.71
Enclosure Fan 0 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.81 Enclosure Fan 1 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.82 Enclosure Fan 2 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.83 CPU 0 Fan 0 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.84 CPU 0 Fan 1 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.85 CPU 1 Fan 0 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.86 CPU 1 Fan 1 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.87
PS 0 Fan Underspeed Fault Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.91 PS 1 Fan Underspeed Fault Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.92 PS 0 Power Inlet Presence Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.95 PS 1 Power Inlet Presence Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.98 PS 0 Over-Temperature Fault Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.99 PS 1 Over-Temperature Fault Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.100
unter Solaris mit Sun Management Agent
CPU0 Junction Temperature Sensor .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.85 CPU1 Junction Temperature Sensor .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.86 Enclosure Temperature Sensor 0 .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.87 Enclosure Temperature Sensor 1 .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.88 Enclosure Temperature Sensor 2 .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.89 Enclosure Temperature Sensor 3 .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.90 Enclosure Temperature Sensor 4 .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.92 Enclosure Temperature Sensor 5 .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.93 Enclosure Temperature Sensor 6 .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.94 Environment Temperature Sensor .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.91
Tray 0 Fan 0 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.95 Tray 0 Fan 1 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.96 Tray 1 Fan 0 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.97 Tray 1 Fan 1 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.98 CPU 0 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.99 CPU 1 Tachometer .1.3.6.1.4.1.42.2.70.101.1.1.8.1.4.100
PS0 Fan Underspeed Fault Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.105 PS1 Fan Underspeed Fault Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.106 PS 0 Power Inlet Presence Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.109 PS 1 Power Inlet Presence Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.112 PS 0 Over-Temperature Fault Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.113 PS 1 Over-Temperature Fault Monitor .1.3.6.1.4.1.42.2.70.101.1.1.7.1.1.114
Stromversorgung 0 .1.3.6.1.4.1.42.2.180.3320.1.1.9.1.13.1 Stromversorgung 1 .1.3.6.1.4.1.42.2.180.3320.1.1.9.1.13.2
DKC Serial .1.3.6.1.4.1.116.5.11.4.1.1.6.1.1
DKU Serial .1.3.6.1.4.1.116.5.11.4.1.1.7.1.1
(Statuswert 1=ok)
DKC Battery .1.3.6.1.4.1.116.5.11.4.1.1.6.1.7 DKC Fan .1.3.6.1.4.1.116.5.11.4.1.1.6.1.8 DKC Cache .1.3.6.1.4.1.116.5.11.4.1.1.6.1.4 DKC CPU .1.3.6.1.4.1.116.5.11.4.1.1.6.1.2 DKC Power .1.3.6.1.4.1.116.5.11.4.1.1.6.1.6 DKC Shared Mem .1.3.6.1.4.1.116.5.11.4.1.1.6.1.5
(Statuswert 1=ok)
DKU Drive .1.3.6.1.4.1.116.5.11.4.1.1.7.1.5 DKU Fan .1.3.6.1.4.1.116.5.11.4.1.1.7.1.3 DKU Power .1.3.6.1.4.1.116.5.11.4.1.1.7.1.2
Uptime .1.3.6.1.2.1.1.3.0
Stromversorgung A .1.3.6.1.4.1.2745.11.3.1.4.1.1.5.1.576 --> 1=ok Stromversorgung B .1.3.6.1.4.1.2745.11.3.1.4.1.1.5.1.640 --> 1=ok Gehäusetemperatur .1.3.6.1.4.1.2745.11.3.1.7.1.1.5.1.205520896.205520897 (in °C) (Mgt.-Modul in Slot 17)
fnSysModel .1.3.6.1.4.1.12356.1.1 FortiGate model number fnSysSerial .1.3.6.1.4.1.12356.1.2 FortiGate Unit Serial Number fnSysVersion .1.3.6.1.4.1.12356.1.3 The Firmware currently RUNNING on the unit fnSysVersionAv .1.3.6.1.4.1.12356.1.4 The Antivirus version on the unit fnSysVersionNids .1.3.6.1.4.1.12356.1.5 The Attack definition version on the unit fnSysHaMode .1.3.6.1.4.1.12356.1.6 The current FortiGate HA Mode fnSysOpMode .1.3.6.1.4.1.12356.1.7 The current FortiGate operation mode fnSysCpuUsage .1.3.6.1.4.1.12356.1.8 The current CPU usage in percent <==== fnSysMemUsage .1.3.6.1.4.1.12356.1.9 The current memory utilization in percent <==== fnSesCount .1.3.6.1.4.1.12356.1.10 The current IP session count <==== fnSysDiskCapacity .1.3.6.1.4.1.12356.1.11 The HDD Size in MB fnSysDiskUsage .1.3.6.1.4.1.12356.1.12 The HDD usage in MB fnSysMemCapacity .1.3.6.1.4.1.12356.1.13 The current installed memory in KB
Uptime .1.3.6.1.2.1.1.3.0 Peers .1.3.6.1.4.1.272.4.26.10.36.0 Active IPSec Tunnels CPU-Idle .1.3.6.1.4.1.272.4.17.4.1.1.18.1.0
CPU Load in % .1.3.6.1.4.1.2356.600.3.154.1.47.3 Used Memory (bytes) .1.3.6.1.4.1.2356.600.3.154.1.47.4 Free Memory (bytes) .1.3.6.1.4.1.2356.600.3.154.1.47.5
Connection Status to SRP Router 1.3.6.1.4.1.3530.5.25.1.10.1 Blackberry Server Version 1.3.6.1.4.1.3530.5.20.1.10.1 Pending Mails 1.3.6.1.4.1.3530.5.25.1.301.1 SendMessage per Min. 1.3.6.1.4.1.3530.5.25.1.207.1 Receive Message per Min. 1.3.6.1.4.1.3530.5.25.1.208.1 Used licenses 1.3.6.1.4.1.3530.5.50.1.38.1 Free licenses 1.3.6.1.4.1.3530.5.50.1.37.1 Max. licenses 1.3.6.1.4.1.3530.5.50.1.36.1
Ambient Temperatur .1.3.6.1.4.1.2.3.51.3.1.1.2.1.3.1 Fan 1A Drehzahl in % .1.3.6.1.4.1.2.3.51.3.1.3.2.1.3.1 Fan 1B Drehzahl in % .1.3.6.1.4.1.2.3.51.3.1.3.2.1.3.2 Fan 2A Drehzahl in % .1.3.6.1.4.1.2.3.51.3.1.3.2.1.3.3 Fan 2B Drehzahl in % .1.3.6.1.4.1.2.3.51.3.1.3.2.1.3.4 Fan 3A Drehzahl in % .1.3.6.1.4.1.2.3.51.3.1.3.2.1.3.5 Fan 3B Drehzahl in % .1.3.6.1.4.1.2.3.51.3.1.3.2.1.3.6 Netzteil_01 (Power Supply 1) .1.3.6.1.4.1.2.3.51.3.1.5.18.1.5.1 Netzteil_02 (Power Supply 2) .1.3.6.1.4.1.2.3.51.3.1.5.18.1.5.2 HDD_Backplane_01 (DASD Backplane 1) .1.3.6.1.4.1.2.3.51.3.1.5.18.1.5.3 HDD_Backplane_02 (DASD Backplane 2) .1.3.6.1.4.1.2.3.51.3.1.5.18.1.5.4 Seriennummer .1.3.6.1.4.1.2.3.51.3.3.3.1.0 Standort .1.3.6.1.4.1.2.3.51.3.3.4.2.1.3.0 Server online Time .1.3.6.1.2.1.25.1.1.0