lunes, 5 de marzo de 2012

SNMP: Configurando monitorización y alertas en equipos cisco

Una de esas cosas básicas que debería tener cualquier red medio decente es monitorización, y para ello se utiliza SNMP.

SNMP es algo bastante sencillo, consiste en un servidor que cada x tiempo se conecta a una serie de direcciones ip que tiene almacenadas, y extrae información de varios parámetros, como por ejemplo la CPU usada en el router, el porcentaje de uso de una interfaz...etc.

Para hacer esto utiliza MIBs, que permiten extraer los parámetros requeridos de cada dispositivo de cada fabricante, por ejemplo para saber cual es el uso de CPU de un router se utiliza una MIB, en cambio para saber la ocupación de disco duro de un pc con windows 7 se utilizara otra.

Un servidor de SNMP solo se puede conectar a un dispositivo por SNMP si en el dispositivo hay un agente de SNMP corriendo, y aquí veremos como configurar el agente SNMP en un disitivo cisco con ios.



Lo primero que debe hacerse para habilitar snmp es activar una community string, la community va a ser una especie de password que va a tener el dispositivo para poder conectarse a el por SNMP, se pueden configurar varias, y se puede regular lo que se puede hacer con cada community, si queremos que la community solo permita leer el estado del router pero no modificarlo deberemos crear una commmunity de lectura, si ademas queremos permitir que desde el servidor de SNMP se modifique la configuración del equipo deberemos crear una community de escritura.

Router(config)#snmp-server community SuPeRsEcRetO ?
  <1-99>       Std IP accesslist allowing access with this community string
  <1300-1999>  Expanded IP accesslist allowing access with this community
               string
  WORD         Access-list name
  ipv6         Specify IPv6 Named Access-List
  ro           Read-only access with this community string
  rw           Read-write access with this community string
  view         Restrict this community to a named MIB view

Como se puede ver el comando es muy sencillo, con ro para solo lectura, rw para lectura y escritura, y además podemos o mas bien debemos crear una ACL en la que restringiremos los equipos que pueden consultar por SNMP el estado del disposivivo.

Una vez metido este comando ya tenemos la funcionalidad básica de SNMP, tenemos una community y nuestro equipo ya debería ser accesible por SNMP.

Ahora vamos a habilitar otras cosillas útiles, como por ejemplo habilitar eventos que automáticamente hagan que nuestro dispositivo lance información SNMP a un servidor de monitorización

snmp-server enable traps snmp linkdown linkup <---- Si se cae o levanta una interfaz avísame
snmp-server enable traps cpu threshold <---- Avísame si la cpu sobrepasa un umbra
process cpu threshold type total rising 80 interval 60 <---- El umbral es el 80% de CPU, se comprueba cada 60 segundos y si se sobrepasa se envía un trap.

snmp-server host 155.1.146.100 SuPeRsEcRetO <---- el host al que envío los traps de  SNMP y la comuunity con la que lo hago


¿Sobre que cosas se pueden enviar traps de SNMP?

Router(config)#snmp-server enable traps ?  
  atm            Enable SNMP atm traps
  bgp            Enable BGP traps
  bstun          Enable SNMP BSTUN traps
  casa           Enable SNMP casa traps
  cnpd           Enable NBAR Protocol Discovery traps
  config         Enable SNMP config traps
  config-copy    Enable SNMP config-copy traps
  cpu            Allow cpu related traps
  dial           Enable SNMP dial control traps
  dlsw           Enable SNMP dlsw traps
  dnis           Enable SNMP DNIS traps
  ds0-busyout    Enable ds0-busyout traps
  ds1            Enable SNMP DS1 traps
  ds1-loopback   Enable ds1-loopback traps
  ds3            Enable SNMP DS3 traps
  dsp            Enable SNMP dsp traps
  eigrp          Enable SNMP EIGRP traps
  entity         Enable SNMP entity traps
  envmon         Enable SNMP environmental monitor traps
  event-manager  Enable SNMP Embedded Event Manager traps
  flash          Enable SNMP FLASH notifications
  frame-relay    Enable SNMP frame-relay traps
  hsrp           Enable SNMP HSRP traps
  icsudsu        Enable SNMP ICSUDSU traps
  ipmobile       Enable SNMP ipmobile traps
  ipmulticast    Enable SNMP ipmulticast traps
  ipsec          Enable IPsec traps
  isakmp         Enable ISAKMP traps traps
  isdn           Enable SNMP isdn traps
  l2tun          Enable SNMP L2 tunnel protocol traps
  msdp           Enable SNMP MSDP traps
  mvpn           Enable Multicast Virtual Private Networks traps
  ospf           Enable OSPF traps
  pim            Enable SNMP PIM traps
  pppoe          Enable SNMP pppoe traps
  rsvp           Enable RSVP flow change traps
  rtr            Enable SNMP Response Time Reporter traps
  snmp           Enable SNMP traps
  stun           Enable SNMP STUN traps
  syslog         Enable SNMP syslog traps
  tty            Enable TCP connection traps
  voice          Enable SNMP voice traps
  vrrp           Enable SNMP vrrp traps
  vtp            Enable SNMP VTP traps
  xgcp           Enable XGCP protocol traps

Como se puede ver se puede configurar traps sobre muchas cosas, pero mi recomendación es no pasarse configurando traps, porque si tienes demasiada información en el el servidor de SNMP al final nadie le hace ni caso, mejor solo monitorizar cosas importantes.






Por último os dejo un link en la web de cisco, por si un día os toca monitorizar algo para lo que no teneis la mib, es el mib locator, donde con paciencia podeis encontrar la mib para monitorizar todo lo que se pueda monitorizar en un dispositivo de cisco.

http://tools.cisco.com/ITDIT/MIBS/servlet/index

No hay comentarios:

Publicar un comentario en la entrada