Seguimiento
El seguimiento utiliza el seguimiento de eventos para Windows (ETW). Para aprovechar las herramientas de seguimiento disponibles con Windows Server 2008 R2, instale el SDK de Microsoft Windows.
Se admiten tres niveles de seguimiento:
- Detallado (todos los seguimientos disponibles).
- Información (seguimientos informativos).
- Error (seguimientos de errores).
Se hace el siguimiento de los eventos siguientes:
- Cualquier error (Level=Error, Level=Info o Level=Verbose).
- Entrada o salida de una API (Level=Info o Level=Verbose).
- Inicio y finalización de cualquier E/S (Level=Info o Level=Verbose)
- Mensajes SOAP intercambiados (Level=Verbose, disponible en Windows 2003 SP1 y versiones posteriores)
WWSAPI usa los eventos basados en manifiestos en Windows Vista y versiones posteriores. Como resultado, la experiencia de seguimiento tiene algunas diferencias en función de la versión del sistema operativo. La generación de seguimientos ETW se puede realizar mediante las herramientas ETW integradas en todas las plataformas compatibles. Sin embargo, ver los seguimientos ETW en un formato agradable requiere herramientas personalizadas en Windows XP SP2 y Windows 2003 SP1. Hay varias maneras diferentes de recopilar y ver seguimientos de eventos ETW de WWSAPI en función de la versión del sistema operativo.
Habilitación y visualización de seguimientos de WWSAPI en Visor de eventos (funciona en Windows Vista y versiones posteriores)
- Ejecute eventvwr.msc desde la línea de comandos o el menú de ejecución.
- Haga clic en el vínculo Ver del panel Acciones de la derecha y habilite la opción Mostrar registros analíticos y de depuración.
- Vaya a Application and Service Logs\Microsoft\Windows\WebServices providers en el panel izquierdo.
- Haga clic con el botón derecho en el proveedor de seguimiento y seleccione Habilitar registro.
- Ejecute el escenario.
- Al actualizar la página del visor de eventos, debería empezar a ver las entradas de seguimiento de WWSAPI.
Habilitación y visualización de seguimientos de WWSAPI mediante Wstrace.bat Script (funciona en XPSP2 y versiones posteriores)
El archivo por lotes wstrace.bat proporciona una manera cómoda de:
- Crear un registro de seguimiento
- Eliminar un registro de seguimiento
- Habilitar y deshabilitar el seguimiento
- Actualizar el nivel de seguimiento (info/error/verbose)
- Convertir registros de seguimiento en archivos CSV
El archivo por lotes usa logman.exe para todos los comandos, a excepción de la converción de los registros en un archivo CSV, lo que requiere una herramienta personalizada (wstracedump.exe).
El siguiente comando crea un registro que usa el nivel de información, error o detallado. Este comando requiere privilegios elevados.
wstrace.bat create [info | error | verbose]
El comando siguiente elimina el registro. Este comando requiere privilegios elevados.
wstrace.bat delete
El siguiente comando habilita el seguimiento. Primero debe crear un registro.
wstrace.bat on
El nivel de seguimiento (información, error o detallado) se puede modificar de la siguiente manera:
wstrace.bat update [info | error | verbose]
Para volcar la salida del seguimiento, use el comando siguiente:
wstrace.bat dump > temp.csv
Los eventos se volcarán en el archivo CSV hasta que se presione Ctrl-C o se deshabilite el seguimiento.
Los archivos CSV creados por wstrace.bat son archivos de texto simples separados por comas. Estos archivos se pueden abrir en Excel, Bloc de notas, etc.
Las columnas del archivo son:
- TimeStamp: marca de tiempo de cuándo se registró el evento
- ProcessID: identificador ULONG del proceso que registra el evento
- ThreadID: identificador ULONG del subproceso que registra el evento
- Evento: el valor enumerado del tipo de evento puede ser ("api enter" | "api pending" | "api ExitSyncSuccess" | "api ExitSyncFailure" | "api ExitAsyncSuccess" | "api ExitAsyncFailure" | "io started" | "io completed" | "io failed" | "error" | "received message start" | "received message" | "received message stop" | "sending message start" | "sending message" | "sending message stop")
- Operación: el nombre de la operación que se invoca. Normalmente, esto se asigna a la API a la que se llama.
- Error: número de error HRESULT opcional
- Info: información adicional sobre el evento
Recopilación de archivos de seguimiento ETW de WWSAPI mediante herramientas ETW (funciona en XPSP2 y versiones posteriores)
Habilitación del seguimiento ETW para WWSAPI
logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices [flags [level]] [-o <EtlLogFileName>] -ets
para crear e iniciar la sesión de seguimiento de ETW. Logman.exe es una herramienta ETW integrada disponible en todas las plataformas compatibles. Tenga en cuenta que debe usar Microsoft_Windows_WebServices como nombre de proveedor en XPSP2 y W2K3. Puede ejecutar proveedores de consultas logman para ver la lista de proveedores registrados. El proveedor Microsoft-Windows-WebServices (o Microsoft_Windows_WebServices) debe aparecer a menos que no esté registrado. El proveedor se registra normalmente durante la instalación. Sin embargo, también se puede registrar manualmente ejecutando wevtutil.exe im <ManifestFileName> (en Windows Vista y versiones posteriores) o mofcomp.exe <MofFileName> (en XPSP2 y W2K3).
Las marcas se pueden usar para filtrar los seguimientos por su tipo. Puede ser el valor OR de los siguientes tipos de seguimiento. Si no se proporciona, se habilitan todos los tipos de seguimiento.
- 0x1: seguimientos de entrada/salida de API.
- 0x2: seguimientos de errores.
- 0x4: seguimientos de E/S.
- 0x8: seguimientos de mensajes SOAP.
- 0x10: seguimientos de mensajes binarios.
El nivel se puede usar para filtrar los seguimientos por su nivel. Su valor debe ser uno de los siguientes. Si no se proporciona, se habilitan todos los niveles de seguimiento.
- 0x1: seguimientos irrecuperables.
- 0x2: seguimientos de errores.
- 0x3: seguimientos de advertencia.
- 0x4: seguimientos informativos.
- 0x5: seguimientos detallados.
EtlLogFileName es la ruta de acceso al archivo de registro de eventos ETW que se va a crear (use la extensión .etl). Si no se proporciona, ETW elegirá un nombre aleatorio que se puede consultar más adelante. Este archivo no debe residir en el directorio de perfiles del usuario. El archivo de registro de eventos ETW (archivo .etl) está en formato binario. Las aplicaciones ETW pueden consumirlo, pero no está en formato legible. En el paso siguiente se describe cómo ver su contenido.
Ejecutar el escenario
Recopilación del archivo de registro de eventos ETW.
logman stop wstrace -ets
para detener la sesión de seguimiento de ETW. Esto es cuando ETW deja de registrar los eventos. El archivo de registro de eventos ETW (especificado en el parámetro EtlLogFileName) está listo para consumirse. Se puede ver localmente (se proporcionan instrucciones a continuación) o enviarse al grupo de productos para su investigación.
Ejemplo completo mediante herramientas ETW:
logman start wstrace -bs 64 -ft 1 -rt -p Microsoft-Windows-WebServices -o mytrace.etl -ets
echo .. run your scenario..
logman stop wstrace -ets
tracerpt mytrace.etl -o mytrace.xml
wstrace.htm
echo .. use mytrace.xml and wstrace.xsl in the opened page ..
Ver seguimientos de archivos de seguimiento ETW de WWSAPI mediante la herramienta wstracedump.exe (funciona en Windows XP y versiones posteriores)
Wstracedump.exe es una herramienta de consumidor ETW desarrollada de forma personalizada que procesa eventos en el archivo de seguimiento ETW de WWSAPI y genera resultados legibles por humanos. Puede generar resultados de todas las plataformas compatibles. Consulte su uso (wstracedump.exe -?) para obtener más información.
Ver seguimientos de archivos de seguimiento ETW de WWSAPI mediante herramientas ETW (funciona en Windows Vista y versiones posteriores)
Tracerpt.exe es la herramienta para ver el contenido de un archivo de registro de eventos ETW y está disponible en todas las plataformas compatibles. Se puede usar para generar archivos csv, EVTX o xml de volcado de memoria a partir de un archivo de registro de eventos ETW. Sin embargo, el archivo de salida generado tiene seguimientos legibles por humanos solo en Windows Vista y versiones posteriores. En estas instrucciones se describe cómo generar el archivo de volcado XML y usarlo junto con un archivo xsl para mostrar los seguimientos en un formato agradable (el archivo xsl es muy trivial y se puede modificar si se desean formatos diferentes).
Ejecutar
tracerpt <EtlLogFileName> -o <OutputXMLFileName>
para crear un volcado XML a partir del archivo ETL binario (tracerpt.exe crea el archivo de salida en formato XML de forma predeterminada. Ejecutar tracerpt -? Para ver otros formatos disponibles).
En este punto, puede ver la información de seguimiento en el archivo XML. Además, puede abrir el archivo wstrace.htm y usar el archivo de volcado xml y el archivo wstrace.xsl para ver los seguimientos en un formato más agradable. Tenga en cuenta que los archivos deben estar en el equipo local para poder usar este archivo HTML en IE.
Al habilitar el seguimiento, los administradores deben tener en cuenta que consume espacio en disco adicional y potencia de cálculo. Un cliente malintencionado o una aplicación pueden agotar los recursos del sistema a menos que la configuración de seguimiento esté configurada con límites razonables. Al usar la característica de seguimiento de mensajes, los mensajes que contienen información confidencial, como credenciales, información personal, etc. pueden conservarse en el disco o ser vistos por cualquier persona que tenga acceso al visor de eventos del sistema. Para mitigar este problema, los usuarios del sistema o el administrador pueden habilitar el seguimiento en Windows 2003 y versiones posteriores. El seguimiento de mensajes está deshabilitado en Windows XP y cualquier usuario lo puede activar.
La enumeración siguiente se usa con el seguimiento: