Compartir a través de


Recopilación de registros de autodiagnóstico para SDK de Application Insights

Al instrumentar una aplicación mediante la instrumentación automática de Application Insights o la instrumentación manual con un SDK de Application Insights, puede encontrar problemas con el PROPIO SDK de Application Insights. En este escenario, se necesitan registros de diagnóstico del SDK de Application Insights para detectar y diagnosticar problemas con Application Insights.

En este artículo se presenta cómo recopilar registros de autodiagnóstico para los siguientes SDK de Application Insights:

Application Insights .NET/.NET Core Framework SDK

A partir de la versión 2.18.0-beta2 del SDK de .NET/.NET Core Framework de Application Insights, la característica "autodiagnóstico" se incluye para capturar registros del propio SDK y escribirlos en un archivo de registro en un directorio especificado.

Configuración de autodiagnóstico

Configure autodiagnóstico mediante un archivo denominado ApplicationInsightsDiagnostics.json que tenga el siguiente contenido:

{
    "LogDirectory": "<LogDirectory>",
    "FileSize": <FileSize>,
    "LogLevel": "<LogLevel>"
}

Nota:

  • El archivo de configuración para autodiagnóstico debe tener parámetros válidos para que el SDK de .NET/.NET Core Framework de Application Insights analice. Si el archivo no es válido o tiene un formato incorrecto, el SDK lo omitirá y no se habilitará el autodiagnóstico. Sin embargo, esto no afectará al funcionamiento normal de la aplicación supervisada.
  • Este archivo de configuración no debe tener más de 4 kilobytes (KB). De lo contrario, solo se leerán los primeros 4 KB de contenido.
  • El SDK de .NET/.NET Core Framework de Application Insights intentará leer el archivo de configuración cada 10 segundos y crear o sobrescribir circularmente el archivo de registro.

Estas son algunas explicaciones para los parámetros de configuración:

Parámetros de configuración Description
LogDirectory Directorio donde se almacena el archivo de registro. Puede ser una ruta de acceso absoluta o una ruta de acceso relativa al directorio de trabajo actual de la aplicación web. Este archivo de registro se denomina YearMonthDay-HourMinuteSecond.ExecutableName.ProcessId.log, por ejemplo, 20220307-193542.w3wp.exe.7692.log. El nombre de archivo comienza con la marca de tiempo que se genera cuando se crea el archivo.
FileSize Entero positivo que especifica el tamaño del archivo de registro en KB. Este valor debe estar entre 1 megabyte (MB) y 128 MB (ambos incluidos), o se redondeará al límite superior o inferior más cercano. El archivo de registro no superará este tamaño máximo configurado.
LogLevel Nivel de los eventos que se van a capturar. Este valor debe coincidir con uno de los campos de .EventLevel Los niveles de gravedad inferiores incluyen niveles de gravedad más altos (por ejemplo, Warning incluye los Error niveles y Critical ).

Autodiagnóstico para una aplicación web

Para habilitar el autodiagnóstico, vaya al directorio de trabajo actual de la aplicación web y cree el archivo de configuración ApplicationInsightsDiagnostics.json .

Para deshabilitar el autodiagnóstico, elimine el archivo de configuración. Incluso mientras se ejecuta la aplicación web, puede habilitar o deshabilitar autodiagnóstico sin necesidad de reiniciar la aplicación.

En la mayoría de los casos, podría quitar el archivo junto con la aplicación. Estas son dos maneras de encontrar el directorio de trabajo actual:

  • En Windows, use el Explorador de procesos.

    Abra el Explorador de procesos, seleccione el proceso y abra el cuadro de diálogo Propiedades . Busque El directorio actual en Archivo de imagen.

  • Llame a los GetCurrentDirectory métodos y AppContext.BaseDirectory para obtener el directorio de trabajo actual.

Autodiagnóstico para la aplicación web de App Service en Windows

  1. Vaya a la aplicación web de App Service desde Azure Portal.

  2. Vaya a la página Kudu seleccionando Herramientas>avanzadas Ir.

  3. En el panel de Kudu, seleccione CmD de la consola>de depuración.

  4. Vaya al directorio donde está la aplicación web de App Service, como D:\home\site\wwwroot.

  5. Use el símbolo "+" en la parte superior del panel de Kudu para crear un nuevo archivo en la carpeta wwwroot y asígnelo el nombre a ApplicationInsightsDiagnostics.json.

    El archivo ApplicationInsightsDiagnostics.json debe colocarse en la <carpeta drive>:\home\site\wwwroot . No todas las aplicaciones web de App Service residen en la misma unidad. Algunos pueden estar en la unidad C: y algunos podrían estar en la unidad D: . Para encontrarlo, compruebe los campos Carpeta del sitio y Carpeta temporal en la página predeterminada de Kudu.

    Captura de pantalla que muestra los campos

  6. Edite y agregue la siguiente configuración al archivo ApplicationInsightsDiagnostics.json :

    {
        "LogDirectory": "<drive>:\home\site\wwwroot",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    }
    

    Nota:

    El LogDirectory parámetro debe establecerse en una ubicación en <drive>:\home para facilitar el acceso, pero otras ubicaciones son válidas si hay suficiente acceso.

  7. Guarde el archivo.

    Después de 10 segundos, aparecerá un nuevo archivo de registro, como 20220307-193542.w3wp.exe.7692.log, en la carpeta wwwroot .

  8. Elimine el archivo de configuración o cámbielo por ApplicationInsightsDiagnostics.bak.

    Después de 10 segundos, el registro se detendrá.

Autodiagnóstico para la aplicación web de App Service en Linux

  1. En el equipo local, cree un archivo y asígnelo el nombre a ApplicationInsightsDiagnostics.json.

  2. Edite el archivo y agregue el siguiente contenido:

    {
        "LogDirectory": ".",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    } 
    
  3. Guarde el archivo.

  4. Vaya a la aplicación web de App Service desde Azure Portal.

  5. Vaya a la página Kudu seleccionando Herramientas>avanzadas Ir.

  6. Cuando se inicie la sesión del explorador, agregue /newui al final de la dirección URL. La dirección URL del explorador debe ser similar https://<appname>.scm.azurewebsites.net/newuia .

  7. Presione ENTRAR. Se abrirá la página Kudu con la nueva interfaz de usuario.

  8. En el menú de la izquierda, seleccione Administrador de archivos.

  9. Seleccione la carpeta Sitio y, a continuación, seleccione la carpeta wwwroot .

  10. Arrastre y coloque el archivo ApplicationInsightsDiagnostics.json en la carpeta wwwroot .

    Después de 10 segundos, se mostrará un nuevo archivo de registro en la carpeta wwwroot , por ejemplo, 20220307-193542.w3wp.exe.7692.log.

  11. Elimine el archivo de configuración o cámbielo por ApplicationInsightsDiagnostics.bak.

    Después de 10 segundos, el registro se detendrá.

Java 2.x de Application Insights

Puede recopilar registros de diagnóstico para Application Insights Java 2.6 o una versión anterior. Para ello, agregue un <SDKLogger> elemento bajo el nodo raíz del archivo de configuración de ApplicationInsights.xml (en la carpeta resources del proyecto). En el <SDKLogger> elemento , puede indicar al registrador que se va a generar en un archivo.

Este es un ejemplo del archivo ApplicationInsights.xml :

<SDKLogger type="FILE"><!-- or "CONSOLE" to print to stderr -->
    <Level>TRACE</Level>
    <UniquePrefix>AI</UniquePrefix>
    <BaseFolderPath>C:/agent/AISDK</BaseFolderPath>
</SDKLogger>

Para obtener más información, consulte Solución de problemas de información de App de Azure lication en un proyecto web de Java.

Application Insights Java 3.x

Puede recopilar registros de diagnóstico para Java 3.x de Application Insights mediante la funcionalidad "autodiagnóstico". Para ello, consulte Autodiagnóstico.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.