La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Iván González Microsoft MVP – Windows Server - IIS IIS 6.0 Administración Avanzada.

Presentaciones similares


Presentación del tema: "Iván González Microsoft MVP – Windows Server - IIS IIS 6.0 Administración Avanzada."— Transcripción de la presentación:

1

2 Iván González Microsoft MVP – Windows Server - IIS IIS 6.0 Administración Avanzada

3 Agenda Reciclado de aplicaciones Diagnóstico de errores HTTP 500 Trazado y auditoría con Windows Server 2003 SP1 LogParser

4 Reciclado de aplicaciones Cambios en la Arquitectura Objetivo: Lograr el completo aislamiento entre núcleo del servidor Web y las aplicaciones Web La funcionalidad en INETINFO se divide: –HTTP.sys: escucha las peticiones en modo kernel y las enruta –W3SVC: configuración y gestión de procesos –W3Core: donde se ejecutan las aplicaciones Web Varias dlls W3Core se cargan dentro de procesos W3WP.exe Dos modelos de procesos –Modo de aislamiento de Worker Processes –Modo de aislamiento de IIS 5.0

5 Reciclado de aplicaciones El modelo de procesos de IIS 5.0 INETINFO.exe metabase ftp, smtp, nntp W3SVC Winsock Filtros ISAPI In-proc Apps ASP.NET.Net App Domain ASPNET_WP.exe Pooled OOP Apps DLLHOST.exe Isolated OOP App DLLHOST.exe Isolated OOP App DLLHOST.exe Isolated OOP App DLLHOST.exe Modo usuario Modo kernel

6 Reciclado de aplicaciones Modo de aislamiento de Worker Processes en IIS 6.0 INETINFO.exe metabase ftp, smtp, nntp Modo usuario Modo kernel HTTP.SYS W3SVC SVCHOST.exe W3 Config Mgr W3 Process Mgr W3Core Filtros ISAPI W3WP.exe Apps (no OOP) Application Pool W3Core Filtros ISAPI W3WP.exe Apps (no OOP) Application Pool W3Core W3WP.exe Application Pool ASP.net Apps.Net App Domain

7 Reciclado de aplicaciones Application Pools Podemos tener uno o más –Cada uno servidor por uno o más W3WP.exe –Cada W3WP.exe solo sirve un pool –Peticiones redirigidas al pool por HTTP.sys Podemos aislar las aplicaciones Web basándonos: –En sitio/cliente –En la funcionalidad –En la fiabilidad

8 Reciclado de aplicaciones Reciclado periódico de los procesos Qué es –Reiniciamos las aplicaciones Web basándonos en: El tiempo que llevan funcionando El número de peticiones En un calendario En el consumo de memoria Bajo demanda Porqué usarlo –Prevenir que aplicaciones defectuosas afecten al sistema –Refrescar las aplicaciones para aumentar la disponibilidad

9 Reciclado de aplicaciones Arquitectura con autorecuperación Qué es –Diseñada para detectar bloqueos de threads dentro de W3WP.exe Cómo funciona –W3SVC consulta cada W3WP.exe –El proceso tiene un tiempo para responder –Si no responde en ese tiempo: Matar el proceso, publicar un evento y lanzar uno nuevo (por defecto) IIS puede ser configurado para realizar una acción sobre el proceso

10 Reciclado de aplicaciones Detección de fallos y recuperación Detección de fallos –W3SVC detecta casques en W3WP.exe –W3SVC lanzará un nuevo W3WP.exe si es necesario –Las peticiones son encoladas por HTTP.sys mientras se crea el nuevo W3WP –Resultado: no existe interrupción en el servicio Protección –Solo se permiten x fallos en y minutos –El pool será detenido si se superan estos valores (error 503 para las peticiones)

11 Reciclado de aplicaciones Rendimiento Web Garden –Application pool con más de un Worker Process Afinidad de procesador –Vincular los procesos de un Application pool a uno o más procesadores Se hace caché de las respuestas en HTTP.sys (kernel) Se liberan los procesos después de un tiempo de inactividad Se relanzarán cuando sea necesario (peticiones) Esto no implica que la aplicación no esté activa!!

12 demo

13 Diagnóstico de errores HTTP 500 Introducción a los errores HTTP 500 Varios tipos de errores 500 Diagnóstico

14 Errores HTTP 500 El protocolo HTTP está formado por varios mensajes –100: Información –200: OK –300: Redirección –400: Error del cliente –500: Error del servidor El RPF para el protocolo HTTP –http://www.w3.org/Protocols/rfc2616/rfc2616.htmlhttp://www.w3.org/Protocols/rfc2616/rfc2616.html

15 Errores HTTP 500 (II) Los errores HTTP 500 devuelven una página genérica al cliente ( asp) Excepciones: – – Internet Explorer a menudo reemplazará este error –Deshabilitar los mensajes descriptivos de error en Internet Explorer Opciones de Internet, Opciones Avanzadas, Examinar

16 Errores HTTP 500 (III) Algunas herramientas y logs ayudan a solucionar los problemas de errores HTTP 500: –Los logs de IIS: %windir%\system32\logfiles –Visor de sucesos –Monitor de red –WFetch: Q –IIS Debug ToolKit 1.1 –Herramientas de depuración para Windows

17 HTTP 503 Service Unavailable El servidor es actualmente incapaz de manejar la petición debido a una sobrecarga temporal o a mantenimiento del servidor. Las herramientas de depuración de IIS y el monitor de rendimiento son útiles para solucionar este problema. Posibles causas del problema –Problemas de conectividad a la Base de Datos –Más peticiones de las esperadas están llegando al servidor –El App Pool está offline

18 HTTP El mensaje de error: HTTP – Internal Server Error – ASP Error Si deshabilitamos los errores de Internet Explorer: Podría ser un problema de permisos que podemos solucionar con regmon o filemon

19 HTTP (II) Con los mensajes de error de Internet Explorer deshabilitados podríamos obtener Este error está documentado en el artículo La solución fue registrar de nuevo el componente (dll)

20 demo

21 Trazado y auditoría con Windows Server 2003 SP1 Nueva instrumentación en IIS6 SP1 –Enhanced Request-based Tracing –Currently-executing Requests Tracing –Auditoría de la Metabase Uso de la nueva instrumentación –Cuelgues o fallos en peticiones –Problemas de Autenticación/Autorización –¿Qué se está ejecutando actualmente? –¿Quién cambió qué, cuándo y cómo?

22 Enhanced Request-based Tracing Introducción OBJETIVO: seguir las peticiones a través de IIS y en ASP/ASP.NET a través de eventos de traza CÓMO: Eventos de traza ETW en 4 proveedores principales –IIS: WWW Server –IIS: W3 Isapi –IIS: Active Server Pages (ASP) –ASP.NET Events PORQUÉ usar ETW? –Mecanismo de trazado general de alto rendimiento –Configuración dinámica – no es necesario reiniciar para reconfigurar –SIN VOLCADOS!!

23 Enhanced Request-based Tracing Un vistazo a ETW Provider C Provider B Provider A Trace files Controller … Consumer Real time delivery Logged Events Session 1 Buffers Session 2Session 64 Event Tracing Sessions Events Enable/Disable Session Control Consumer

24 Enhanced Request-based Tracing IIS y ETW IisTraceSession ETW Infrastructure W3wp.exe Isapi filter Asp.dll Some COM obj obj C:\Logman start IisTrace – pf MyProvs.txt -ets Tracing enabled New request REQ_START FILTER_START FILTER_END ASP_REQ_START COM_OBJ_START COM_OBJ_END ASP_REQ_END REQ_END C:\logman stop IisTrace -ets IisTrace.etl

25 Enhanced Request-based Tracing Uso de trazas Controlar las trazas –Logman.exe –Perfmon Logs & Alerts service –APIs de la plataforma no manejadas Consumir trazas –Tracerpt.exe: consume ETLs, informes de salida y csvs –Excel para ver csvs –LogParser 2.2: lee ETLs

26 Enhanced Request-based Tracing IIS WWW Server Provider Los eventos cubren – Cuando W3WP.exe recoge la petición – a – – Cuando W3WP.exe termina con la petición – EXCLUYE: El manejo de ISAPI -> cubierto por IIS: W3 Isapi & proveedores ISAPI individuales (ASP/ASP.net) Flags: 9 en total, 7 para filtrado Verbosidad: – 0. GENERAL – 1. Errores críticos – 2. Errores – 3. Advertencias – 4. Información – 5. Verbose Flag#Descripción UseUrlFilter0x1Filtras URLs específicas IISAuthentication0x2Eventos autenticación IISSecurity0x4Eventos autorización IISFilter0x8Eventos filtros ISAPI IISStaticFile0x10Manejador de ficheros estáticos IISCGI0x20Eventos relacionados con CGIs IISCompression0x40Compresión estática & dinámica IISCache0x80Eventos relacionados con la caché IISAll0xFETodos los eventos

27 Enhanced Request-based Tracing Trazar URLS específicas ¿Qué es? –La posibilidad de trazar solo URLs específicas en vez de todas las URLs ¿Cómo usarlo…? 1.Establecer la propiedad TraceUriPrefix del sitio 2.Establecer el flag UseUrlFilter en IIS: WWW Server provider 3.NOTA: se DEBE usar el proveedor IIS: WWW Server con el flag UseUrlFilter establecido para filtrar eventos ASP & ASP.net por URL. Adsutil set w3svc/1/TraceUriPrefix = /*.aspx IIS: WWW Server0x IIS: Active Server Pages (ASP)0xFFFFFFFF 5

28 Enhanced Request-based Tracing Resolviendo problemas de Autenticación/Autorización ANTES: montones de problemas alrededor… –¿Se autenticó el usuario correctamente? –¿Es el ID del usuario anónimo correcto? –¿Qué UID se está usando para acceder al contenido? –¿Dónde se le está denegando el acceso al usuario? CÓMO: usar flags para el diagnóstico: –Explicación: 0x => Eventos de Autenticación 0x => Eventos de Seguridad/Autorización Verbosity = 5 => Todos los eventos anteriores IIS: WWW Server0x

29 Enhanced Request-based Tracing IIS: Active Server Pages Provider (ASP) ¿De QUÉ se hace log? –Encolado/Desencolado: ¿cuanto tiempo permaneció en la cola? –Tiempo de parseo y compilación –Configuración de los objetos intrínsecos a la petición –Eventos en tiempo de ejecución. OnApplication, etc. –Ejecución de Global.asa –Tiempos de objetos COM Creación de objetos Llamada a métodos Llamada a GetObject ¿PORQUÉ usarlo? –La mayoría de las llamadas a soporte -> cuelgues en páginas ASP –Método actual para la resolución -> volcado del proceso INETINFO o dllhost.exe, envío a PSS.

30 Currently Executing Requests Qué está ocurriendo realmente ahora ¿De QUÉ se hace log? –Estadísticas de los Worker Processes –Estadísticas para todas las peticiones actualmente en ejecución ¿PORQUÉ usarlo? –Lista de la peticiones en ejecución sin tener que matar el proceso para ver HTTPERR log –No hay que usar el depurador y extensiones del depurador para ver esto – integrado & no-intrusivo ¿CÓMO usarlo?: –Usar ETW para volcar los datos –o… IISReqMon.vbs (con LogParser 2.2) C:\Logman start CurrReqDump –p IIS: Request Monitor -ets

31 Currently Executing Requests Datos registrados Estadísticas del Worker Process – PID – AppPoolID – # Requests Served – Total Worker Threads – Available Worker Threads – Process Start Time – Process Uptime Estadísticas de la petición – Start time – Context ID (to correlate back to req- based tracing) – Site ID – Local IP & Port – Host Name – Connection ID – Client IP – Request Verb – Request URL – Processing State – Elapsed total Time – Elapsed time in State

32 Currently Executing Requests Auditoría de la Metabase ¿QUÉ?: Entrada en el log de eventos del sistema cada vez que hay un cambio en el metabase –NT Security Audit Log –Fuente: IISADMIN-Metabase ¿CÚANDO se registran los cambios? –Intentos exitosos o fallidos de añadir, cambiar, mover, o borrar claves/propiedades ¿PORQUÉ usarlo? –Auditoría de cambios –Common Criteria Certification

33 Currently Executing Requests Auditoría de la Metabase ¿QUÉ se logea? –Lo que está siendo cambiado Path de la Metabase Viejo valor de la Propiedad/Clave Nuevo valor de la Propiedad/Clave –Quién lo cambió: dominio & nombre de usuario si se puede obtener –Cómo fue cambiada: nombre del ejecutable usado para hacer el cambio (MMC.exe, etc.) & IP remota si está disponible. –Éxito o fallo de la operación ¿CUÁNDO se hace (en detalle)? –Operaciones sobre las claves: mover/borrar/copiar/añdir/renombrar –Operaciones sobre las propiedades: añadir/modificar/borrar

34 Currently Executing Requests Habilitar la auditoría de la Metabase Deshabilitada por defecto ¿CÓMO habilitarla? : –Habilitar la auditoría global de objetos primero –Establecer la ACE Audit Success & Audit Failure sobre los nodos de la metabase que se quieran auditar, & para qué usuarios (todos?) –NOTA : esto configurará la propiedad AdminACL en la metabase para el nodo seleccionado –La configuración de los nodos hijos sobreescribirán esta configuración

35 demo

36 LogParser Introducción a LogParser –Formatos de entrada y de salida –Funciones –Plantillas de salida –Cómo empezar… LogParser 2.2 –El nuevo formato de salida chart –CheckPoint

37 Log Parser es… Una herramientas gratuita, aplicación independiente –Versión 2.1: buscar por IIS 6.0 Resource Kit Toolswww.microsoft.com/download –Versión 2.0: buscar por Log Parserwww.microsoft.com/download Desarrollada por Gabriele Giuseppini, del equipo de IIS No soportada oficialmente (www.logparser.com)www.logparser.com Disponible de dos formas: –.exe en línea de comandos –Objeto COM –No hay ningún GUI por el momento

38 LogParser Conceptos clave Log Parser requiere… –Formato de entrada [+opciones] –Consulta –Formato de salida [+opciones] –[+opciones] Lenguaje de consulta –Soporte la mayoría de la sintaxis de SQL –Extiende el lenguaje con funciones adicionales

39 LogParser Funciones Para obtener una lista de las funciones –[2.1] logparser –h 2 –[2.0] logparser –h FUNCTIONS Ejemplos: –Funciones de conversión TO_TIMESTAMP TO_LOCALTIME TO_INT –Manejo de cadenas STRLEN SUBSTR STRCAT –Otras REVERSEDNS QUANTIZE EXTRACT_EXTENSION [2.2] CASE [2.2]

40 LogParser Ejemplo de función Convertir el timestamp del fichero de log de UTC a hora local SELECT TO_DATE(TO_LOCALTIME(TO_TIMESTAMP(date, time))) AS date, TO_DATE( TO_LOCALTIME( TO_TIMESTAMP(date, time))) AS time, c-ip, cs-username, s-ip, s-port, cs-method, … FROM C:\Windows\system32\logfiles\w3svc1\ex log

41 LogParser Plantillas de salida Logparser –h –o: TPL Formada por: –Cabecera –Cuerpo –Pie Mejora el aspecto del resultado

42 LogParser Cómo empezar Encontrar los nombres de las columnas en la fuente de datos –logparser –h –i: –o… SELECT * FROM –Para ficheros TSV o CSV: logparser –h –i:csv/tsv Comprender los datos en cada columna Aplicar las funciones necesarias para convertir los datos [2.2] opción -queryinfo

43 LogParser Novedades en LogParser 2.2 Nuevos formatos de entrada –ETW – Event Tracing for Windows, ficheros de log y sesiones vivas –TSV – Tab and Space Separated value text files –ADS – Lee información de objetos del DA –REG – Lee información del registro –NETMON – parsea las capturas de NETMON Nuevos formatos de salida –CHART –SYSLOG –TSV

44 LogParser Checkpoint – parseo incremental Parsea sólo lo que no ha sido parseado anteriormente – ex*.log …de todos los ficheros de log en un directorio – …de todos los ficheros de log del sitio 1 – System …del log de eventos del sistema Requiere un fichero de checkpoint para almacenar datos logparser SELECT TimeGenerated, EventTypeName, Strings FROM System WHERE SourceName = W3SVC –icheckpoint event.lpc

45 demo

46 Q&AQ&A

47 © 2005 Microsoft Corporation. Todos los derechos reservados. Esta presentación es sólo con propósitos formativos. MICROSOFT NO GARANTIZA, EXPLÍCITA O IMPLÍCITAMENTE, LOS CONTENIDOS DE ESTA PRESENTACIÓN.


Descargar ppt "Iván González Microsoft MVP – Windows Server - IIS IIS 6.0 Administración Avanzada."

Presentaciones similares


Anuncios Google