Nagios – Monitorizando contadores de Windows
Algo super útil es que gracias a Nagios, podremos monitorizar cualquier contador de rendimiento de una máquina Windows, sí, cualquiera! Sólo necesitamos saber cual! Todos conocemos que el Monitor de rendimiento de un Windows es super potente y tenemos contadores que nos permiten analizar cualquier parámetro que seguro necesitemos. Esto lo podemos llevar y centralizar para monitorizar desde Nagios / Centreon.
Nos basaremos en un script que ya está disponible en nuestras máquinas con Nagios y Centreon, el famoso check_nt, que para poder usarlo, debemos tener instalado el agente de NSClient++ en la máquina Windows a la que haremos la consulta, si no lo tienes instalado, echa un vistazo a este documento antes de nada. Crearemos un Comando primeramente donde definiremos qué ejecutará contra el Windows y a posteriori todos los Servicios que necesitemos monitorizar por cada Monitor de rendimiendo que inspeccionemos. Con esto evitaremos usar el Performance Monitor para analizar rendimientos, ya que queda ahora todo registrado en nuestro appliance de monitorización.
Desde Centreon, vamos a “Configuration” > “Services” y clonamos uno existente que modificaremos o añadimos uno nuevo desde “Add…”, debemos cumplimentar de la siguiente manera los campos que nos pide:
- Command Name: Será el nombre del comando, para identificarlo a futuro, será preciso indicarle un nombre que nos lo asocie, como usaremos check_nt y con este sólo miraremos los contadores de rendimiento, algo como ‘check_nt_counter’ nos valdrá.
- Command Type: Marcamos ‘Check’.
- Command Line: Será lo que ejecute este Comando cuando sea llamado, por tanto metemos el comando que ejecutará seguido de los argumentos necesarios, en mi caso uso el puerto predeterminado 12489 y al final le indico la contraseña que tendrán los ‘nsclient.ini’ de los equipos Windows (en mi caso tengo: password = bTX1xIjO7aAzrESc) por lo que debería de quedar algo así:
[sourcecode]$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v COUNTER -l $ARG1$ -w $ARG2$ -c $ARG3$ -s bTX1xIjO7aAzrESc[/sourcecode]
Pulsamos sobre “Describe arguments” y definimos los ARGx que será la información que introduzcamos a la hora de crear los Servicios y esto nos dará una pista de lo que hay que rellear, en este caso quedaría así:
[sourcecode]ARG1 : Contador en formato –> "\\Terminal Services\\Sesiones activas","Sesiones Activas %.f"
ARG2 : Warning
ARG3 : Critical[/sourcecode]
Y ya no queda más que crear los Servicios que monitorizarán cada Contador de rendimiento, podemos medir lo dicho, cualquier monitor de rendimiento que necesitemos, no es más que abrir la herramienta de Windows y ver qué contadores de rendimiento tiene instalados esa máquina, por tanto podríamos ver los que haya instalado software adicional tipo SQL, Oracle, Veeam… vamos cualquiera! Además de los cientos que tiene el sistema. Vamos a crear uno de ejemplo, vemos cómo monitorizar las Sesiones Activas que tiene un servidor de Escritorio Remoto, siempre será interesante saber cuántos usuarios se loguean en cada servidor para ver balanceos, comparativas de rendimientos… y por qué no además añadir las sesiones inactivas o desconectadas, que son cuando no están trabajando pero consumen recursos en el equipo y oye quizás esto nos interese quitar. Bueno, vamos a Centreon > “Configuration” > “Services” y añadimos uno nuevo desde “Add”, cumplimentamos lo siguiente:
- Description: Será el nombre del Servicio que verán nuestros ojos cuando llegue una alerta o veamos qué se está monitorizando, en este caso algo como ‘RDP – Sesiones Activas’ creo que lo deja clarito.
- Service Template: Como os digo siempre, esto dependerá de cada uno, si tenemos una plantilla base de la que heredará cierta configuración genérica, en mi caso la ‘generic-service’ tiene las notificaciones personalizadas, así que me la aplico.
- Check Command: Seleccionamos del combo el Comando que hemos creado en el paso anterior, será ‘check_nt_counter’
- Args: Cumplimentamos los argumentos que nos pide, serán los que hemos definido antes, o sea, el contador a monitorizar y los valores con los que nos avisará de Warning y Critical. En este caso le ñado “\\Servicios de Terminal Server\\Sesiones activas”,”Sesiones Activas %.f” como argumento (en ese formato, que se obtiene cuando se añade el contador al monitor de rendimiento, eso te orienta). Ojo que puede que el sistema operativo Windows sea en Inglés, por lo que quizá debamos poner “\\Terminal Services\\Active sessions”,”Sesiones activas %.f” o si queremos añadir las Inactivas sería con “\\Servicios de Terminal Server\\Sesiones inactivas”,”Sesiones Inactivas %.f”. Pero lo dicho, eso lo vemos en cada Windows, en su consola de Monitor de rendimiento, al añadir el Contador especifico.
Grabamos con “Save”,
Nada, y lo de siempre, una vez grabemos la configuración de Centreon y se exporte y se reinicien los servicios podremos ir a la vista inicial de la monitorización y visualizar que ya tenemos contadores interesantes añadidos!
Te recomiendo que des un paseo por una máquina con Windows, abras su Monitor de rendimiento y veas todos los contadores que tiene tu servidor, añade todos los que quieras monitorizar y puedas tener en todo momento monitorizado todo lo que necesites!!!