Habilitar el registro de diagnósticos para las aplicaciones de Azure App Service

En este vídeo se muestra cómo habilitar el registro de diagnóstico para aplicaciones.

Los pasos del vídeo también se describen en las secciones siguientes.

Información general

Azure integra diagnósticos para ayudar a depurar aplicaciones de App Service. En este artículo se ofrece información acerca de cómo habilitar el registro de diagnóstico, agregar instrumentación a la aplicación y obtener acceso a la información que registra Azure.

En este artículo se usa Azure Portal y la CLI de Azure para trabajar con registros de diagnóstico. Para obtener información acerca de cómo trabajar con registros de diagnóstico mediante Visual Studio, consulte Solución de problemas de Azure en Visual Studio.

Nota

Además de las instrucciones de registro de este artículo, hay una nueva funcionalidad de registro integrada con Supervisión de Azure. Va a encontrar más información sobre esta capacidad en la sección Envío de registros a Azure Monitor.

Tipo Plataforma Location Descripción
Registro de aplicaciones Windows, Linux Sistema de archivos de App Service o blobs de Azure Storage Registra los mensajes generados por el código de aplicación. Los mensajes se pueden generar en el marco web que elija o directamente desde el código de aplicación mediante el patrón de registro estándar del lenguaje. A cada mensaje se le asigna una de las siguientes categorías: Crítico, Error, Advertencia, Información, Depuración y Seguimiento. Puede seleccionar el grado de detalle que quiere que tenga el registro; para ello, establezca el nivel de gravedad al habilitar el registro de la aplicación.
Registro del servidor web Windows Sistema de archivos de App Service o blobs de Azure Storage Datos de solicitud HTTP sin procesar en el formato de archivo de registro extendido W3C. Cada mensaje de registro incluye datos como el método HTTP, el URI del recurso, la dirección IP del cliente, el puerto del cliente, el agente de usuario, el código de respuesta, etc.
Mensajes de error detallados Windows Sistema de archivos de App Service Copias de las páginas de error .htm que se habrían enviado al explorador del cliente. Por motivos de seguridad, no se deben enviar páginas de error detalladas a los clientes en producción, pero App Service puede guardar la página de error cada vez que se produzca un error de aplicación que tenga el código HTTP 400 o superior. La página puede contener información útil para determinar por qué el servidor devuelve el código de error.
Seguimiento de solicitudes con error Windows Sistema de archivos de App Service Información de seguimiento detallada sobre las solicitudes con error, lo que incluye un seguimiento de los componentes de IIS usados para procesar la solicitud y el tiempo dedicado a cada componente. Resulta útil si desea mejorar el rendimiento del sitio o aislar un error HTTP específico. Se genera una carpeta para cada solicitud con error, que contiene el archivo de registro XML y la hoja de estilos XSL con la que ver el archivo de registro.
Registro de implementación Windows, Linux Sistema de archivos de App Service Registros al publicar contenido en una aplicación. El registro de implementación tiene lugar automáticamente, no hay valores configurables. Ayuda a determinar por qué no se realizó una implementación. Por ejemplo, si usa un script de implementación personalizado, puede usar el registro de implementación para determinar por qué el script da error.

Cuando se almacenan en el sistema de archivos de App Service, los registros están sujetos al almacenamiento disponible para el plan de tarifa (consulte Límites de App Service).

Nota

App Service proporciona una herramienta de diagnóstico interactiva dedicada para ayudarle a solucionar problemas de su aplicación. Para más información, consulte Introducción a los diagnósticos de Azure App Service.

Además, puede usar otros servicios de Azure para mejorar las funcionalidades de registro y supervisión de la aplicación, como Azure Monitor.

Habilitación del registro de aplicaciones (Windows)

Para habilitar el registro de aplicaciones para aplicaciones Windows, en Azure Portal, vaya a la aplicación y seleccione Registros de App Service.

Seleccione Activado en Registro de la aplicación (sistema de archivos) o Registro de la aplicación (Blob) , o en ambos.

La opción Sistema de archivos es para fines de depuración temporales y se desactiva en 12 horas. La opción Blob es para el registro a largo plazo y necesita un contenedor de almacenamiento de blobs en el que escribir los registros. La opción Blob también incluye información adicional en los mensajes de registro, como el identificador de la instancia de máquina virtual de origen del mensaje de registro (InstanceId), el identificador de subproceso (Tid) y una marca de tiempo más pormenorizada (EventTickCount).

Nota:

Actualmente, solo los registros de aplicación de .NET pueden escribirse en el almacenamiento de blobs. Los registros de aplicaciones de Java, PHP, Node.js y Python solo se pueden almacenar en el sistema de archivos de App Service (sin modificaciones de código para escribir registros en almacenamiento externo).

Además, si regenera las claves de acceso de su cuenta de almacenamiento, deberá restablecer la configuración de registro correspondiente para usar las claves de acceso actualizadas. Para ello, siga estos pasos:

  1. En la pestaña Configurar, establezca la característica de registro correspondiente de Desactivar. Guarde la configuración.
  2. Vuelva a habilitar el registro en el blob de la cuenta de almacenamiento. Guarde la configuración.

Seleccione el nivel o el nivel de detalle que quiere registrar. En la tabla siguiente se muestran las categorías de registro incluidas en cada nivel:

Nivel Categorías incluidas
Deshabilitada None
Error Error, Crítico
Warning (ADVERTENCIA) Advertencia, Error, Crítico
Información Información, Advertencia, Error, Crítico
Detallado Seguimiento, Depurar, Información, Advertencia, Error, Crítico (todas las categorías)

Cuando termine, seleccione Guardar.

Nota

Si escribe registros en blobs, la directiva de retención ya no se aplica si elimina la aplicación pero mantiene los registros en los blobs. Para obtener más información, consulte Costos que pueden generarse tras eliminar un recurso.

Habilitación del registro de aplicaciones (Linux o contenedor)

Para habilitar el registro de aplicaciones para aplicaciones Linux o contenedores personalizados en Azure Portal, vaya a la aplicación y seleccione Registros de App Service.

En Registro de aplicaciones, seleccione Sistema de archivos.

En Cuota (MB) , especifique la cuota de disco para los registros de aplicaciones. En Período de retención (días) , establezca el número de días que se deben conservar los registros.

Cuando termine, seleccione Guardar.

Habilitar el registro de servidor web

Para habilitar el registro de servidor web para las aplicaciones Windows, en Azure Portal, vaya a la aplicación y seleccione Registros de App Service.

Para el registro de servidor web, seleccione Almacenamiento para almacenar los registros en Blob Storage, o Sistema de archivos para almacenar los registros en el sistema de archivos de App Service.

En Período de retención (días) , establezca el número de días que se deben conservar los registros.

Nota

Si se regeneran las claves de acceso de su cuenta de almacenamiento, deberá restablecer la configuración de registro correspondiente para usar las claves actualizadas. Para ello, siga estos pasos:

  1. En la pestaña Configurar, establezca la característica de registro correspondiente de Desactivar. Guarde la configuración.
  2. Vuelva a habilitar el registro en el blob de la cuenta de almacenamiento. Guarde la configuración.

Cuando termine, seleccione Guardar.

Nota

Si escribe registros en blobs, la directiva de retención ya no se aplica si elimina la aplicación pero mantiene los registros en los blobs. Para obtener más información, consulte Costos que pueden generarse tras eliminar un recurso.

Registro de errores detallados

Para guardar la página de error o el seguimiento de las solicitudes con error para las aplicaciones Windows, en Azure Portal, vaya a la aplicación y seleccione Registros de App Service.

En Registro de error detallado o Error del seguimiento de solicitudes, seleccione Activado, y, luego, elija Guardar.

Ambos tipos de registros se almacenan en el sistema de archivos de App Service. Se conservan hasta 50 errores (archivos o carpetas). Cuando el número de archivos HTML es superior a 50, los archivos de error más antiguos se eliminan automáticamente.

La característica de seguimiento de solicitudes con error captura de forma predeterminada un registro de solicitudes con errores con códigos de estado HTTP entre 400 y 600. Para especificar reglas personalizadas, puede invalidar la sección <traceFailedRequests> del archivo web.config.

Adición de mensajes de registro en el código

En el código de la aplicación, se usan las funciones de registro habituales para enviar mensajes de registro a los registros de aplicaciones. Por ejemplo:

Transmisión de registros

Antes de transmitir registros en tiempo real, habilite el tipo de registro que quiera. Toda la información escrita en la salida de la consola o los archivos terminados en .txt, .log o .htm que se almacena en el directorio /home/LogFiles (D:\home\LogFiles) se transmite mediante App Service.

Nota

Algunos tipos de búfer de registros se escriben en el archivo de registro, lo que puede ocasionar la transmisión de eventos desordenados. Por ejemplo, una entrada de registro de aplicaciones que se genera cuando un usuario visita una página se puede visualizar en la transmisión antes de la entrada de registro HTTP correspondiente para la solicitud de la página.

En Azure Portal

Para transmitir registros, en Azure Portal, vaya a la aplicación y seleccione Secuencia de registro.

En Cloud Shell

Para transmitir registros en directo en Cloud Shell, use el siguiente comando:

Importante

Es posible que este comando no funcione con aplicaciones web hospedadas en un plan de App Service de Linux.

az webapp log tail --name appname --resource-group myResourceGroup

Para filtrar tipos de registros específicos, como HTTP, use el parámetro --Provider. Por ejemplo:

az webapp log tail --name appname --resource-group myResourceGroup --provider http

En el terminal local

Para transmitir registros en la consola local, instale la CLI de Azure e inicie sesión en su cuenta. Cuando haya iniciado sesión, siga las instrucciones para Cloud Shell.

Acceso a los archivos de registro

Si configura la opción de blobs de Azure Storage para un tipo de registro, necesitará una herramienta de cliente que funcione con Azure Storage. Para más información, consulte Herramientas de cliente de Azure Storage.

En el caso de los registros almacenados en el sistema de archivos de App Service, la manera más fácil es descargar el archivo ZIP en el explorador en:

  • Linux y contenedores personalizados: https://<app-name>.scm.azurewebsites.net/api/logs/docker/zip
  • Aplicaciones Windows: https://<app-name>.scm.azurewebsites.net/api/dump

En el caso de Linux y contenedores personalizados, el archivo ZIP contiene los registros de salida de la consola para el host de Docker y el contenedor de Docker. En el caso de las aplicaciones escaladas horizontalmente, el archivo ZIP contiene un conjunto de registros para cada instancia. En el sistema de archivos de App Service, estos archivos de registro son el contenido del directorio /home/LogFiles.

En el caso de las aplicaciones Windows, el archivo ZIP incluye el contenido del directorio D:\Home\LogFiles en el sistema de archivos de App Service. Tiene la siguiente estructura:

Tipo de registro Directorio Descripción
Registros de aplicaciones /LogFiles/Application/ Contiene uno o varios archivos de texto. El formato de los mensajes de registro depende del proveedor de registro que se use.
Seguimiento de solicitudes con error /LogFiles/W3SVC#########/ Contiene archivos XML y un archivo XSL. Puede ver los archivos XML con formato en el explorador.
Registros de errores detallados /LogFiles/DetailedErrors/ Contiene archivos de error HTM. Puede ver los archivos HTM en el explorador.
Otra manera sencilla de ver los seguimientos de las solicitudes con error consiste en ir a la página de la aplicación en el portal. En el menú izquierdo, seleccione Diagnosticar y solucionar problemas, busque registros de seguimiento de solicitudes erróneas y haga clic en el icono para examinar y ver el seguimiento que desee.
Registros de servidor web /LogFiles/http/RawLogs/ Contiene archivos de texto con formato de archivo de registro extendido W3C. Esta información se puede leer con un editor de texto o una utilidad como Log Parser.
App Service no admite los campos s-computername, s-ip ni cs-version.
Registros de implementación /LogFiles/Git/ y /deployments/ Contienen registros generados por los procesos de implementación internos, así como registros para implementaciones de Git.

Envío de registros a Azure Monitor

Con la nueva integración de Azure Monitor, puede crear configuraciones de diagnóstico para enviar registros a cuentas de almacenamiento, centros de eventos y análisis de registros.

Configuración de diagnóstico

Tipos de registro admitidos

En la tabla siguiente se muestran las descripciones y los tipos de registros admitidos:

Nombre del registro Tipo de registro Windows Contenedor de Windows Linux Contenedor Linux Descripción
Registros de consola de App Service AppServiceConsoleLogs Java SE y Tomcat Salida estándar y error estándar 3
Registros de HTTP AppServiceHTTPLogs Registros de servidor web
Registros de plataforma de App Service Environment AppServiceEnvironmentPlatformLogs N/D App Service Environment: escalado, cambios de configuración y registros de estado
Acceso a registros de auditoría AppServiceAuditLogs Actividad de inicio de sesión a través de FTP y KUDU
Registros de auditoría de cambios de contenido de sitio AppServiceFileAuditLogs TBA TBA Cambios de archivo realizados en el contenido del sitio; solo disponible para el nivel Premium y versiones posteriores
Registros de aplicaciones de App Service AppServiceAppLogs ASP.NET, .NET Core y Tomcat 1 ASP.NET y Tomcat 1 Imágenes preparadas de .NET Core, Java, SE y Tomcat 2 Imágenes preparadas de Java SE y Tomcat 2 Registros de aplicaciones 3
Registros de auditoría de IPSecurity AppServiceIPSecAuditLogs Solicitudes de reglas IP
Registros de la plataforma App Service AppServicePlatformLogs TBA Registros de operación de contenedor
Informe de registros de auditoría de antivirus AppServiceAntivirusScanAuditLogs 4 Registros de examen antivirus con Microsoft Defender for Cloud; solo disponibles para el nivel prémium

1 Para las aplicaciones Tomcat, agregue TOMCAT_USE_STARTUP_BAT a la configuración de la aplicación y establézcalo en false o en 0. Debe estar en la versión más reciente de Tomcat y usar java.util.logging.

2 Para las aplicaciones Java SE, agregue WEBSITE_AZMON_PREVIEW_ENABLED a la configuración de la aplicación y establézcalo en true o en 1.

3 El límite de registro actual se establece en 100 registros por minuto.

4 El tipo de registro AppServiceAntivirusScanAuditLogs todavía está en versión preliminar

Consideraciones sobre redes

Para las restricciones de configuración de diagnóstico, consulte la documentación de configuración de diagnóstico oficial de con respecto a los límites de destino.

Pasos siguientes