Etiquetas

, ,

Uno de los elementos básicos de la entrega correcta de un servicio de gran escala es la telemetría (una visión general del funcionamiento, rendimiento y la experiencia del usuario final de la aplicación). Los enfoque de telemetría para las aplicaciones de Azure deben tener en cuenta la escala horizontal y la naturaleza distribuida de la plataforma, así como los servicios de la plataforma disponibles para recopilar, analizar y usar la telemetría.

El componente para recopilar y entender la telemetría de Azure es Diagnósticos de Azure (WAD). WAD consta de un agente que recopila datos de las instancias individuales y los reenvía a un punto central de recopilación (cuenta de almacenamiento), así como de un conjunto de estructuras y convenciones estándar para almacenar los datos y tener acceso a ellos. El agente admite varios enfoques de configuración, incluido el código (.NET), un archivo de configuración incrustado en el código del proyecto implementado o un archivo de configuración centralizado implementado en el almacenamiento de blob. La configuración es parcialmente dinámica en este último caso, lo que permite insertar los archivos de diagnóstico actualizados en el almacenamiento de blob y, a continuación, desplegarlos en los agentes de destino.

Gotham--WAD

La configuración de WAD proporciona varios orígenes de datos; cada uno de estos orígenes de datos se recopila periódicamente, se procesa por lotes mediante una sesión de seguimiento de eventos para Windows (ETW) y se publica en la cuenta de almacenamiento de destino. El agente se ocupa de los problemas transitorios de conexión, los intentos, etc. Los orígenes de datos disponibles son:

  • Contadores de rendimiento. Un subconjunto de Performance Counters (CPU, memoria, etc.) capturados en una sesión ETW local, los cuales son escritos en forma periódica y como etapa intermedia en el almacenamiento de tabla.

 

  • Registros de eventos de Windows. Un subconjunto de registros de eventos de Windows (aplicación, sistema, etc.) capturados en una sesión ETW local, los cuales de forma periódica y como etapa intermedia en el almacenamiento de tabla son escritos.

 

  • Registros de Azure. Registros de aplicación (mensajes de seguimiento) publicados por el código de aplicación (mediante System.Diagnostics.Trace) y capturados por un agente de escucha de seguimiento DiagnosticMonitorTraceListener. Se publican en la tabla de contadores de rendimiento de WAD en la cuenta de almacenamiento.

 

  • Registros de IIS 7.0. Información de registro de IIS estándar sobre las solicitudes registradas por IIS (solo roles web). Los registros se recopilan en archivos locales y se colocan de forma periódica y como etapa intermedia en el almacenamiento de blob.

 

  • Registros de solicitudes con error de IIS. Información de IIS sobre las solicitudes con error, recopilada en archivos locales y escrito de forma periódica, como etapa intermedia en el almacenamiento de blob.

 

  • Volcados de memoria. En caso de bloqueo del sistema, los registros sobre el estado del sistema operativo se capturan y se publican en el almacenamiento de blob.

 

  • Origen de datos. WAD puede supervisar directorios locales adicionales (por ejemplo, los directorios de registro del almacenamiento local) y copiar periódicamente los datos en un contenedor personalizado.

Cada uno de estos orígenes de datos se configura con el subconjunto de datos que se va a recopilar (por ejemplo, la lista de contadores de rendimiento) y con el intervalo de recopilación y publicación. También hay varios scripts de PowerShell disponibles para cambiar la configuración de tiempo de ejecución o forzar una publicación inmediata de los datos de los agentes en la cuenta de almacenamiento de destino.