Benutzer-Werkzeuge

Webseiten-Werkzeuge


ueberwachung_des_chassis-zustands_via_snmp

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

ueberwachung_des_chassis-zustands_via_snmp [2014/06/18 21:59] (aktuell)
benny angelegt
Zeile 1: Zeile 1:
 +Überwachung des Chassis-Zustands via SNMP
 +
 +====== In diesem Beitrag geht es darum per SNMP den Chassis-Zustand zu überwachen ======
 +
 +Dieser Beitrag wurde auf Basis der folgenden Hardware und AOS-Software erstellt:
 +<code>
 +OS6850E-> show chassis 
 +
 +Chassis 1
 +  Model Name:                    OS6850E-24X,
 +  Description:                   24 G  2 10G,
 +  Part Number:                   902937-90,
 +  Hardware Revision:             04,
 +  Serial Number:                 L48xxxxx,
 +  Manufacture Date:              DEC 04 2010,
 +  Admin Status:                  POWER ON,
 +  Operational Status:            UP,
 +  Number Of Resets:              114
 +  MAC Address:                   00:e0:b1:xx:xx:xx,
 +
 +
 +OS6850E-> show microcode 
 +   Package           Release       Size     Description
 +-----------------+---------------+--------+-----------------------------------
 +Kbase.img         6.4.4.645.R01   18674195 Alcatel-Lucent Base Software
 +Kadvrout.img      6.4.4.645.R01    2882154 Alcatel-Lucent Advanced Routing
 +K2os.img          6.4.4.645.R01    1959309 Alcatel-Lucent OS
 +Keni.img          6.4.4.645.R01    5791055 Alcatel-Lucent NI software
 +Ksecu.img         6.4.4.645.R01     649854 Alcatel-Lucent Security Management
 +Kencrypt.img      6.4.4.645.R01       3437 Alcatel-Lucent Encryption Management
 +</code>
 +
 +Zu allererst sollte ein Benutzer angelegt werden mit dem SNMP verwendet wird:
 +<code>
 +OS6850E-> user snmp password snmp12345 no auth read-write all 
 +OS6850E-> show user 
 +User name = snmp,
 +  Password expiration     = None,
 +  Password allow to be modified date     = None,
 +  Account lockout     = None,
 +  Password bad attempts     = 0,
 +  Read Only for domains   = None,
 +  Read/Write for domains  = All ,
 +  Snmp allowed     = YES,
 +  Snmp authentication     = NONE,
 +  Snmp encryption     = NONE,
 +  Console-Only    = Disabled
 +</code>
 +<WRAP center round tip 60%>
 +In produktiven Netzwerken empfehlen wir den Einsatz von SNMPv3!
 +</WRAP>
 +
 +Den SNMPv2 Zugriff mit der Community "public" aktivieren:
 +<code>
 +OS6850E-> snmp community map public user snmp enable 
 +</code>
 +
 +Die Authentifizierung von Benutzern gegen die lokale Benutzerdatenbank aktivieren:
 +<code>
 +OS6850E-> aaa authentication default local 
 +OS6850E-> show aaa authentication 
 +Service type = Default
 +  1rst authentication server = local
 +Service type = Console
 +  1rst authentication server = local
 +Service type = Telnet
 +  Authentication = Use Default,
 +  1rst authentication server = local
 +Service type = Ftp
 +  Authentication = Use Default,
 +  1rst authentication server = local
 +Service type = Http
 +  Authentication = Use Default,
 +  1rst authentication server = local
 +Service type = Snmp
 +  Authentication = Use Default,
 +  1rst authentication server = local
 +Service type = Ssh
 +  Authentication = Use Default,
 +  1rst authentication server = local
 +</code>
 +<WRAP center round tip 60%>
 +In produktiven Netzwerken empfehlen wir den Einsatz von RADIUS-Authentifizierung.
 +</WRAP>
 +
 +Da wir den Switch irgendwie erreichen müssen, erstellen wir ein IP-Interface:
 +<code>
 +OS6850E-> ip interface vlan-1 address 192.168.10.1/24 vlan 1
 +</code>
 +
 +Ein kurzer Test per snmpwalk zeigt dass SNMP funktioniert und wir die Werte abfragen können:
 +<code>
 +localhost:~ MichaelS$ snmpwalk -v 2c -c public 192.168.10.1
 +SNMPv2-MIB::sysDescr.0 = STRING: Alcatel-Lucent OS6850E-24X 6.4.4.645.R01 Service Release, September 24, 2013.
 +SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.6486.800.1.1.2.1.7.1.47
 +DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (174639100) 20 days, 5:06:31.00
 +SNMPv2-MIB::sysContact.0 = STRING: Alcatel-Lucent, http://alcatel-lucent.com/wps/portal/enterprise
 +SNMPv2-MIB::sysName.0 = STRING: OS6850E-24X
 +SNMPv2-MIB::sysLocation.0 = STRING: Showroom Stuttgart
 +SNMPv2-MIB::sysServices.0 = INTEGER: 78
 +IF-MIB::ifNumber.0 = INTEGER: 41
 +IF-MIB::ifIndex.1001 = INTEGER: 1001
 +...
 +</code>
 +
 +Für die Abfrage des Chassis-Zustands müssen wir erst die zugehörige MIB finden. 
 +
 +===== Temperatur =====
 +Im Falle der Chassis-Temperatur finden wir die MIB über den "Alcatel-Lucent OmniSwitch AOS 6.4.4.R01 CLI Reference Guide" indem wir das zugehörige CLI-Kommando nachschlagen das wir per SNMP ausführen möchten:
 +<code>
 +show temperature [number]
 +...
 +MIB Objects
 +chasChassisTable
 +   chasHardwareBoardTemp
 +</code>
 +
 +Über den alcatel.tree welcher im MIB-Archiv zu jedem Release vorhanden ist finden wir leicht die dazugehörige OID:
 +<code>
 +1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.4            chasHardwareBoardTemp            LEAF  INTEGER
 +</code>
 +
 +Diese OID fügen wir dann der SNMP-Abfrage hinzu:
 +<code>
 +localhost:~ MichaelS$ snmpwalk -v 2c -c public 192.168.10.1 1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.4
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.3.1.1.3.1.4.569 = INTEGER: 32
 +</code>
 +
 +<WRAP center round important 60%>
 +Die Abfrage dieser OID funktioniert nur per SNMPWALK, da nach der OID noch die Entity spezifiert ist.
 +Alternativ kann bei einer SNMPGET Abfrage die Entity mit angehängt werken:
 +</WRAP>
 +
 +<code>
 +localhost:~ MichaelS$ snmpget -v 2c -c public 192.168.10.1 1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.4.569
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.3.1.1.3.1.4.569 = INTEGER: 32
 +</code>
 +
 +Dieser Status lässt sich auch über die CLI kontrollieren:
 +<code>
 +OS6850E-> show temperature 
 +
 +Temperature for chassis 1
 +  Hardware Board Temperature (deg C)               = 32,
 +  Temperature Upper Threshold Range (deg C)        = 16 to 74,
 +  Temperature Upper Threshold (deg C)              = 60,
 +  Temperature Status                               = UNDER THRESHOLD,
 +  Temperature Danger Threshold (deg C)             = 74
 +</code>
 +
 +===== CPU =====
 +Auch die zugehörige MIB zur CPU-Auslastung findet sich über oben beschriebenen Weg über den CLI-Guide:
 +<code>
 +show health [slot/port] [statistics]
 +...
 +MIB Objects
 +healthModuleTable
 +   ...
 +   healthModuleCpuLatest
 +</code>
 +
 +Über den alcatel.tree findet sich auch hier die dazugehörige OID:
 +<code>
 +1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.14        healthModuleCpuLatest            LEAF  INTEGER
 +</code>
 +
 +Diese OID fügen wir dann der SNMP-Abfrage hinzu:
 +<code>
 +localhost:~ MichaelS$ snmpwalk -v 2c -c public 192.168.10.1 1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.14
 +SNMPv2-SMI::enterprises.6486.800.1.2.1.16.1.1.2.1.1.14.1 = INTEGER: 23
 +</code>
 +
 +<WRAP center round important 60%>
 +Auch hier gilt oben beschriebener Hinweis zu SNMPGET und entsprechender Entity
 +</WRAP>
 +
 +
 +Dieser Status lässt sich auch über die CLI kontrollieren:
 +<code>
 +OS6850E-> show health
 +* - current value exceeds threshold
 +
 +Device                          1 Min  1 Hr  1 Hr
 +Resources          Limit   Curr   Avg    Avg   Max  
 +-----------------+-------+------+------+-----+---- 
 +Receive              80     01     01    01    01  
 +Transmit/Receive     80     01     01    01    01  
 +Memory               80     51     51    51    51  
 +Cpu                  80     25     26    21    53  
 +</code>
 +
 +<WRAP center round tip 60%>
 +Die aktuelle CPU-Auslastung ändert sich häufiger, daher kann wie oben dargestellt durch die zeitliche Differenz zwischen SNMP- und CLI-Abfrage auch eine Differenz der ausgelesenen Werte auftreten
 +</WRAP>
 + 
 +
 +===== Netzteile =====
 +Bei der Abfrage der Netzteile und deren Status müssen wir über die Entity-MIB die einzelnen Instanzen finden, um deren Status abfragen zu können:
 +
 +Innerhalb der Entity-MIB gibt es zum einen die PhysicalClass, über welche sich der Typ der Instanz herausgefunden werden kann:
 +
 +<code>
 +PhysicalClass ::= TEXTUAL-CONVENTION
 +    STATUS            current
 +    DESCRIPTION
 +            "An enumerated value which provides an indication of the
 +            general hardware type of a particular physical entity.
 +            There are no restrictions as to the number of
 +            entPhysicalEntries of each entPhysicalClass, which must be
 +            instantiated by an agent.
 +            ...
 +
 +    SYNTAX      INTEGER  {
 +           other(1),
 +           unknown(2),
 +           chassis(3),
 +           backplane(4),
 +           container(5),     -- e.g., chassis slot or daughter-card holder
 +           powerSupply(6),
 +           fan(7),
 +           sensor(8),
 +           module(9),        -- e.g., plug-in card or daughter-card
 +           port(10),
 +           stack(11)         -- e.g., stack of multiple chassis entities
 +    }
 +</code>
 +
 +Über die Suche nach PhysicalClass im alcatel.tree finden wir die passende OID für die Abfrage der Werte:
 +<code>
 +1.3.6.1.2.1.47.1.1.1.1.5                          entPhysicalClass            LEAF  PhysicalClass
 +</code>
 +
 +Angewendet durch ein SNMPWALK auf dem OmniSwitch erhalten wir folgendes Ergebnis:
 +<code>
 +localhost:~ MichaelS$ snmpwalk -v 2c -c public 192.168.10.1 1.3.6.1.2.1.47.1.1.1.1.5
 +SNMPv2-SMI::mib-2.47.1.1.1.1.5.1 = INTEGER: 9
 +SNMPv2-SMI::mib-2.47.1.1.1.1.5.65 = INTEGER: 9
 +SNMPv2-SMI::mib-2.47.1.1.1.1.5.97 = INTEGER: 6
 +SNMPv2-SMI::mib-2.47.1.1.1.1.5.98 = INTEGER: 6
 +SNMPv2-SMI::mib-2.47.1.1.1.1.5.154 = INTEGER: 10
 +SNMPv2-SMI::mib-2.47.1.1.1.1.5.155 = INTEGER: 10
 +SNMPv2-SMI::mib-2.47.1.1.1.1.5.569 = INTEGER: 3
 +</code>
 +
 +Dadurch erkennen wir, dass die IDs 97 und 98 für das primäre bzw. sekundäre Netzteil stehen.
 +
 +Alternativ oder zusätzlich kann über den PhysicalName die Bezeichnung der jeweiligen Entity geprüft werden. Auch hierzu findet sich die passende OID über den alcatel.tree:
 +<code>
 +1.3.6.1.2.1.47.1.1.1.1.7                          entPhysicalName            LEAF  SnmpAdminString
 +</code>
 +
 +Angewendet durch ein SNMPWALK auf dem OmniSwitch erhalten wir folgendes Ergebnis:
 +<code>
 +localhost:~ MichaelS$ snmpwalk -v 2c -c public 192.168.10.1 1.3.6.1.2.1.47.1.1.1.1.7
 +SNMPv2-SMI::mib-2.47.1.1.1.1.7.1 = STRING: "NI-1"
 +SNMPv2-SMI::mib-2.47.1.1.1.1.7.65 = STRING: "CMM-A"
 +SNMPv2-SMI::mib-2.47.1.1.1.1.7.97 = STRING: "PS-1"
 +SNMPv2-SMI::mib-2.47.1.1.1.1.7.98 = STRING: "PS-2"
 +SNMPv2-SMI::mib-2.47.1.1.1.1.7.154 = STRING: "port"
 +SNMPv2-SMI::mib-2.47.1.1.1.1.7.155 = STRING: "port"
 +SNMPv2-SMI::mib-2.47.1.1.1.1.7.569 = STRING: "Virtual Chassis"
 +</code>
 +
 +Hier erkennen wir ebenfalls, dass die IDs 97 und 98 für das primäre bzw. sekundäre Netzteil stehen.
 +
 +<WRAP center round tip 60%>
 +Auch bei der Abfrage von Temperatur und CPU-Auslastung haben wir diese IDs durch die Nutzung von SNMPWALK erkannt. Allerdings waren diese beiden Werte jeweils nur auf eine Entity bezogen.
 +</WRAP>
 +
 +
 +Mit diesen ID-Informationen kann nun über die AlcatelIND1Chassis.mib der Status der Netzteile abgefragt werden:
 +
 +<code>
 +chasEntPhysOperStatus OBJECT-TYPE
 + SYNTAX INTEGER
 + {
 + up(1),
 + down(2),
 + testing(3),
 + unknown(4),
 + secondary(5),
 + notPresent(6),
 + unpowered(7),
 + master(8)
 + }
 + ...
 +</code>
 +
 +Über den alcatel.tree suchen wir die passende OID:
 +<code>
 +1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2              chasEntPhysOperStatus            LEAF  INTEGER
 +</code>
 +
 +Nun gibt es zwei Möglichkeiten der Abfrage, entweder per SNMPWALK oder per SNMPGET auf die einzelnen Netzteil-Entities:
 +
 +<code>
 +localhost:~ MichaelS$ snmpwalk -v 2c -c public 192.168.10.1 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.1.1.1.1.2.1 = INTEGER: 1
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.1.1.1.1.2.65 = INTEGER: 1
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.1.1.1.1.2.97 = INTEGER: 1
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.1.1.1.1.2.98 = INTEGER: 1
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.1.1.1.1.2.154 = INTEGER: 1
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.1.1.1.1.2.155 = INTEGER: 1
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.1.1.1.1.2.569 = INTEGER: 1
 +</code>
 +
 +<code>
 +localhost:~ MichaelS$ snmpwalk -v 2c -c public 192.168.10.1 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2.97
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.1.1.1.1.2.97 = INTEGER: 1
 +
 +localhost:~ MichaelS$ snmpwalk -v 2c -c public 192.168.10.1 1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2.98
 +SNMPv2-SMI::enterprises.6486.800.1.1.1.1.1.1.1.2.98 = INTEGER: 1
 +</code>
  
ueberwachung_des_chassis-zustands_via_snmp.txt · Zuletzt geändert: 2014/06/18 21:59 von benny