You are on page 1of 19

SNMP

Monitorizacin de redes y servicios

Juan F. Illn

vercodigofuente.com

ndice
Prologo Evolucin Modos de Funcionamiento Primitivas SNMP rbol de atributos MIB Practicas Conclusin

Prologo
Es un protocolo de la capa de aplicacin qu facilita el intercambio de informacin entre dispositivos de red. Permite a los administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento. Definido en los estndares: RFC 1157 (SNMP, 1990), RFC 3410 (SNMPv3, 2002) Conocer el protocolo SNMP y su utilizacin. Realizar una configuracin bsica SNMP en una pequea red Utilizar un software para la monitorizacin y almacenamiento de la informacin de la red en un repositorio central para la generacin de graficas que faciliten su anlisis.

Evolucin
Existen actualmente 3 versiones:

SNMPv1 (1990)

SNMPv2 (1993)

No tiene Autenticacin. Tan solo hay que conocer el valor de community usado que adems se comunica sin ningn cifrado. Autenticacin Es compatible con la versin anterior. Incluyen nuevos mensajes, nuevos errores, mejora el desempeo en la comunicacin de grandes paquetes de datos No reemplaza a las versiones anteriores, ms bien aade mecanismo de autenticacin y cifrado a ambas versiones mediante una cabecera adicional en el mensaje SNMP.

SNMPv3 (2002)

Modos de funcionamiento
Mediante sondeo. UDP 161

La iniciativa es del equipo de administracin Se recupera el valor de cada variable en cada muestreo pero no que ha pasado entre 2 muestreos. La iniciativa parte del equipo administrado tras cierta condicin. Por ejemplo aviso si el valor de ocupacin del disco es superior al 80% Ante una cada de la comunicacin no llegara la alerta al equipo de administracin. Es bueno realizar sondeos con el fin de tener grficas sobre determinados valores. Es bueno implementar alertas para detectar rpidamente determinados problemas

Mediante mensajes (trap). UDP 162

Mixto

Primitivas SNMP
1. 2. 3. 4. 5. 6. 7. 8.

GET REQUEST GET NEXT REQUEST GET BULK REQUEST (en SNMP v2) SET REQUEST SET NEXT REQUEST GET RESPONSE TRAP INFORM REQUEST (en SNMP v2)

rbol de atributos MIB

Prcticas
Vamos a instalar 2 mquinas con snmp.

Ubuntu1 (Adems instalaremos cacti) Ubuntu2

Prcticas

Instalacin Configuracin Consultas SNMP de atributos MIB Monitorizacin y consulta de grficas


Ubuntu1 va a generar grficas de monitoreo de la red de ubuntu1 y ubuntu2 obteniendo los datos va snmp

Seales trap
Desde ubuntu2 enviaremos traps a ubuntu1

Prctica 1. Instalacin
Entorno de software empleado

Sistema con kernel 2.6. Ubuntu, concretamente Ubuntu 10.04 server i386

Instalacin SNMP en ubuntu1 y ubuntu2

sudo apt-get install snmp snmpd snmptrapfmt

Instalacin cacti en ubuntu1


sudo apt-get install cacti-spine En http://ubuntu1/cacti se finaliza la configuracin.


Usuario: admin Password: admin Seleccionaremos como poller: spine

Prctica 2. Configuracin
ubuntu1 y ubuntu2
Habilitar acceso remoto a los datos snmp + Ver todo MIB. Lo hago para ver datos de las interfaces. Editar los siguientes ficheros.
/etc/snmp/snmpd.conf
Antes com2sec paranoid default public Despues com2sec readonly default public com2sec readonly 192.168.2.0/24 public Antes view all included .1 80 view system included .1.3.6.1.2.1.1 Despues view all included .1 80 view system included .1

/etc/default/snmpd
Antes SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1' Despues SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

Prctica 3. Consultas SNMP


Reiniciar Servicios en Ubuntu1 y Ubuntu2

/etc/init.d/snmpd restart snmpwalk -v 2c -c public localhost snmpwalk -v 2c -c public ubuntu2


snmpget -v 2c -c public localhost system.sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2252152) 6:15:21.52 snmpwalk -v 2c -c public localhost system.sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2259456) 6:16:34.56 snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.1.3.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2278387) 6:19:43.87

Muestra toda la informacin del rbol MIB


Muestra el valor de un atributo concreto


Obtener OID de un atributo

snmptranslate -On SNMPv2-MIB::system.sysUpTime.0 .1.3.6.1.2.1.1.3.0

snmptranslate -Tp -IR system

Prctica 3. Consultas SNMP (2)

Prctica 4. Grficas (1)


Cacti

Permite generar grficas ayudadose de RRDTool RRDTool trabaja con datos almacenados en un buffer circular de una determinada duracin, por ejemplo 1 ao. Los datos se recopilan mediante un cron que realiza sondeos a los equipos administrados Entre otros modos de obtener la informacin de los host, cacti permite obtener informacin va SNMP Permite hacer zoom en las grficas Permite obtener en CSV los datos de los muestreos

Prctica 4. Grficas (2)


Crear un device. Pulsar add en la pantalla de device

Hostname: ubuntu1 o ubuntu2 Host Template: Usaremos Generic / SNMP o ucd/net SNMP
ucd/net SNMP tiene algunas plantillas de grficos

Downed Device Detection: UDP Ping SNMP


Versin: v2 Community: public

Crear grfica. Pulsar Create Graphs for this Host

Seleccionaremos la interfaz del equipo que vamos a monitorizar.


La lista de interfaces ha sido obtenida va SNMP Interface Statistics

Marcamos y aadimos las grficas en Graph Template Based:


ucd/net - CPU Usage ucd/net - Load Average ucd/net - Memory Usage

Crear grfica mediante el OID.

Usaremos el tipo de grfica SNMP Generic OID Template

Prctica 4. Grficas (3)


Devices para aadir nuevos equipos/dispositivos Graph Management para administrar las graficas Graph Trees para configurar la vista del arbol de graficas

Prctica 2. Configuracin (2)


Ubuntu1 Configuramos la recepcin de trap /etc/snmp/snmptrapd.conf
authCommunity log,execute,net public logOption f /var/log/snmptrapd.log traphandle default /usr/sbin/snmptrapfmt

Copiamos el script a /etc/init.d/


#!/bin/bash snmptrapd -a -C -A -c /etc/snmp/snmptrapd.conf

Ejecutamos el servidor Ubuntu1 (demonio de recepcin de Trap's)


/usr/sbin/snmptrapd -f -C -a -A -c /etc/snmp/snmptrapd.conf (comprobar con ps -aux | grep snmptrapd)

Prctica 5. Trap (1)


Comprobamos en Ubuntu2 lanzar un trap
# snmptrap -v 1 -c public Ubuntu1 .1.3.6.1.4.1.637.64.0.10.1.2 192.168.42.234 6 3 1000 1.3.6.1.4.1.637.64.0.10.1.2.3 i 2 # snmptrap -v 2c -c public Ubuntu1 "" NET-SNMP-EXAMPLESMIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 123456

Observamos como el trap aparece en el servidor que lo recibe


cat /var/log/snmptrapd.log NET-SNMP version 5.4.2.1 eeePc-2.local [UDP: [192.168.0.11]:37177]: Trap , DISMAN-EVENTMIB::sysUpTimeInstance = Timeticks: (224441) 0:37:24.41, SNMPv2MIB::snmpTrapOID.0 = OID: NET-SNMP-MIB::netSnmp.2.3.0.1, NETSNMP-MIB::netSnmp.2.3.2.1 = INTEGER: 123456

Prctica 5. Trap (2)


Podemos configurar el Agente SNMP (snmpd) en /etc/snmp/snmpd.conf para auto-generar TRAPS y enviarlas al equipo de gestion de la red Para usar nombres MIB es necesario descargarlos o generarlos y copiarlos a los directorios

/usr/local/share/snmp/mibs $home/.snmp/

Conclusin
Para los monitorear fuera del segmento de red necesitamos RMON.
Se basa en el desplegu de agentes que recopilan informacin con SNMP en cada segmento de red y mandan la informacin a un servidor central. SNMP es un estndar y es soportado por casi todos lo S.O. y hardware tales como impresoras, router, etc Su desarrollo es lento en relacin con las velocidad que otros productos comerciales se desarrollan Cacti, Nagios, son ejemplos de software de monitoreo de redes y servicios.

Estos otros productos pueden ser capaces de monitorizar mayor numero de variables que las monitorizadas por el estndar SNMP, por lo que sus clientes para los distintos sistemas operativos son capaces de monitorizar otro tipo de variables interesantes segn el mbito. En general, monitorizaremos todo aquello que nos interese mezclando los protocolos necesarios.