La Tierra no es una herencia de nuestros padres sino un préstamo de nuestros hijos

viernes, 21 de enero de 2011

MRTG OWA Exchange


Monitorizar usuarios OWA Exchange desde Linux


Desde hace tiempo utilizo para monitorizar mis Servidores Exchange 2007 lo siguiente:

MRTG + Perl + Nsclient + check_nt, desde un entorno Linux Gentoo.

La idea es tener en unas gráficas MRTG las estadísticas de usuarios OWA conectados, Mensajes de Entrada y Salida desde y hacia Internet y mensajes entregados locales a un dominio.

En este artículo voy a configurar los pasos necesarios para saber los usuarios conectados mediante OWA, los pasos serían:

Instalamos MRTG

emerge mrtg

Instalamos o nos bajamos la utilidad check_nt, sirve para interrogar o preguntar por contadores de máquinas Windows y poder sacar la información necesaria. Es un ejecutable que viene dentro de software como nagios o cacti, quizás se pueda localizar individualmente y copiarlo al directorio donde van a estar los scripts.

Configuramos los equipos Windows para que acepten nuestras peticiones, para ello es necesario tener arrancado el servicio:

SNMP Service

En SNMP Service, tenemos que configurar dentro de propiedades de servicio la pestaña “Security” ponemos en “Accept SNMP packets from these host” y poner la dirección IP de la máquina que va a solicitar los datos:

Ahora tenemos que hacer un scripts en perl que nos permita realizar la interrogación al Servidor de los contadores necesarios para obtener los datos. Al realizarse desde un equipo Linux, perl ya viene instalado y no es necesario instalarlo.

Hay que tener claros los contadores necesarios para proceso en este caso yo voy a poner un ejemplo de los usuarios conectados por OWA a Exchange.

El script sería el siguiente:

#!/usr/bin/perl
# Replace '/var/www/localhost/htdocs/cacti/scripts/check_nt' with the localtion where your check_nt binary is located
$OWAUsers = `/var/www/localhost/htdocs/cacti/scripts/check_nt -H 192.168.1.17 -p 1248 -v COUNTER -l "\\MSExchange OWA\\Current Unique Users"`;
chomp $OWAUsers; # 192.168.1.17 es el servidor OWA
print $OWAUsers . "\n" ; # Usurios OWA concurrentes

Tenemos que dar al fichero derechos de ejecución: chmod +x usuarios_2007.pl
Recordar que MRTG necesita o procesa para sus gráficas solo 2 valores, el primero lo interpreta como Entrada y el segundo como Salida, en este caso al ser usuarios conectados solo necesitamos un valor.

Este script se ejecuta desde un fichero cfg de MRTG, el cual recoge los datos y genera en el directorio de trabajo las gráficas.

El script sería el siguiente:
WorkDir: /var/www/localhost/htdocs/mrtg
Language: spanish
Target[owa.ex04]: `/var/www/localhost/htdocs/scripts/usuarios_2007.pl`
PageTop[owa.ex04]: <h1>Conexiones OWA</h1>
Options[owa.ex04]: growright, nopercent, gauge
MaxBytes[owa.ex04]: 200
Colours[owa.ex04]: GREEN#00eb0c,BLUE#0000ff,GRAY#AAAAAA,VIOLET#ff00ff
#Colours[owa.ex04]: 8d00ba,BLUE#0000ff,GRAY#AAAAAA,VIOLET#ff00ff
Title[owa.ex04]: Conexiones OWA
YLegend[owa.ex04]: Usuarios
LegendO[owa.ex04]: Usuarios
Legend2[owa.ex04]: Usuarios

ShortLegend[owa.ex04]: Usuarios 


El cfg lanza el script de perl que se encuentra en /var/www/localhost/htdocs/scripts/ y genera el fichero owa.ex04.html con la gráfica correspondiente

El resultado es el siguiente:

Ya solo falta añadir la ejecución al cron para que se ejecute en el tiempo estimado, en mi caso cada 5 minutos.
*/5    *    *    *    *    /etc/mrtg/cron/cron


Donde el fichero  /etc/mrtg/cron/cron tiene una entrada que ejecuta el proceso env LANG=C /usr/bin/mrtg /etc/mrtg/owa.cfg
Bueno espero que se entienda el procedimiento, es mi primer artículo publicado.
Más adelante explicare otros ejemplos para interrogar otros contadores.
 

No hay comentarios:

Publicar un comentario