|
Nagios: Monitorizar servicio que no abre puertos en Nagios, instalar SNMP en Windows
Monitorizar servicio que no abre puertos en Nagios, instalar SNMP en Windows Os explicamos en este artículo cómo monitorizar con Nagios un servicio local que no abre puertos. Como es sabido, Nagios monitoriza el estado de los servicios de un equipo (iniciado, parado) observando el puerto TCP, UDP que abre. Por ejemplo, Nagios puede monitorizar y avisar de una caída del servicio DHCP observando el puerto 67 y 68 pero ¿y si el servicio no abre puertos? os mostramos cómo monitorizarlo. Os explicamos también cómo instalar y configurar el servicio SNMP en Windows Server 2003.
Consideraciones iniciales sobre NagiosNagios permite monitorizar servicios de red (SMTP, POP3, HTTP, NTTP, ICMP, SNMP), recursos de un host (carga del procesador, uso de los discos, logs del sistema). También permite notificar a los contactos cuando ocurren problemas en servicios o hosts, así como cuando son resueltos (vía email, pager (busca), SMS, o cualquier método definido por el usuario. En cuanto a los servicios de red, a priori, sólo monitoriza aquellos que abran algún puerto. En realidad Nagios no monitoriza el servicio en el equipo donde esté instalado, pues la filosofía de Nagios es NO ser intrusivo, sino que sólo comprueba si el puerto que abre el servicio está activo. Por ello, cuando queremos que Nagios nos avise cuando se ha detenido un servicio de un equipo que no abre puertos, como por ejemplo el servicio de un antivirus o el de una aplicación cualquiera (que no utiliza puertos TCP ó UDP de salida ni de entrada), tendremos varias posibilidades:
En este artículo explicaremos la utilización del protocolo SNMP para la monitorización de un servicio con Nagios, en una máquina con Windows Server 2003. Definición SNMPSNMP (Protocolo Simple de Administración de Red) es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Pertenece a la familia de protocolos TCP/IP. SNMP permite a los administradores supervisar el desempeño de la red, buscar y resolver sus problemas, y planear su crecimiento.
Un dispositivo administrado es un nodo de red que contiene un agente SNMP y reside en una red administrada. Estos recogen y almacenan información de administración, la cual es puesta a disposición de los NMS’s usando SNMP. Los dispositivos administrados, a veces llamados elementos de red, pueden ser routers, servidores de acceso, switches, bridges, hubs, equipos informáticos o impresoras.
Una Base de Información de Administración (MIB) es una colección de información que está organizada jerárquicamente. Las MIB son accedidas usando un protocolo de administración de red, como por ejemplo, el SNMP. MIB define las variables usadas por el protocolo SNMP para supervisar y controlar los componentes de una red. Está compuesta por una serie de objetos que representan los dispositivos en la red. Cada objeto manejado en un MIB tiene un identificador de objeto único e incluye el tipo de objeto, el nivel de acceso (lectura, escritura, etc.), restricciones de tamaño, y la información del rango del objeto.
Instalación y configuración del servicio SNMP en Windows Server 2003Instalación de SNMP en Windows Server 2003En primer lugar deberemos instalar el protocolo SNMP en el equipo Windows Server 2003 (si no está instalado ya), para ello accederemos a "Inicio" - "Configuración" - "Panel de control" - "Agregar o quitar programas", en la ventana que aparece pulsaremos en "Agregar o quitar componentes de Windows". En esta ventana selecconaremos "Herramientas de administración y supervisión" y pulsamos en "Detalles": Seleccionamos "Protocolo simple de administración de redes (SNMP)" y pulsamos "Aceptar": Una vez seleccionado el componente a instalar (SNMP) pulsamos "Siguiente" para iniciar la instalación (puede que nos pida el CD de instalación de Windows Server 2003): El asistente de instalación nos avisará de que ha finalizado, pulsaremos en "Finalizar": Configurar el servicio SNMPTras instalar el protocolo SNMP lo configuraremos, para ello accederemos a "Inicio" - "Ejecutar" y escribiremos "services.msc", pulsaremos "Aceptar": Seleccionamos el servicio "Servicio SNMP" y pulsamos con el botón derecho del ratón sobre él, en el menú contextual que aparece seleccionamos "Propiedades": En la pestaña "Agente" (Agent) podremos introducir los datos de "Contacto" (nombre de la persona que administra el servidor) y "Ubicación" (ubicación física del servidor), así como los servicios que presta este servidor:
En la pestaña "Capturas" (Traps) indicaremos el host (equipo) de destino de los mensajes de notificación del agente SNMP. En definitiva, en "Nombre de comunidad" indicaremos "public" y agregaremos en "Destinos de capturas" la IP de nuestro servidor Linux con Nagios. Para ello pulsaremos en el botón "Agregar": Introduciremos la dirección IP o el nombre de red del servidor Nagios y pulsaremos "Aceptar": Desde la pestaña "Seguridad" (Security) indicaremos los nombre de comunidad aceptados (public), los derechos de los mismos y desde qué host se aceptarán los paquetes SNMP (IP del servidor de Nagios): Con esto habremos activado y configurado el servicio de SNMP que será el que informe al servidor de Nagios de cualquier dato que éste le solicite mediante la MIB (Management Information Base): carga de la CPU, estado de un servicio, memoria RAM, espacio en disco duro, etc. Probar, testear servicio SNMPPara realizar una prueba podremos acceder desde otro equipo de la red y utilizar algún software que permita acceso a la información de SNMP, por ejemplo con este software: Abriremos AjpdSoft SNMP Test e introduciremos los siguientes datos:
Tras introducir los datos pulsaremos "Obtener", si todo es correcto y el equipo desde el que hemos ejecutado la aplicación AjpdSoft SNMP Test tiene permisos en el servidor SNMP obtendrá los datos solicitados, en el ejemplo el tipo de procesador:
Si hay algún error (el servicio SNMP no está activo en el servidor o bien el equipo cliente no tiene permisos o bien hay un cortafuegos que impide la conexión) habrá que subsanarlo para poder configurar Nagios para agregar el monitorio del servicio.
Obtención de datos del servicio para configurar Nagios, comprobación SNMP en LinuxObtención nombre del ejecutable del servicio a monitorizar en Windows Server 2003A continuación os explicamos cómo obtener el nombre del fichero ejecutable del servicio a monitorizar por Nagios. Este nombre es fundamental para configurar Nagios posteriormente. Para ver el nombre del fichero ejecutable del servicio a monitorizar, accederemos a los servicios del equipo con el SNMP activo, desde el botón "Inicio" - "Ejecutar", escribiremos "services.msc" y pulsaremos "Aceptar". Buscaremos el servicio a monitorizar y haremos doble clic sobre él o botón derecho y "Propiedades". En la pestaña "General" de las propiedades del servicio (en nuestro caso hemos decidido monitorizar el servicio "VMware Tools Service", en "Ruta de acceso al ejecutable" podremos ver el ejecutable del servicio, en nuestro caso "VMwareService.exe": Con lo anterior tendremos el dato del ejecutable del servicio a monitorizar, que posteriormente necesitaremos para agregarlo a Nagios. Comprobación de servicio en el SNMP de Windows Server 2003 desde GNU Linux UbuntuPor otro lado, en el servidor con Nagios instalado, comprobaremos, con la utilidad "snmpwalk" que el servidor de Nagios conecta correctamente con el servidor con Windows Server 2003 y el servicio a monitorizar. También obtendremos los datos de la rama (MIB): .1.3.6.1.2.1 que contiene los datos relativos a los servicios del equipo. Buscaremos en los datos obtenidos el servicio a monitorizar para verificar que aparece en el SNMP. Para realizar estas comprobaciones seguiremos estos pasos: 1. Desde el equipo con Nagios abriremos una ventana de terminal e instalaremos la utilidad snmpwalk (si no está instalada) que permite conectar con un servidor de SNMP y obtener los datos en un fichero. Para ello escribiremos el siguiente comando GNU Linux:
2. Obtendremos los datos de la MIB .1.3.6.1.2.1 y los guardaremos en un fichero, para revisar que el servicio que queramos monitorizar esté contemplado en el protocolo SNMP del equipo. Para esto ejecutaremos el comando GNU Linux:
Si todo es correcto, el comando snmpwalk habrá conectado con el servidor de SNMP con Windows Server 2003 y habrá obtenido los datos de la rama MIB .1.3.6.1.2.1 en el fichero resultado_snmp.txt. A continuación abriremos ese fichero con un editor (por ejemplo "nano") y buscaremos la palabra "VMwareService.exe" (en nuestro caso):
Pulsando "Control + W", escribiremos "VMwareService.exe" y pulsaremos INTRO, si encuentra el texto en el fichero querrá decir que el servicio aparece en el SNMP y es perfectamente monitorizable su estado desde Nagios: Con esto habremos comprobado que el servidor de Nagios conecta correctamente con el servidor de SNMP y que el servidor de SNMP guarda el estado del servicio a monitorizar correctamente. Configuración de Nagios para añadir monitorización de servicioEn el servidor con Nagios instalado abriremos una ventana de terminal, buscaremos la carpeta donde se encuentren los ficheros de configuración de Nagios (.cfg), indicada el el fichero de configuración nagios.cfg, ubicado (normalmente) en:
En la clave o parámetro "cfg_dir", por ejemplo:
Abriremos y editaremos el fichero de configuración .cfg que deseemos o incluso podremos crear uno nuevo en la carpeta indicada en el parámetro cfg_dir. En nuestro caso crearemos un fichero en esta carpeta llamado "servicios.cfg" que contendrá todos los servicios a monitorizar, para ello ejecutaremos el siguiente comando GNU Linux:
Agregaremos el siguiente contenido al fichero "servicios.cfg" que crearemos con el comando anterior: define service { use generic-service host_name srvbd1 service_description Servicio VMware is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 contact_groups contactos_terminal_server notification_interval 0 notification_period 24x7 notification_options c,r notification_enabled 1 check_command check_snmp_process!public!VMwareService.exe }
Donde:
Tras agregar estos datos al fichero pulsaremos Control + O para guardar los cambios y Control + X para salir de "nano". A continuación comprobaremos que todo es correcto con el comando de Nagios:
Si al ejecutar el comando anterior aparece este error:
Será debido a que no tenemos el fichero Perl "check_snmp_process.pl". De ser así deberemos descargarlo y guardarlo en la carpeta donde se encuentren los plugins de Nagios, por defecto:
Para ello accederemos a esta carpeta con el comando:
y ejecutaremos este otro comando GNU Linux para descargar el fichero check_snmp_process.pl:
Le cambiaremos el nombre con el comando:
Y le daremos permisos de ejecución con el comando:
Y haremos propietario al usuario "nagios" del fichero:
Ahora deberemos definir este comando en el fichero:
Editaremos este fichero con "nano" o "vi" u otro editor de texto plano, con el comando:
Nos posicionaremos en el final del fichero y agregaremos lo siguiente: define command{ command_name check_snmp_process command_line $USER1$/check_snmp_process.pl -H $HOSTADDRESS$ $USER7$ -n $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$ }
Guardaremos los cambios pulsando Control + O y cerraremos con Control + X. Ahora podremos volver a comprobar si todo es correcto con el comando:
Si aparecen errores comprobaremos el motivo, el fichero y la línea del error y lo subsanaremos, hasta conseguir que no haya errores: Tras comprobar que no haya errores reiniciaremos el servicio de Nagios con los comandos:
Y comprobaremos el estado actual del servicio desde la consola de administración de Nagios, en "Service Detail": Inicialmente, como se puede apreciar en la imagen anterior, en "Status" aparecerá "PENDING", a la espera de que Nagios realice la primera comprobación del servicio configurado para la monitorización, en nuestro caso "Servicio VMware". Cuando haya pasado el tiempo de comprobación mostrará el estado real.
Algunos errores, su posible causa y su posible solución
Artículos relacionados
CréditosArtículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft. Nota: Revisado por AjpdSoft el 28-07-2009. Revisado por AjpdSoft el 16-07-2009. Anuncios
Enviado el Miércoles, 01 julio a las 19:06:26 por ajpdsoft
|
|