Este documento describe un plugin para Pandora FMS que permite monitorizar el correcto funcionamiento de un sistema de correo Exchange desde la perspectiva del cliente. El plugin usa Outlook para enviar correos periódicamente y verificar que llegan dentro de un tiempo determinado, midiendo la latencia o simplemente comprobando la llegada. Se explican los requisitos, parámetros, instalación y configuración de módulos para la monitorización.
3. 1 HISTÓRICO DE CAMBIOS
Fecha Autor Cambio Versión
15/02/12 Darío Primera versión del plugin v1r1
2 INTRODUCCIÓN
Page 3
4. El propósito del plugin es monitorizar el correcto funcionamiento del sistema de correo Exchange
desde la perspectiva del cliente. Para ello se usará el cliente de correo Outlook de Microsoft al que
se enviara un correo de forma periódica y se comprobara que el correo llega dentro de un tiempo
determinado..
2.1. Funcionamiento del plugin
El plugin consulta una carpeta de un usuario de correo por medio del programa Outlook. En esta
consulta puede realizar dos tipos de comprobaciones: calcular la latencia de envío de emails o
comprobar que llegó un mail específico.
2.1.1. Latencia de envío de mail
El plugin busca en la carpeta de entrada los correos que contengan cierta cadena de texto de
referencia. Antes de calcular la latencia de envío-recepción del email, se comprueba que ese email
llegó dentro de un intervalo de referencia que asegura que los emails son enviados de forma
periodica.
Una vez se obtiene un correo que llegó dentro del intervalo de tiempo se compara la fecha de envío
(debe estar en el asunto del correo) con la fecha de recepción que pone Exchange y se devolverá la
diferencia que es la latencia entre el envío y la recepción.
Si el plugin encuentra el mail con la cadena de referencia y este ha llegado dentro del último
intervalo en ese caso el plugin devuelve la latencia de envío-recepción. Si por el contrario el plugin
no encuentra el mail con la cadena de referencía o llego fuera del intervalo especificado entonces el
plugin no devolverá nada y el módulo que monitoriza esta consulta pasará a estado Unknown.
2.1.2. Comprobación llegada mail
Si se usa el parámetro only_check (se explica más adelante) el plugin buscará que existe un mail
con la cadena de texto de referencia y en ese caso devuleve 1.
Este modo no comprueba ningún tipo de intervalo de llegada en los emails, por lo que será
necesario borrar el email con la cadena de referencia de forma manual ya que sino la
monitorización devolverá falsos positivos.
3 MATRIZ DE COMPATIBILIDAD
La matriz de compatibilidad para el plugin se muestra a continuación:
Page 4
5. Sistemas donde se ha probado
• Windows 2008 Server R2
• Outlook 2010
Sistemas donde debería
funcionar
• Mismo sistema o superior
Es posible que debido a cambios en las futuras versiones de Outlook sea necesario realizar cambios
en el plugin.
4 DOCUMENTACIÓN A ENTREGAR POR EL ÁREA QUE REQUIERE LA
MONITORIZACIÓN.
La información que debe entregar el área que requiere la monitorización es la siguiente:
Page 5
6. • Requisitos de la máquina:
◦ Agente Pandora FMS instalado
◦ Outlook 2010 instalado y configurado correctamente con una cuenta de usuario para el
correo Exchange.
• Información para los módulos:
◦ Cuenta del usuario que se usara para monitorizar, por ejemplo usuario@empresa.com
◦ Carpeta que contiene los emails a monitorizar por ejemplo “Bandeja de entrada”.
◦ Cadena a buscar en en asunto del email
◦ Tipo de comprobación: only_check (solo chequeo) o interval (comprobar latencia de
envío de emails).
5 MÓDULOS DEL PLUGIN
Los módulos que devuelve el plugin son de dos tipos:
Page 6
7. • Latencia de envío-recepción de emails que devuelve la demora entre el envío y la recepción
de emails
• Comprobación llegada email que comprueba si el email ha llegado o no.
Page 7
8. 6 REQUISITOS
El plugin requiere del siguiente software y configuración para su funcionamiento:
• Sistema Operativo Windows con agente de Pandora FMS instalado.
• ActivePerl 5.8.8 o superior.
• Outlook 2010 instalado y configurado con la cuenta a la que llegan los emails a monitorizar.
El programa Outlook deberá estar en ejecución en todo momento.
• Permitir el acceso de programas externos a los emails de Outlook 2010.
• Ejecución del agente de Pandora FMS como proceso.
• Mantener sesión del usuario que ejecuta el agente como proceos siempre
activa
• Borrado periódico de emails de la cuenta usada para monitorizar, en todo momento el
número máximo de emails no debería exceder los 300 emails.
6.1. Problema windows ejecutar MAPI (Outlook) como servicio
Existe un problema documentado por Windows por el que no es posible ejecutar Outlook debido a
unos requisitos muy estrictos del protocolo MAPI, se puede consultar en esta KB:
http://support.microsoft.com/kb/237913
Por este motivo el agente de Pandora FMS que ejecute este plugin deberá ejecutarse como proceso.
Para ello hay abrir un terminal al directorio de instalación del agente de pandora y ejecutar el
siguiente comando:
PandoraAgent.exe –process
6.2. Configuración de seguridad de Outlook 2010
En las opciones de configuración del programa Outlook 2010 encontrará el Centro de Confianza.
En él deberá configurar el acceso para programación de la siguiente manera:
Para poder confiorgurar este parámetro es necesario que el usuario sea administrador local en el
Page 8
10. 7 INSTALACIÓN
Para instalar el plugin sólo es necesario copiar el archivo en una ubicación de la máquina que tiene
instalado el agente de Pandora FMS para Windows. Más adelante se explica como crear los
módulos correspondientes en el agente.
8 CONFIGURACIÓN DE LA MONITORIZACIÓN
Page 10
11. 8.1. Parámetros del plugin
Los parámetros de configuración del plugin son los siguientes:
• account: cuenta de correo en la que se reciben los mails a monitorizar. Por ejemplo
micuenta@empresa.com
• folder: carpeta que contiene los emails a monitorizar por ejemplo Bandeja de entrada.
• needle: Cadena que contiene el asunto de los mails a monitorizar.
• Parámetros auxiliares:
◦ only_check: sólo devuelve 1 o 0 cuando encuentra el mail con el asunto especificado,
NO COMPRUEBA EL INTERVALO DE LOS MAILS.
◦ interval: Intervalo máximo de antigüedad para el mail a monitorizar en segundos.
Después de este parámetro es necesario añadir el intervalo en segundos.
Un ejemplos de módulo para ejecutar el plugin serían:
module_exec perl "C:UsersPandoraDesktopcheck_exchange_outlook.pl"
"usuario@microrreo.com" "Bandeja de entrada" "CadenaRef" interval 900
module_exec perl "C:UsersPandoraDesktopcheck_exchange_outlook.pl"
"usuario@microrreo.com" "Bandeja de entrada" "CadenaRef" only_check
8.2. Configuración de los correos de control
Si no se usa la opción only_check el mail que va a ser monitorizado tiene que tener un
formato de texto en el asunto. El formato requerido es el siguiente:
Envio Monitorización email 02/14/2012 11:00:00
Es muy importante respetar el orden de cada elemento el la fecha del asunto
(mm/dd/yyyy).
La primera parte del adjunto, antes de la fecha, será lo que el administrador pondrá en el
parámetro needle para realizar la búsqueda. En nuestro ejemplo el parámetro needle es:
Envio Monitorización email
S i se usa el parámetro only_check entonces no es necesario seguir ningún tipo de
formato para el adjunto y el parámetro needle deberá ser igual al asunto del email. Por
Page 11
12. ejemplo, el asunto del mail es:
Envio de email prueba sistema
El parámetro needle será:
Envio de email prueba sistema
8.3. Comprobación del intervalo
El plugin comprueba que el último mail recibido y que concuerda con el parámetro needle
ha llegado antes de que pasará el intervalo de tiempo.
Para realizar la comprobación se usa la fecha de llegada que marca Exchange cuando llega
le email y esto se compara con la hora del sistema para verificar que se cumple el intervalo.
Supongamos que son las 15:00:00 del día 16/02/2012, que tenemos un intervalo de 1 hora
y que nos llego el último mail con los siguientes datos:
• Asuto: Report 02/14/2012 11:00:44
• Fecha llegada: 14:30:00 del día 16/02/2012
Aunque en el asunto ponga otra fecha la que cuenta es la de llegada por lo
tanto este mail está dentro del intervalo.
9 CREACIÓN DE UN MÓDULO EN EL AGENTE
Este plugin se usa para ejecutar módulos en el agente, por ello se deberán definir en el archivo de
configuración del agente. Un ejemplo de módulo puede ser el siguiente:
Page 12
13. module_begin
module_type generic_data
module_name Latencia MailRef
module_exec perl "C:UsersPandoraDesktopcheck_exchange_outlook.pl" "usuario@microrreo.com"
"Bandeja de entrada" "MailRef" interval 900
module_end
Un segundo ejemplo podría usar la función only_check del plugin:
module_begin
module_type generic_data
module_name Check MailRef
module_exec perl "C:UsersPandoraDesktopcheck_exchange_outlook.pl" "usuario@microrreo.com"
"Bandeja de entrada" "MailRef" only_check
module_end
Page 13