martes, 31 de marzo de 2009

SNMP

Introduccion



El Simple Network Managment Protocol (SNMP) es un protocolo de la capa de aplicacion el cual facilita el intercambio de informacion entre los dispositivos de la red, es parte del Transmission Control Protocol/Internet Protocol (TCP/IP).
El protocolo SNMP fue desarrollado en 1988 y se ha convertido en el estandar por defecto para el manejo de la comunicacion. Debido a que es sencillo y facil de desarrollar aplicaciones para el los proveedores de dispositivos pueden facilmente agregar agentes SNMP a sus productos.

Actualmente hay dos versiones de SNMP : SNMP version 1 (SNMPv1) y SNMP version 2 (SNMPv2), las cuales son similares, pero la version 2 tiene mejoras en cuanto a operaciones del protocolo, hay una tercera version la cual tiene pendiente la estandarizacion SNMP Version 3 (SNMPv3), por lo cual nos enfocaremos solo a las primeras versiones.

Componentes basicos y arquitecturas de manejo de red.



Una red manejada por SNMP cuenta con tres componentes clave para su funcionamiento : Dispositivos manejados (Managed Devices), Agentes (Agents) y Sistemas de manejo de red (network-management systems (NMSs)).

Un managed device es un nodo en la red el cual contiene un agente SNMP, pueden colectar y guardar informacion de manejo y ponen esta informacion disponible a los NMS de la red usando SNMP, estas entidades pueden ser Bridges, hubs, switches, servidores de red, etc. estos son unos ejemplos y tambien suelen ser llamados elementos de red.

Un Agent es un modulo de software de manejo de red que esta en un managed device, tiene conocimiento local de informacion de manejo y traduce esa informacion en forma compatible para SNMP.

Un NMS ejecuta aplicaciones que monitorean y controlan los managed devices. NMS provee la informacion de los recursos de procesamiento y de memoria que son requeridos para el manejo de la red. Uno o mas pueden coexistir en la red.

Ok, como utilizo esto en Nagios?



Bueno, ahora vamos a la mejor parte, como utilizar nuestro SNMP en Nagios, no voy a entrar al tema de como configurar el SNMP en Linux.

Primero que nada debemos saber nuestros OIDs (Object Identifiers) para lo que deseamos monitorear, esto lo podemos obtener por medio de un MIB Browser (Managment Information Base), con esto podemos saber lo que deseemos de nuestros equipos, vamos a poner un ejemplo:
Tengo un servidor Windows 2003 Server y quiero saber solamente su uptime, podemos hacer lo siguiente:
1.- Habilitar el servicio de SNMP en el servidor, asignarle nuestra comunidad y permisos necesarios para que solamente nosotros tengamos acceso a esa información.
2.- Agregamos el servicio en Nagios

define service{
use generic-service
host_name myserver
service_description Uptime
is_volatile 0
check_period 24x7
max_check_attempts 4
normal_check_interval 8
retry_check_interval 1
contact_groups nt-admins
notification_interval 120
notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.1.3.0 # Este es el OID del uptime
}

3.- Declaramos nuestro comando check_snmp

define command{
command_name check_snmp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C readonly -o $ARG1$
}

¿Como funciona el comando?, primero le indicamos de que host deseamos la información, la comunidad (-C) y el OID (-o) el cual viene como argumento ($ARG1$), esto quiere decir que puedo declarar otro servicio SNMP y utilizar el mismo comando, solo cambiando el OID o argumento.

Verificamos que no haya ningún error en la configuración y reseteamos el proceso de Nagios.
Y eso estodo, es solamente de jugar con los OIDs.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.