Pandora FMS: Plugin Enterprise de Exchange
description
Transcript of Pandora FMS: Plugin Enterprise de Exchange
Pandora FMSManual Administrador
Monitorización Microsoft Exchange Server
Manual Administrador Monitorización Microsoft Exchange Server
© Artica Soluciones Tecnológicas 2005-2012
Índice de contenido1Histórico de cambios..........................................................................................................................32Introducción........................................................................................................................................4
2.1.Entorno Exchange: roles de servidor y configuraciones óptimas..............................................43Matriz de compatibilidad ...................................................................................................................64Documentación a entregar por el Área que requiere la monitorización.............................................75Módulos del plugin ............................................................................................................................86Requisitos.........................................................................................................................................10
6.1.Requisitos de acceso a la shell de administración de Exchange..............................................117Instalación.........................................................................................................................................12
7.1.Ajustes de configuración adicionales......................................................................................127.1.1.Monitorización via Powershell........................................................................................12
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 de servidores Microsoft
Exchange Server 2007-2010. Se han elegido una serie de módulos “base” en base a nuestra
experiencia en monitorización de sistemas y las necesidades de algunos de nuestros clientes.
Para la extracción de la información se utiliza:
• El software ya instalado en el sistema (WMI, Exchange Management Shell, Powershell),
para la monitorización realizada por el plugin sin tener que instalar librerias o utilidades de
terceros.
• Un parser de log existente (el de Pandora) para procesar los logs de alertas de Exchange.
• Una serie de chequeos basicos “por defecto”, aunque se pueden suprimir o personalizar.
• 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 como el resto de monitorización con Pandora FMS, el plugin de monitorización
Exchange se puede usar para recoger información de tipo “cadena de texto” (para tratarlo como
eventos) o de tipo numérico (para hacer gestión del rendimiento).
2.1. Entorno Exchange: roles de servidor y configuraciones óptimas
Un servidor Exchange tiene agrupadas sus distintas funcionalidades en los llamados roles de
servidor. Estos roles de servidor son los siguientes:
Mailbox Server: contiene las bases de datos de Mailbox y Public Folder.
Client Access Server: proporciona conectividad entre los clientes y sus buzones de correo.
Hub Transport Server: responsable del flujo de correo entre la organización.
Edge Transport Server: un servidor de transporte especial pensado para su implementación en
redes DMZ para proveer de un flujo de correo de entrada/salida seguro para la organización.
Unified Messaging Server: proporciona integraciones de voz y telefonía en Exchange.
En entornos pequeños lo más normal es hacer una instalación típica de Exchange en un único
servidor que incluya los roles de Mailbox, CAS y Hub Servers.
Para entornos de mayor tamaño suele ser una configuración habitual instalar los roles de servidor
de CAS y Hub en la misma máquina y separarlos de los servidores Mailbox.
De todos modos y por regla general, en grandes organizaciones se tiende a separar cada rol de
servidor Exchange en servidores dedicados para cada uno, para aumentar la flexibilidad y el
Page 4
rendimiento. Así conseguimos escalarlos de forma apropiada.
Llegamos pues a la conclusión de que podemos agrupar dichos roles entre nuestros servidores de
diferentes formas:
• Podemos implementar múltiples roles de servidor que coexistan en la misma máquina, sin
embargo cada uno de ellos deberán ser administrados como entidades separadas.
• Podemos implementar los roles de servidor de forma individual en servidores dedicados.
• El rol de servidor Edge Transport Server no puede coexistir en la misma máquina con
ninguno de los otros roles de servidor Exchange.
3 MATRIZ DE COMPATIBILIDAD
La matriz de compatibilidad para el plugin se muestra a continuación:
Page 5
Sistemas donde se ha probado• Windows Server 2003, Exhcange 2007• Windows Server 2008, Exchange 2010
Sistemas donde deberíafuncionar • Mismo sistema o superior
Según el tipo de sistema operativo, el formato en los scripts de Powershell para extraer la
información deseada pueden cambiar, con lo que sería necesario adaptar el plugin 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:
Page 6
• Máquina con las herramientas Powershell y Exchange Management Shell.
• Agente de Pandora FMS con los siguientes permisos:
◦ Administrador Exchange con permisos de sólo lectura o rol personalizado con permiso
para poder usar Remote Powershell. Los cmdlets usados por el plugin no tienen que
tener restricciones. (Organization Management, View-Only Organization Management,
Custom Role).
◦ Ususario del dominio (Domain Users).
◦ Opcionalmente el usuario puede tener permisos de Administrador de Controlador de
Dominio.
• El servidor Exchange a monitorizar debe tener los siguientes permisos:
◦ Domain Computers
◦ Exchange Servers
◦ Exchange Trusted Subsystem
• Deberá existir un usuario extest_xxxxxxxxxxxxx miembro de Domain Users para realizar
las pruebas Powershell. Esto estos usuarios se generan siendo Domain Administrator y
ejecutando “Scripts\new-TestCasConnectivityUser.ps1”.
• El plugin obtendrá automáticamente el path de cada instancia de Exchange y llamará a la
shell de administración de Exchange para hacer diversas queries para obtener información.
• Se debe poder acceder a las OWAs interna y externa desde el propio servidor CAS.
5 MÓDULOS DEL PLUGIN El plugin genera los siguientes módulos:
Page 7
• Global Exchange Monitoring
◦ MSExchangeServiceHost
• CAS Exchange Monitoring
◦ MSExchangeAB, MSExchangeADTopology
◦ MSExchangeFBA, MSExchangeFDS, MSExchangeImap4
◦ MSExchangeMailboxReplication, MSExchangePop3
◦ MSExchangeProtectedServiceHost, MSExchangeRPC
◦ MSExchangeW3SVC
• HUB Exchange Monitoring
◦ MSExchangeADTopology, MSExchangeAntiSpamUpdate
◦ MSExchangeEdgeSync, MSExchangeProtectedServiceHost
◦ MSExchangeTransport
◦ MSExchangeTransportLogSearchAttendant
• Mailbox Exchange Monitoring
◦ MSExchangeADTopology
◦ MSExchangeIS, MSExchangeMailboxAssistants
◦ MSExchangeMailSubmission, MSExchangeMonitoring
◦ MSExchangeRepl, MSExchangeRPC, MSExchangeSA
◦ MSExchangeSearch, MSExchangeSearchB
◦ MSExchangeThrottling
◦ MSExchangeServerExtensionForWindowsServerBackup
◦ MSExchangeTransport, MSExchangeTransportLogSearchAttendant
• Public Folder Exchange Monitoring
◦ MSExchangeADTopology
Page 8
◦ MSExchangeIS, MSExchangeMailboxAssistants
◦ MSExchangeMailSubmission,
◦ MSExchangeRepl, MSExchangeRPC, MSExchangeSA
◦ MSExchangeSearch, MSExchangeSearchB
◦ MSExchangeThrottling
◦ MSExchangeTransport, MSExchangeTransportLogSearchAttendant
Page 9
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.
• Tener un servidor Exchange (mínimo 2007 SP1, pues antes de SP1, varios cmdlets como
Get-Queue o Get-MessageTrackingLog, por ejemplo, no pueden ser usados en el plugin
debido a un bug documentado por Microsoft que se encuentra corregido a partir del SP1)
instalado en la máquina donde se va a monitorizar, con las herramientas básicas
(Powershell, Exchange Management Shell).
• 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 de Exchange, administrador de Exchange de sólo lectura, o rol
personalizado con permiso para usar Remote Powershell y cada uno de los cmdlets
Powershell usados por el plugin sin restricciones. (Organization Management, View-
Only Organization Management, Custom Role) (obligatorio)
◦ Usuario del dominio (Domain Users) (obligatorio)
◦ Administrador de Controlador de Dominio (opcional)
• Es necesario que el servidor Exchange donde se va a ejecutar el plugin sea miembro de los
siguientes grupos:
◦ Domain Computers (obligatorio)
◦ Exchange Servers (obligatorio)
◦ Exchange Trusted Subsystem (obligatorio)
• Deberá existir un usuario extest_xxxxxxxxxxxxx miembro de Domain Users para realizar
las pruebas Powershell. Esto se comprueba siendo Domain Administrator, ejecutando
“Scripts\new-TestCasConnectivityUser.ps1”.
• El plugin obtendrá automáticamente el path de cada instancia de Exchange y llamará a la
shell de administración de Exchange para hacer diversas queries para obtener información.
• Se debe poder acceder a las OWAs interna y externa desde el propio servidor CAS.
Page 10
6.1. Requisitos de acceso a la shell de administración de Exchange
El plugin requiere ser ejecutado por un usuario con permisos para la conexión a la shell de
administración de Exchange según el servidor al que nos queramos conectar. Ese usuario debe
tener privilegios suficientes para hacer uso de los cmdlets necesarios para obtener la información.
Para la preparación del uso de la shell de administración de Exchange. Es necesario disponer de un
usuario con privilegios de acceso para algunos de los cmdlets.
Si disponemos de los permisos necesarios, con una instalación por defecto del agente de Pandora
es suficiente y no hay que configurar nada adicional.
Page 11
7 INSTALACIÓN
Copiar el plugin al directorio de plugins del agente, distrubuyéndolo mediante file collections. Lo
mismo con el archivo conf. La llamada desde el agente será similar a esta, pero usando los paths
donde esté instalado el plugin y el conf.
module_plugin "<ruta-powershell>\powershell.exe" -PSConsoleFile "E:\Program Files\Microsoft\Exchange Server\Bin\exshell.psc1" -command C:\'<ruta-plugin>\pandora_exchange.ps1'
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 servidor Exchange, vamos a explicar como obtener información sobre el estado del servidor en general, desde actividad de los diferentes servicios así como sondas de Exchange que mediante diferentes cmdlets se encargan de realizar comprobaciones sobre elementos críticos de nuestros sistemas.
Para este caso instalaremos tanto un agente software de Pandora como el plugin de Exchange en la máquina del servidor Exchange. El plugin de Exchange en Powershell se trata de un plugin de agente usado por Pandora.
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 a enviar luego al servidor de Pandora para ser procesado).
Para hacer que el agente software de Pandora que tenemos instalado en nuestro servidor a monitorizar ejecute dicho script, debemos editar el archivo de configuración del agente y hacer la llamada 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 de administración de Pandora FMS. Para ello, antes deberemos haber activado la opcion remote_config en el mismo archivo a 1. Este archivo está localizado por defecto en:
C:\Archivos de programa\pandora_agent\pandora_agent.conf
Page 12
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:
# Plugin for monitoring Microsoft Exchange Server
module_plugin "<ruta-powershell>\powershell.exe" -PSConsoleFile "E:\Program Files\Microsoft\Exchange Server\Bin\exshell.psc1" -command C:\'<ruta-plugin>\Pandora_Plugin_Exchange_vx.y.ps1'
Guardamos el archivo y reiniciamos el agente de Pandora.
Page 13
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 la lista completa de servidores y hacer la misma comprobación para cada uno, seleccionar
una lista de servidores, para que el plugin haga una única comprobación y módulo para todos los
servidores contenidos en dicha lista. Dicha lista la deberemos situar en la misma carpeta donde se
encuentra el plugin, con el nombre mailbox_servers.txt Veamos un ejemplo de su contenido:
ESTGVMSD201ESTGVMSD202ESTGVMSD401ESTGVMST402
Conteniendo mailbox_servers.txt estos servidores, para todos los módulos que se dediquen a hacer
comprobaciones de toda la lista de servidores, en vez de ello hará la consulta únicamente de estos
cuatro servidores y hará los módulos en base a la lista proporcionada por nosotros. 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
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 siguuiente:
Page 14
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 :
Page 15