pandora fms: plugin de monitorización de iis

24
Pandora FMS Manual Administrador Monitorización de servidores IIS

Upload: artica-st

Post on 07-Jul-2015

221 views

Category:

Technology


15 download

DESCRIPTION

Este plugin permite realizar una monitorización masiva del rendimiento en entornos de Windows con el servicio IIS integrado. Para más información visite la siguiente pagina web: http://pandorafms.com/index.php?sec=Library&sec2=repository&lng=en&action=view_PUI&id_PUI=279

TRANSCRIPT

Page 1: Pandora FMS: Plugin de monitorización de IIS

Pandora FMSManual Administrador

Monitorización de servidores IIS

Page 2: Pandora FMS: Plugin de monitorización de IIS

Manual Administrador Monitorización de servidores IIS

© Artica Soluciones Tecnológicas 20052012

Í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.............................................................................................................................76Instalación.........................................................................................................................................117Monitorización por defecto..............................................................................................................12

7.1.Monitorización general............................................................................................................127.2.Ajustes de configuración adicionales......................................................................................12

7.2.1.Monitorización via Powershell........................................................................................127.2.2.Monitorización del registro de IIS...................................................................................167.2.3.Monitorización de eventos de IIS....................................................................................187.2.4.Monitorización de estado de IIS......................................................................................19

8Clasificación de file collections por políticas...................................................................................209Clasificación de módulos de agentes software por defecto..............................................................21

9.1.Verificación de espacio en disco y recursos............................................................................219.2.Verificación de servicios.........................................................................................................219.3.Verificación de estado en IIS...................................................................................................219.4.Verificación de eventos en IIS.................................................................................................229.5.Verificación de logs en IIS......................................................................................................229.6.Verificación de Performance Counters....................................................................................22

Page 3: Pandora FMS: Plugin de monitorización de IIS

1 HISTÓRICO DE CAMBIOS

Fecha Autor Cambio Versión

17/03/12 Dario Primera versión del plugin v1r1

27/11/12 Mario_P Cambios en el codigo v1r3

Page 3

Page 4: Pandora FMS: Plugin de monitorización de IIS

2 INTRODUCCIÓN

Este documento tiene como objetivo la descripción de la monitorización masiva de contadores de 

rendimiento en entornos Windows con un servicio IIS integrado, así como la monitorización del 

estado de Sites, Application Pools, URLs y de los eventos y registros de este mismo servicio. 

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.

• El SnapIn o módulo Powershell “WebAdministration”, es decir, la consola de administración 

de IIS para Powershell.

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),  mientras que el  plugin de 

monitorización del  registro de IIS está  más orientado al   troubleshooting y a la ejecución como 

herramienta de análisis del log, que a la monitorización síncrona.

Page 4

Page 5: Pandora FMS: Plugin de monitorización de IIS

3 MATRIZ DE COMPATIBILIDAD 

La matriz de compatibilidad para el plugin se muestra a continuación:

Sistemas donde se ha probado • Windows Server 2008

Sistemas donde debería funcionar • Mismo sistema o superior

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.

Page 5

Page 6: Pandora FMS: Plugin de monitorización de IIS

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:

• Requisitos de la máquina:

◦ Agente Pandora FMS instalado

• Una consola Powershell 2.0 para ejecutar el plugin. Por defecto viene instalada en sistemas 

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  polí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 servidor IIS (Plugin IIS Status), así como de los 

registros de IIS y de los eventos generados que guarden relación con este (Plugin IIS Logs e 

IIS Events)

Page 6

Page 7: Pandora FMS: Plugin de monitorización de IIS

5 MÓDULOS DEL PLUGIN

• Verificación de servicios

◦ Serv_IISADMIN

◦ Serv_MSFTPSVC

◦ Serv_NntpSvc

◦ Serv_SMTPSVC

◦ Serv_W3SVC

◦ Serv_HTTPFilter

• Verificación de estado en IIS

◦ AppPool Status – AppPoolName

◦ Site Status – SiteName

◦ WebURL Status – URL

• Verificación de eventos en IIS

◦ Event ID

• Verificación de logs en IIS

◦ Error 404 – IIS Hostname

◦ Error 500 – IIS Hostname

◦ Error 503 – IIS Hostname

◦ Error 504 – IIS Hostname

◦ Error 505 – IIS Hostname

• Verificación de Performance Counters

◦ \Web Service(*)\Total Bytes Sent 

◦ \Web Service(*)\Bytes Sent/sec 

◦ \Web Service(*)\Total Bytes Received 

◦ \Web Service(*)\Bytes Received/sec 

◦ \Web Service(*)\Total Bytes Transferred 

◦ \Web Service(*)\Bytes Total/sec 

◦ \Web Service(*)\Total Files Sent 

Page 7

Page 8: Pandora FMS: Plugin de monitorización de IIS

◦ \Web Service(*)\Files Sent/sec 

◦ \Web Service(*)\Total Files Received 

◦ Web Service(*)\Files Received/sec 

◦ \Web Service(*)\Total Files Transferred 

◦ \Web Service(*)\Files/sec 

◦ \Web Service(*)\Current Anonymous Users 

◦ \Web Service(*)\Current NonAnonymous Users 

◦ \Web Service(*)\Total Anonymous Users 

◦ \Web Service(*)\Anonymous Users/sec 

◦ \Web Service(*)\Total NonAnonymous Users 

◦ \Web Service(*)\NonAnonymous Users/sec 

◦ \Web Service(*)\Maximum Anonymous Users 

◦ \Web Service(*)\Maximum NonAnonymous Users 

◦ \Web Service(*)\Current Connections 

◦ \Web Service(*)\Maximum Connections 

◦ \Web Service(*)\Total Connection Attempts (all instances) 

◦ \Web Service(*)\Connection Attempts/sec 

◦ \Web Service(*)\Total Logon Attempts 

◦ \Web Service(*)\Logon Attempts/sec 

◦ \Web Service(*)\Total Options Requests 

◦ \Web Service(*)\Options Requests/sec 

◦ \Web Service(*)\Total Get Requests 

◦ \Web Service(*)\Get Requests/sec 

◦ \Web Service(*)\Total Post Requests 

◦ \Web Service(*)\Post Requests/sec 

◦ \Web Service(*)\Total Head Requests 

◦ \Web Service(*)\Head Requests/sec 

Page 8

Page 9: Pandora FMS: Plugin de monitorización de IIS

◦ \Web Service(*)\Total Put Requests 

◦ \Web Service(*)\Put Requests/sec 

◦ \Web Service(*)\Total Delete Requests 

◦ \Web Service(*)\Delete Requests/sec 

◦ \Web Service(*)\Total Trace Requests 

◦ \Web Service(*)\Trace Requests/sec 

◦ \Web Service(*)\Total Move Requests 

◦ \Web Service(*)\Move Requests/sec 

◦ \Web Service(*)\Total Copy Requests 

◦ \Web Service(*)\Copy Requests/sec 

◦ \Web Service(*)\Total Mkcol Requests 

◦ \Web Service(*)\Mkcol Requests/sec 

◦ \Web Service(*)\Total Propfind Requests 

◦ \Web Service(*)\Propfind Requests/sec 

◦ \Web Service(*)\Total Proppatch Requests 

◦ \Web Service(*)\Proppatch Requests/sec 

◦ \Web Service(*)\Total Search Requests 

◦ \Web Service(*)\Search Requests/sec 

◦ \Web Service(*)\Total Lock Requests 

◦ \Web Service(*)\Lock Requests/sec 

◦ \Web Service(*)\Total Unlock Requests 

◦ \Web Service(*)\Unlock Requests/sec

◦ \Web Service(*)\Total Other Request Methods 

◦ \Web Service(*)\Other Request Methods/sec 

◦ \Web Service(*)\Total Method Requests 

◦ \Web Service(*)\Total Method Requests/sec 

◦ \Web Service(*)\Total CGI Requests 

Page 9

Page 10: Pandora FMS: Plugin de monitorización de IIS

◦ \Web Service(*)\CGI Requests/sec 

◦ \Web Service(*)\Total ISAPI Extension Requests 

◦ \Web Service(*)\ISAPI Extension Requests/sec 

◦ \Web Service(*)\Total Not Found Errors 

◦ \Web Service(*)\Not Found Errors/sec 

◦ \Web Service(*)\Total Locked Errors 

◦ \Web Service(*)\Locked Errors/sec 

◦ \Web Service(*)\Current CGI Requests 

◦ \Web Service(*)\Current ISAPI Extension Requests 

◦ \Web Service(*)\Maximum CGI Requests 

◦ \Web Service(*)\Maximum ISAPI Extension Requests 

◦ \Web Service(*)\Current CAL count for authenticated users 

◦ \Web Service(*)\Maximum CAL count for authenticated users 

◦ \Web Service(*)\Total count of failed CAL requests for authenticated users 

◦ \Web Service(*)\Current CAL count for SSL connections 

◦ \Web Service(*)\Maximum CAL count for SSL connections 

◦ \Web Service(*)\Total count of failed CAL requests for SSL connections 

◦ \Web Service(*)\Total Blocked Async I/O Requests 

◦ \Web Service(*)\Total Allowed Async I/O Requests 

◦ \Web Service(*)\Total Rejected Async I/O Requests 

◦ \Web Service(*)\Current Blocked Async I/O Requests 

◦ \Web Service(*)\Measured Async I/O Bandwidth Usage 

◦ \Web Service(*)\Total blocked bandwidth bytes. 

◦ \Web Service(*)\Current blocked bandwidth bytes. 

◦ \Web Service(*)\Service Uptime

Page 10

Page 11: Pandora FMS: Plugin de monitorización de IIS

6 INSTALACIÓN

Copiar los plugins al directorio de plugins del agente, 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:

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

Page 11

Page 12: Pandora FMS: Plugin de monitorización de IIS

7 MONITORIZACIÓN POR DEFECTO

La monitorización por defecto de sistemas Windows incluye: 

• Monitorización de recursos del sistema.

• Monitorización de servicios.

• Monitorización de eventos y logs del sistema.

• Monitorización de contadores de rendimiento.

7.1. Monitorización general

Por   nuestra   experiencia   en   entornos   Windows,   hemos   determinado   que   algunos   módulos   son 

interesantes a tener en cuenta de cara a una monitorización, y por ello vienen incluidos por defecto 

en el pandora_agent.conf.

Existen diversas plantillas de configuración y plugins, con distintos módulos por defecto en cada 

caso, para cada tecnología, aparte de la plantilla por defecto.

7.2. 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.2.1. Monitorización via Powershell   

Partiendo de la base de que ya tenemos instalado y configurado tanto Pandora como el sistema a  

monitorizar, vamos a explicar como obtener información sobre el estado del servidor IIS en general, 

desde actividad de los diferentes servicios así como contadores a raiz de Powershell que mediante 

diferentes cmdlets se encargará  de realizar comprobaciones sobre elementos críticos de nuestros 

sistemas.

Para este caso instalaremos tanto un agente software de Pandora como los diferentes plugins de 

agente 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 a 

enviar luego al servidor de Pandora para ser procesado).

Page 12

Page 13: Pandora FMS: Plugin de monitorización de IIS

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

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.

Listado de agentes en la vista de gestión de Pandora FMS

Introduciremos lo siguiente al final del archivo de configuración por ejemplo:

# Agent Plugins for IIS Monitoring

module_plugin "<ruta-powershell>\powershell.exe" -command C:\'<ruta-plugin>\Pandora_Plugin_IIS_Log_v1.0.ps1' -format W3C -offset 1 -i 300 -path C:\'<ruta-logs>' 2> regplugin_error.log

module_plugin "<ruta-powershell>\powershell.exe" -command C:\'<ruta-plugin>\Pandora_Plugin_IIS_Events_v1.0.ps1' -i 300 2> eventplugin_error.log

module_plugin "<ruta-powershell>\powershell.exe" -command "C:\'<ruta-plugin>\Pandora_Plugin_IIS_Status_v1.0.ps1' -select all -list C:\'<ruta-listado>\URLs.txt'"

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

Page 13

Page 14: Pandora FMS: Plugin de monitorización de IIS

Edición del archivo de configuración remoto en Pandora FMS

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.

En  el   supuesto  de  que  quisiéramos  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 

Page 14

Page 15: Pandora FMS: Plugin de monitorización de IIS

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 

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:

Get-Service | Select-Object -Property *

Normalmente el resultado del cmdlet GetService 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:

Page 15

Page 16: Pandora FMS: Plugin de monitorización de IIS

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.2.2. Monitorización del registro de IIS   Es posible habilitar, si es que no está habilitado ya, el registro de IIS, para guardar un log con todas 

estas conexiones y su código de estado, en el lado del servidor, tal y como se especifica en los 

artículos   de   Microsoft:  

http://support.microsoft.com/kb/318380/es

http://support.microsoft.com/kb/313437/es 

Se pueden definir módulos que comprueben el contenido de este registro y que reporte y genere 

evento cada vez que encuentre información de estos códigos de error, que impliquen un corte en el 

servicio.

Con   este   propósito   se   ha   desarrollado   un   plugin   Powershell   al   que,   indicando   la   ruta   de 

almacenamiento de  los   logs  de  IIS o  la   ruta  de un  fichero  log en concreto,  buscará  en el   log 

seleccionado o el log actualmente en uso, en todo intento de conexión contra los IIS, aquellos cuyo 

código de estado HTTP haya resultado ser uno de los siguientes:

– 404: Not Found

– 500: Internal Server Error

– 503: Service Unavailable

– 504: Gateway Timeout

– 505: HTTP Version Not Supported

Page 16

Page 17: Pandora FMS: Plugin de monitorización de IIS

Los parámetros de este plugin son los siguientes:

-i Interval in seconds to look for new events

-offset Timezone difference (W3C Format Only - Timestamp in W3C log entries is displayed in GMT zone)

-format IIS Log Format (W3C, IIS, NCSA)

-file Path to a specific IIS log file (not to be used with the path parameter)

-path Path to the IIS logs directory (not to be used with the file paramenter)

Usage example for a server with a local time of GMT+1: .\Pandora_Plugin_IIS_Log_v1.0.ps1 -format W3C -i 300 -offset 1 -path L:\Exchange\Logs\IIS\W3SVC1\ 2> plugin_error.log

Para el correcto funcionamiento del plugin cabe destacar que:

– El intervalo a utilizar deberá ser el mismo que el intervalo del agente.

– En caso de usar el formato de log W3C (por defecto), habrá que hacer uso del parámetro 

offset para establecer la diferencia horaria de GMT a GMT+1 (1)

– En caso de usar el formato de log W3C, se deberán usar los campos del log por defecto. Lo 

contrario implicará una modificación en el plugin a nivel de código.

– En caso de que no se creen logs diariamente (por defecto), sino que exista un único log, será 

recomendable hacer uso del parámetro file en vez de path.

– En caso de que se creen logs diariamente (por defecto), horaria, semanal o mensualmente, 

se deberá hacer uso del parámetro path en vez de file. En cualquier caso será preferible la 

generación por defecto o la horaria para una mayor rapidez en la presentación de los datos 

extraídos del log.

El problema persiste en que los códigos de estado HTTP específicos (xxx.x) sólo serán mostrados al 

cliente en el navegador, ya que el registro de IIS únicamente guarda códigos de estado simple, con 

lo que adicionalmente y tanto para el caso del control de estos códigos específicos.

Módulos generados por el plugin de logs de IIS

Page 17

Page 18: Pandora FMS: Plugin de monitorización de IIS

A   esto   podemos   sumar   el   hecho   de   que   en   determinadas   implementaciones,   el   número   de 

conexiones diarias u horarias es tal, que el registro de conexiones de IIS es de una envergadura que 

el plugin es incapaz de procesar lo suficientemente rápido para definir una monitorización sincrona, 

con lo que su uso se encuentra más orientado al troubleshooting que a la monitorización.

7.2.3. Monitorización de eventos de IIS   Otra fuente importante de  información de cara a la monitorización en entornos Windows es el 

contenido de los logs de eventos. 

Para el caso de IIS existen una serie de fuentes en los logs de eventos del sistema, de los cuales 

podemos extraer todos los eventos relacionados con esta tecnología de forma masiva mediante un 

plugin   de   agente   Powershell,   cuyo   propósito   es   el   de   generar   módulos   por   cada   Event   ID 

relacionada con IIS, actualizándose sus valores a cada intervalo de ejecución del agente en caso de 

que existan nuevas entradas en los logs de eventos con dichas IDs.

Sólo tenemos que pasarle al plugin el intervalo del agente como parámetro y éste hará el resto.

Módulos generados por el plugin de eventos de IIS

7.2.4. Monitorización de estado de IIS   Adicionalmente,   haciendo   uso   de   la   consola   de   administración   Powershell   de   IIS,   podemos 

fácilmente obtener información acerca del estado de los diferentes WebSites y Application Pools, así 

como de las aplicaciones contenidas en estos, mediante un plugin de agente Powershell ejecutado 

desde dicha interfaz. Además, es posible hacer chequeos web simples de forma masiva, pasando un 

listado de URLs como parámetro de este plugin para generar módulos automáticamente reportando 

el estado de cada URL y en caso de error, actualizar su descripción con el código de estado HTTP 

resultante.

Page 18

Page 19: Pandora FMS: Plugin de monitorización de IIS

Este plugin sin embargo no soporta el uso de POST contra dichas URLs, sólo solicitudes GET. Para 

la   simulación   del   proceso   de   autenticación   y   envío/recepción   de   correos   se   requiere   la 

implementación de los chequeos Goliat comentados anteriormente.

Los parámetros de este plugin son los siguientes:

-select all All operations are executed

-select server-status Only operations to check sites and application pools are executed

-select web-status Only operations to check HTTP status codes from an URL list are executed

-list Provides a path for a list with URLs to check (to use with all and webstatus only)

Usage example: .\Pandora_Plugin_IIS_v1.0.ps1 -select all -list URLs.txt 2> plugin_error.log

Podemos elegir entre ejecutar todas las operaciones, o comprobar únicamente el estado de Websites 

y Application Pools, o sólo los chequeos web.

Módulos generados por el plugin de estado IIS

Page 19

Page 20: Pandora FMS: Plugin de monitorización de IIS

8 EXPLICACIÓN DE LOS ARCHIVOS

– IIS Monitoring

– Powershell.exe

– counters.txt:   contiene   el   listado   de   contadores   de   rendimiento   a   monitorizar.   Este 

archivo debe estar ubicado en la misma ruta donde se ejecuta el plugin de Powershell.

– URLs.txt: contiene el listado de URLs a monitorizar. Este archivo debe estar ubicado en 

la misma ruta del plugin de Powershell.

– Pandora_Plugin_PerfCounter_vx.y.ps1:   plugin   para   la   monitorización   completa   de 

contadores de rendimiento.

– Pandora_Plugin_IIS_Status_vx.y.ps1:   plugin   para   la   monitorización   del   estado   de 

WebSites, ApplicationPools y URLs de IIS.

– Pandora_Plugin_IIS_Logs_vx.y.ps1: plugin para la monitorización de los códigos de error 

en los registros de IIS.

– Pandora_Plugin_IIS_Events_vx.y.ps1: plugin para la monitorización de los eventos del 

sistema relacionados con IIS.

Page 20

Page 21: Pandora FMS: Plugin de monitorización de IIS

9 CLASIFICACIÓN DE MÓDULOS DE AGENTES SOFTWARE POR DEFECTO

9.1. Verificación de espacio en disco y recursos

La verificación de espacio en disco se realiza mediante el plugin Pandora_Plugin_Win32Volume.ps1 

y es aplicada en la política general de Windows. La verificación de recursos se realiza mediante 

módulos en la misma política de Windows.

9.2. Verificación de servicios

A continuación se muestra un listado de algunos de los servicios más importantes a monitorizar en 

un sistema con servidor IIS incorporado. Existe otra serie de servicios necesarios que son incluídos 

en la política de monitorización general de sistemas operativos Windows: 

• IIS Monitoring

– Serv_IISADMIN

– Serv_MSFTPSVC

– Serv_NntpSvc

– Serv_SMTPSVC

– Serv_W3SVC

– Serv_HTTPFilter

9.3. Verificación de estado en IIS

La   verificación   de   estado   de   los   servidores   IIS   se   realiza   mediante   el   plugin 

Pandora_Plugin_IIS_Status.ps1 y puede ser aplicada en la tecnología específica de IIS, de forma 

genérica, o añadiendo diferentes listados de URLs para diferentes agentes a la hora de realizar 

chequeos web simples.

Módulos generados:

• IIS Monitoring

– AppPool Status – AppPoolName

– Site Status – SiteName

– WebURL Status – URL

Page 21

Page 22: Pandora FMS: Plugin de monitorización de IIS

9.4. Verificación de eventos en IIS

La   verificación   de   eventos   de   los   servidores   IIS   se   realiza   mediante   el   plugin 

Pandora_Plugin_IIS_Events.ps1 y puede ser aplicada en la tecnología específica de IIS, de forma 

genérica.

Módulos generados:

• IIS Monitoring

– Event ID

Otra opción es la creación de módulos de agente software para la monitorización de algunos de los 

Event IDs más importantes de esta tecnología

9.5. Verificación de logs en IIS

La   verificación   de   logs   de   conexiones   de   los   servidores   IIS   se   realiza   mediante   el   plugin 

Pandora_Plugin_IIS_Logs.ps1  y  puede ser  aplicada  en  la   tecnología  específica  de  IIS,  de   forma 

genérica, por cada servidor y por cada site.

Módulos generados:

• IIS Monitoring

– Error 404 – IIS Hostname

– Error 500 – IIS Hostname

– Error 503 – IIS Hostname

– Error 504 – IIS Hostname

– Error 505 – IIS Hostname

9.6. Verificación de Performance Counters

La   verificación   de   contadores   de   rendimiento   se   realiza   mediante   el   plugin 

Pandora_Plugin_PerfCounter.ps1   y   puede   ser   aplicada   en   diferentes   políticas   para   diferentes 

tecnologías,   cada   una   con   diferentes   listados   de   contadores   en   función   de   qué   queramos 

monitorizar de cada una de dichas tecnologías.

A continuación mostramos el listado de contadores que se pueden monitorizar en el caso de IIS:

• IIS Monitoring

– \Web Service(*)\Total Bytes Sent – \Web Service(*)\Bytes Sent/sec – \Web Service(*)\Total Bytes Received – \Web Service(*)\Bytes Received/sec 

Page 22

Page 23: Pandora FMS: Plugin de monitorización de IIS

– \Web Service(*)\Total Bytes Transferred – \Web Service(*)\Bytes Total/sec – \Web Service(*)\Total Files Sent – \Web Service(*)\Files Sent/sec – \Web Service(*)\Total Files Received – \Web Service(*)\Files Received/sec – \Web Service(*)\Total Files Transferred – \Web Service(*)\Files/sec – \Web Service(*)\Current Anonymous Users – \Web Service(*)\Current NonAnonymous Users – \Web Service(*)\Total Anonymous Users – \Web Service(*)\Anonymous Users/sec – \Web Service(*)\Total NonAnonymous Users – \Web Service(*)\NonAnonymous Users/sec – \Web Service(*)\Maximum Anonymous Users – \Web Service(*)\Maximum NonAnonymous Users – \Web Service(*)\Current Connections – \Web Service(*)\Maximum Connections – \Web Service(*)\Total Connection Attempts (all instances) – \Web Service(*)\Connection Attempts/sec – \Web Service(*)\Total Logon Attempts – \Web Service(*)\Logon Attempts/sec – \Web Service(*)\Total Options Requests – \Web Service(*)\Options Requests/sec – \Web Service(*)\Total Get Requests – \Web Service(*)\Get Requests/sec – \Web Service(*)\Total Post Requests – \Web Service(*)\Post Requests/sec – \Web Service(*)\Total Head Requests – \Web Service(*)\Head Requests/sec – \Web Service(*)\Total Put Requests – \Web Service(*)\Put Requests/sec – \Web Service(*)\Total Delete Requests – \Web Service(*)\Delete Requests/sec – \Web Service(*)\Total Trace Requests – \Web Service(*)\Trace Requests/sec – \Web Service(*)\Total Move Requests – \Web Service(*)\Move Requests/sec – \Web Service(*)\Total Copy Requests – \Web Service(*)\Copy Requests/sec – \Web Service(*)\Total Mkcol Requests – \Web Service(*)\Mkcol Requests/sec – \Web Service(*)\Total Propfind Requests – \Web Service(*)\Propfind Requests/sec – \Web Service(*)\Total Proppatch Requests – \Web Service(*)\Proppatch Requests/sec 

Page 23

Page 24: Pandora FMS: Plugin de monitorización de IIS

– \Web Service(*)\Total Search Requests – \Web Service(*)\Search Requests/sec – \Web Service(*)\Total Lock Requests – \Web Service(*)\Lock Requests/sec – \Web Service(*)\Total Unlock Requests – \Web Service(*)\Unlock Requests/sec – \Web Service(*)\Total Other Request Methods – \Web Service(*)\Other Request Methods/sec – \Web Service(*)\Total Method Requests – \Web Service(*)\Total Method Requests/sec – \Web Service(*)\Total CGI Requests – \Web Service(*)\CGI Requests/sec – \Web Service(*)\Total ISAPI Extension Requests – \Web Service(*)\ISAPI Extension Requests/sec – \Web Service(*)\Total Not Found Errors – \Web Service(*)\Not Found Errors/sec – \Web Service(*)\Total Locked Errors – \Web Service(*)\Locked Errors/sec – \Web Service(*)\Current CGI Requests – \Web Service(*)\Current ISAPI Extension Requests – \Web Service(*)\Maximum CGI Requests – \Web Service(*)\Maximum ISAPI Extension Requests – \Web Service(*)\Current CAL count for authenticated users – \Web Service(*)\Maximum CAL count for authenticated users – \Web Service(*)\Total count of failed CAL requests for authenticated users – \Web Service(*)\Current CAL count for SSL connections – \Web Service(*)\Maximum CAL count for SSL connections – \Web Service(*)\Total count of failed CAL requests for SSL connections – \Web Service(*)\Total Blocked Async I/O Requests – \Web Service(*)\Total Allowed Async I/O Requests – \Web Service(*)\Total Rejected Async I/O Requests – \Web Service(*)\Current Blocked Async I/O Requests – \Web Service(*)\Measured Async I/O Bandwidth Usage – \Web Service(*)\Total blocked bandwidth bytes. – \Web Service(*)\Current blocked bandwidth bytes. – \Web Service(*)\Service Uptime

Page 24