Pandora FMS
Manual Administrador
Monitorización de servidores IIS
Manual Administrador Monitorización de servidores IIS
© Artica Soluciones Tecnológicas 2005­2012
Índice de contenido
1Hist...
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 ...
2 INTRODUCCIÓN
Este documento tiene como objetivo la descripción de la monitorización masiva de contadores de 
rendimiento...
3 MATRIZ DE COMPATIBILIDAD 
La matriz de compatibilidad para el plugin se muestra a continuación:
Sistemas donde se ha pro...
4 DOCUMENTACIÓN A ENTREGAR POR EL ÁREA QUE REQUIERE LA 
MONITORIZACIÓN.
La información que debe entregar el área que requi...
5 MÓDULOS DEL PLUGIN
• Verificación de servicios
◦ Serv_IISADMIN
◦ Serv_MSFTPSVC
◦ Serv_NntpSvc
◦ Serv_SMTPSVC
◦ Serv_W3SV...
◦ Web Service(*)Files Sent/sec 
◦ Web Service(*)Total Files Received 
◦ Web Service(*)Files Received/sec 
◦ Web Service(*)...
◦ Web Service(*)Total Put Requests 
◦ Web Service(*)Put Requests/sec 
◦ Web Service(*)Total Delete Requests 
◦ Web Service...
◦ Web Service(*)CGI Requests/sec 
◦ Web Service(*)Total ISAPI Extension Requests 
◦ Web Service(*)ISAPI Extension Requests...
6 INSTALACIÓN
Copiar los plugins al directorio de plugins del agente, distrubuyéndolo mediante file collections. Lo 
mismo...
7 MONITORIZACIÓN POR DEFECTO
La monitorización por defecto de sistemas Windows incluye: 
• Monitorización de recursos del ...
Para hacer  que el  agente  software de  Pandora  que tenemos  instalado  en nuestro servidor   a 
monitorizar ejecute dic...
Edición del archivo de configuración remoto en Pandora FMS
Guardamos el archivo y reiniciamos el agente de Pandora.
Hay qu...
de distrubución centralizado integrado en Pandora FMS.
Este proceso será explicado en detalle a lo largo del documento.
Un...
Name : service
RequiredServices : {service1, service2}
CanPauseAndContinue : False
CanShutdown : True
CanStop : True
Displ...
Los parámetros de este plugin son los siguientes:
-i Interval in seconds to look for new events
-offset Timezone differenc...
A   esto   podemos   sumar   el   hecho   de   que   en   determinadas   implementaciones,   el   número   de 
conexiones ...
Este plugin sin embargo no soporta el uso de POST contra dichas URLs, sólo solicitudes GET. Para 
la   simulación   del   ...
8 EXPLICACIÓN DE LOS ARCHIVOS
– IIS Monitoring
– Powershell.exe
– counters.txt:   contiene   el   listado   de   contadore...
9 CLASIFICACIÓN DE MÓDULOS DE AGENTES SOFTWARE POR DEFECTO
9.1. Verificación de espacio en disco y recursos
La verificació...
9.4. Verificación de eventos en IIS
La   verificación   de   eventos   de   los   servidores   IIS   se   realiza   median...
– Web Service(*)Total Bytes Transferred 
– Web Service(*)Bytes Total/sec 
– Web Service(*)Total Files Sent 
– Web Service(...
– Web Service(*)Total Search Requests 
– Web Service(*)Search Requests/sec 
– Web Service(*)Total Lock Requests 
– Web Ser...
Upcoming SlideShare
Loading in …5
×

Pandora FMS: Plugin de monitorización de IIS

524 views
336 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
524
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pandora FMS: Plugin de monitorización de IIS

  1. 1. Pandora FMS Manual Administrador Monitorización de servidores IIS
  2. 2. Manual Administrador Monitorización de servidores IIS © Artica Soluciones Tecnológicas 2005­2012 Índice de contenido 1Histórico de cambios..........................................................................................................................3 2Introducción........................................................................................................................................4 3Matriz de compatibilidad ...................................................................................................................5 4Documentación a entregar por el Área que requiere la monitorización.............................................6 5Módulos del plugin.............................................................................................................................7 6Instalación.........................................................................................................................................11 7Monitorización por defecto..............................................................................................................12 7.1.Monitorización general............................................................................................................12 7.2.Ajustes de configuración adicionales......................................................................................12 7.2.1.Monitorización via Powershell........................................................................................12 7.2.2.Monitorización del registro de IIS...................................................................................16 7.2.3.Monitorización de eventos de IIS....................................................................................18 7.2.4.Monitorización de estado de IIS......................................................................................19 8Clasificación de file collections por políticas...................................................................................20 9Clasificación de módulos de agentes software por defecto..............................................................21 9.1.Verificación de espacio en disco y recursos............................................................................21 9.2.Verificación de servicios.........................................................................................................21 9.3.Verificación de estado en IIS...................................................................................................21 9.4.Verificación de eventos en IIS.................................................................................................22 9.5.Verificación de logs en IIS......................................................................................................22 9.6.Verificación de Performance Counters....................................................................................22
  3. 3. 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
  4. 4. 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 Snap­In 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. ◦ 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
  9. 9. ◦ 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
  10. 10. ◦ 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
  11. 11. 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
  12. 12. 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
  13. 13. 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 programapandora_agentpandora_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
  14. 14. 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
  15. 15. 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 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: Page 15
  16. 16. Name : service RequiredServices : {service1, service2} CanPauseAndContinue : False CanShutdown : True CanStop : True DisplayName : This is a Windows Service DependentServices : {service3} MachineName : . ServiceName : service ServicesDependedOn : {service1, service2} ServiceHandle : SafeServiceHandle Status : Stopped ServiceType : Win32ShareProcess Site : 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
  17. 17. 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:ExchangeLogsIISW3SVC1 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. – 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
  24. 24. – 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

×