Pandora FMS: Plugin de monitorización de Outlook Anywhere
Post on 19-Jan-2015
158 Views
Preview:
DESCRIPTION
Transcript
Pandora FMSManual Administrador
Monitorización de OutlookAnyWhere
Manual Administrador Monitorización de OutlookAnyWhere
© Artica Soluciones Tecnológicas 2005-2012
Índice de contenido1Histórico de cambios..........................................................................................................................32Introducción........................................................................................................................................43Matriz de compatibilidad ...................................................................................................................54Documentación a entregar por el Área que requiere la monitorización.............................................65Módulos del plugin ............................................................................................................................76Requisitos...........................................................................................................................................87Instalación...........................................................................................................................................9
7.1.Ajustes de configuración adicionales........................................................................................97.1.1.Monitorización via Powershell..........................................................................................97.1.2.Monitorización de la disponibilidad de Outlook Anywhere............................................13
1 HISTÓRICO DE CAMBIOS
Fecha Autor Cambio Versión
15/02/12 Tomas Primera versión del plugin v1r1
2 INTRODUCCIÓN
Page 3
Este documento tiene como objetivo la descripción de la monitorización del sistema de correo
Exchange desde la perspectiva del cliente. Este documento describe concretamente la forma de
monitorizar la conexión externa mediante Outlook Anywhere (RPC over HTTP Proxy) a dicho
sistema de correo.
Para la extracción de la información se utiliza:
• Consola Powershell 2.0 (instalado por defecto en Windows Server 2008 R2, y Windows 7.
Disponible desde Windows XP SP2 en adelante)
• Una interfaz “abierta” (la de Pandora, como extensión de la sección de administración) para
especificar consultas SQL libres.
• El sistema, que se integra con el agente Windows y con la capacidad de distribuir
colecciones de ficheros, de forma que se puede distribuir el plugin por un lado y las
colecciones de ficheros de forma individual -por agente- y/o por política.
Cabe destacar que el plugin de monitorización de Performance Counters se puede usar para
recoger información de tipo numérico (para hacer gestión del rendimiento).
3 MATRIZ DE COMPATIBILIDAD
La matriz de compatibilidad para el plugin se muestra a continuación:
Page 4
Sistemas donde se ha probado • Windows Server 2008
Sistemas donde deberíafuncionar
• Mismo sistema o superior• Windows Server 2003 (con kit de
implementación)• Windows XP SP2 o superior (con kit de
implementación)
Según el idioma del sistema, el formato de los contadores a monitorizar pueden cambiar, con lo
que sería necesario adaptar el fichero counters.txt en función de dichas circunstancias.
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:
• Dirección IP o nombre del servidor Exchange o CAS Array al que conectarse.
Page 5
• Protocolo usado para la conexión RPC (ncacn_ip_tcp, ncacn_np, ncacn_http, etc).
• Dirección IP del proxy RPC.
• Usuario autenticación Exchange.
• Password autenticación Exchange.
• Usuario autenticación proxy RPC.
• Password autenticación proxy RPC.
5 MÓDULOS DEL PLUGIN El plugin genera los siguientes módulos:
• Windows:
◦ OutlookAnywhere Connectivity (DS Proxy Service)
Page 6
◦ OutlookAnywhere Connectivity (DS Referral Service)
◦ OutlookAnywhere Connectivity (Information Store Service)
• CAS:
◦ \RPC/HTTP Proxy\Current Number of Incoming RPC over HTTP Connections◦ \RPC/HTTP Proxy\Current Number of Unique Users◦ \RPC/HTTP Proxy\Number of Failed Back-End Connection attempts per Second◦ \RPC/HTTP Proxy\RPC/HTTP Requests per Second
6 REQUISITOS
Los requisitos para que funcione correctamente esta monitorización son los siguientes:
• Instalar el agente de Pandora FMS en la versión 3.2.1 o superior.
• Una consola Powershell 2.0 para ejecutar el plugin. Por defecto viene instalada en sistemas
Page 7
Windows Server 2008 R2 y Windows 7, pero debe ser descargada para versiones anteriores
de Windows. Powershell no es compatible con sistemas Windows XP SP1 e inferiores.
• Es necesario que el usuario con el que se ejecuta el agente de Pandora FMS, que es el
usuario que ejecutará el plugin, disponga de los siguiente permisos del sistema:
◦ Administrador Local
• La poítica de ejecución de scripts Powershell debe ser establecida como RemoteSigned o
inferior:
Set-ExecutionPolicy RemoteSigned
• Los diversos plugins obtendrán automáticamente la información de todos los contadores
que le hayamos especificado en una lista en el archivo counters.txt y generará un módulo
por cada uno en Pandora (Plugin PerfCounter). Así mismo, obtendrán información sobre el
estado de los elementos críticos de cara al servicio de Outlook Anywhere (Plugin Outlook
Anywhere).
• Configuración adecuada de las conexiones y permisos para permitir al agente software
desde el que se ejecuta el plugin, establecer conexión con el RPC Front-End de la
arquitectura Exchange y loguearse con credenciales válidas en dicha plataforma, haciendo
uso de RPC sobre HTTP (Outlook Anywhere).
7 INSTALACIÓN
Copiar los plugins al directorio de plugins del agente, por ejemplo distrubuyéndolo mediante file
collections. Lo mismo con los ficheros adicionales que necesiten. La llamada desde el agente será
similar a esta, pero usando los paths donde esté instalado el plugin y el listado. Por ejemplo:
Page 8
module_plugin "<ruta-powershell>\powershell.exe" -command C:\'<ruta-plugin>\Pandora_Plugin_PerfCounter_vx.y.ps1' -list C:\'<ruta-listado>\counters.txt' 2> counter_plugin.error
7.1. Ajustes de configuración adicionales
NOTA: Es extremadamente importante tener en cuenta que los archivos de configuración
pensados para el plugin en WINDOWS deben estar editados y almacenados con retornos de
carro tipo “WINDOWS” y que si se usan retornos de carro tipo “UNIX” el plugin no funcionará
adecuadamente.
Existen algunos chequeos específicos que tienen sus propios “tokens” de configuración, que se
describen a continuación:
7.1.1. Monitorización via Powershell
Partiendo de la base de que ya tenemos instalado y configurado tanto Pandora como el sistema amonitorizar, vamos a explicar como obtener información sobre el estado del servicio OutlookAnywhere en general, desde gestión de rendimiento desde los contadores del objeto “RPC/HTTPProxy” así como chequeos de disponibilidad del servicio del lado de cliente a raiz de Powershell quemediante el uso del comando rpcping, disponible desde Windows 2003 como actualización del kitde implementación, se encargará de realizar comprobaciones sobre la conectividad RPC contra lospuertos usados por Outlook Anywhere para su funcionamiento (6001, 6002 y 6004).
Para este caso instalaremos tanto un agente software de Pandora como los diferentes plugins deagente Powershell en la máquina en cuestión.
Un plugin de agente es en resumen, un script que se ejecuta en la máquina local donde estáinstalado el agente software, y que extrae una información útil en formato XML que el agente va aenviar luego al servidor de Pandora para ser procesado).
Para hacer que el agente software de Pandora que tenemos instalado en nuestro servidor amonitorizar ejecute dicho script, debemos editar el archivo de configuración del agente y hacer lallamada al plugin mediante el token de configuración module_plugin.
Vamos a editar el archivo de configuración del agente de Pandora desde la consola deadministración de Pandora FMS. Para ello, antes deberemos haber activado la opcionremote_config en el mismo archivo a 1. Este archivo está localizado por defecto en:
C:\Archivos de programa\pandora_agent\pandora_agent.conf
Partiendo de que podemos editar la configuración remotamente, nos dirigimos a la sección
Administración->Gestionar agentes y hacemos click en el icono de configuración remota del agente
que queramos configurar.
Introduciremos lo siguiente al final del archivo de configuración por ejemplo:
Page 9
# Agent Plugins for Outlook Anywhere Monitoring
module_plugin "<ruta-powershel l>\powershel l .exe" -command C:\ '<ruta-plugin>\Pandora_Plugin_OutlookAnywhere_Monitoring_v1.0.ps1' -S exchange_server -typencacn_http -R front_end_proxy -I 'username,domain,*' -P 'username,domain,*'2>plugin_error.log
module_plugin "<ruta-powershel l>\powershel l .exe" -command C:\ '<ruta-plugin>\Pandora_Plugin_PerfCounter_vx.y.ps1' -list C:\'<ruta-listado>\counters.txt' 2>counter_plugin.error
Guardamos el archivo y reiniciamos el agente de Pandora.
Hay que tener en cuenta la redirección de errores del plugin a un log de errores, sobre todo debido
al timeout de ejecución de los cmdlets cuando se tiene que procesar gran cantidad de información
en poco tiempo.
Page 10
En el supuesto de que quisieramos generar un módulo por cada uno de los contadores de la
máquina, el cmdlet tendría que procesar una media de 20000 contadores de una sola vez, y ya que
hasta que no ha procesado todo el listado de contadores no muestra la información, todo el tiempo
desde que procesa la información hasta que la presenta, el cmdlet Powershell saca un mensaje de
error tras otro avisando que el contador de la lista no se ha encontrado.
Esto es debido a que el cmdlet Powershell entiende que si ha pasado x tiempo desde la petición de
la información del contador y esta información no ha sido presentada en el output, entonces no se
ha podido encontrar la información que andaba buscando, cuando en realidad ésta sí ha sido
encontrada, solo que aún no ha sido presentada.
Para evitar incrementar el log sin control y aun así recibir todos los errores ocurridos durante la
ejecución del plugin en el último intervalo (por si hay algún error real), hacer la redirección usando
el símbolo “2>” tal como viene especificado en la línea que se debe introducir al archivo de
configuración.
Una vez configurado, nos encargamos de distribuir los ficheros necesarios mediante file collections.
Estos son paquetes de archivos que se envían a todos los agentes que las tengan asignadas (bien
por separado, bien por estar incluído en una política con file collections asignados) mediante un
sistema de distrubución centralizado integrado en Pandora FMS.
Este proceso será explicado en detalle a lo largo del documento.
Una de las característica mas potentes del plugin en Powershell es la posibilidad de especificar en
vez de ir creando uno a uno módulos para cada contador de rendimiento, seleccionar todos los
contadores especificados en una lista, para que el plugin haga una única comprobación y genere
automática un módulo para todos los estos contadores, optimizando lo máximo posible el tiempo
necesario para extraer toda la información. Dicha lista la deberemos situar en la misma carpeta
donde se encuentra el plugin, con el nombre counters.txt Veamos un ejemplo de su contenido:
\Web Service(*)\Total Bytes Sent\Web Service(*)\Bytes Sent/sec\Web Service(*)\Total Bytes Received\Web Service(*)\Bytes Received/sec
Conteniendo counters.txt estos contadores, el plugin hará un módulo por cada uno de ellos. Si un
contador tiene varias instancias, como en el caso de (*), el plugin hará un módulo por cada una de
las instancias del contador. Para el desarrollo de cualquier otro plugin que extraiga información via
Powershell es importante tener en cuenta el uso del cmdlet:
select-object -property *
En base a este cmdlet, podemos añadirlo después de cualquier otro cmdlet que nos proporcione
estadísticas, precedido de una tubería (|), y nos dará información de todas las propiedades que
contiene dicho cmdlet, a pesar de que al ejecutar el primer cmdlet de forma general sin usar
Page 11
parámetros, sólo nos devolviera una lista predeterminada de info.
De esta forma nuestras posibilidades de monitorización haciendo uso de Powershell se amplía
notablemente.
En caso de que quisiéramos añadir nuevos módulos a nuestro plugin, antes de hacer nada, probar a
ejecutar el cmdlet del cual queremos sacar información junto con el mencionado, para así sacar
toda la información posible.
Un ejemplo del uso de este comando sería el siguiente:
Get-Service | Select-Object -Property *
Normalmente el resultado del cmdlet Get-Service sería un listado en formato tabla de todos los
servicios con su descripción y su estado. Sin embargo, al aplicarle este segundo cmdlet,
conseguimos para cada servicio información de todas las propeidades de las que dispone ese
servicio:
Name : serviceRequiredServices : {service1, service2}CanPauseAndContinue : FalseCanShutdown : TrueCanStop : TrueDisplayName : This is a Windows ServiceDependentServices : {service3}MachineName : .ServiceName : serviceServicesDependedOn : {service1, service2}ServiceHandle : SafeServiceHandleStatus : StoppedServiceType : Win32ShareProcessSite :Container :
7.1.2. Monitorización de la disponibilidad de Outlook Anywhere
Independientemente de la configuración de nuestra plataforma Exchange, para el correcto
funcionamiento del servicio Outlook Anywhere, será necesario asegurarse que el servidor Exchange
(o dirección del CAS Array de Exchange) sea accesible a través del proxy RPC si está definido
(normalmente la dirección de acceso externo). Para ello, los puertos 6001, 6003 y 6004, que son
los que usa este servicio para su funcionamiento deberán estar abiertos, para poder hacer uso de la
herramienta RPCPing.exe contra ellos para loguearse con credenciales adecuadas y asegurar la
disponibilidad del servicio.
En caso contrario, lo más común será recibir un código de error o excepción 1722, indicando que el
servidor RPC no está disponible.
Page 12
El plugin realiza un ping RPC contra los puertos 6001, 6003 y 6004 (Outlook Anywhere) del
combo servidor Exchange/Proxy RPC haciendo uso de las credenciales para autenticarse con el
servidor y el proxy RPC/HTTP, entregados como parámetros.
Una vez se ejecuta el plugin, éste crea tres módulos diferentes que se identifican con la
conectividad y autenticación desde el exterior contra cada uno de estos puertos.
Si cualquiera de estos puertos resulta estar filtrado o cualquiera de las credenciales resulta ser
errónea, no se conseguirá la autenticación en el servidor Exchange, resultando en el estado crítico
de los respectivos módulos.
Los parámetros de configuración del plugin son los siguientes:
• -S: servidor Exchange al que conectarse. (Puede ser un CAS Array)
• -type: secuencia de protocolo a usar. Puede ser una de las secuencias de protocolo RPC
estándar – ncacn_ip_tcp, ncacn_np, ncacn_http, etc.
• -R: especifica la ubicación del proxy RPC.
• -I: permite especificar credenciales para autenticarse en el servidor Exchange.
• -P: permite especificar credenciales para autenticarse en el proxy RPC/HTTP.
Un ejemplo de módulo para ejecutar el plugin sería:
m o d u l e _ p l u g i n P o w e r s h e l l . e x e - c o m m a n d C : \ ' < r u t a -
plugin>'\Pandora_Plugin_OutlookAnywhere_Monitoring_v1.0.ps1 -S exchange_server -type
ncacn_http -R front_end_proxy -I 'username,domain,*' -P 'username,domain,*'
2>plugin_error.log
Page 13
top related