Compartir vía


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

Nota:

A partir del 1 de junio de 2024, todas las aplicaciones de App Service recién creadas tendrán la opción de generar un nombre de host predeterminado único mediante la convención de nomenclatura <app-name>-<random-hash>.<region>.azurewebsites.net. Los nombres de aplicación existentes permanecerán sin cambios.

Ejemplo: myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Para más información, consulte Nombre de host predeterminado único para el recurso 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, también puede usar la funcionalidad de registro integrada de Azure Monitor. Va a encontrar más información sobre esta capacidad en la sección Envío de registros a Azure Monitor.

Tipo Plataforma Ubicación de almacenamiento de registros 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. Esta información 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. La carpeta 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 registro se escriben en el archivo de registro, lo que puede dar lugar a eventos que aparecen en el orden incorrecto de la secuencia. 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. Después de iniciar sesión, siga las instrucciones de 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 de acceder a los archivos 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. Los registros de implementación se almacenan en /site/deployments/.

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. Puede leer estos archivos mediante 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/ Contiene 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 integración de Azure Monitor, puede crear configuraciones de diagnóstico para enviar registros a cuentas de almacenamiento, centros de eventos y Log Analytics. Al agregar una configuración de diagnóstico, App Service agrega la configuración de la aplicación a la aplicación, lo que desencadena un reinicio de la aplicación.

Configuración de diagnóstico

Tipos de registro admitidos

Para obtener una lista de los tipos de registro admitidos y sus descripciones, consulte Registros de recursos admitidos para Microsoft.Web.

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