Información general

Este método de instrumentación ofrece las siguientes capacidades de monitorización adicionales para las cargas de trabajo de Azure App Service en Linux:

  • Rastreo totalmente distribuido de APM mediante la instrumentación automática.
  • Vistas personalizadas de servicios y trazas (traces) de APM que incluyen las métricas y los metadatos pertinentes de Azure App Service.
  • Compatibilidad con la instrumentación manual de APM para personalizar tramos (spans).
  • Inyección del Trace_ID en los logs de aplicación.
  • Compatibilidad con el envío de métricas personalizadas mediante DogStatsD.

Esta solución utiliza el parámetro del comando de inicio y los parámetros de aplicación de Azure App Service de Linux para instrumentar la aplicación y gestionar la configuración. Se admiten Java, Node, .NET, PHP y Python.

Configuración

Configurar los parámetros de la aplicación

Para instrumentar tu aplicación, comienza por añadir los siguientes pares de clave-valor en los Application Settings (Parámetros de la aplicación) de tu configuración de Azure.

Configuración de Azure App Service: los Parámetros de la aplicación, en la sección Configuración de la interfaz de usuario de Azure. Se enumeran tres parámetros: DD_API_KEY, DD_SERVICE y DD_START_APP.
  • DD_API_KEY es tu clave de la API de Datadog.
  • DD_CUSTOM_METRICS_ENABLED (opcional) habilita las métricas personalizadas.
  • DD_SITE es el parámetro del sitio de Datadog. Tu sitio es . Por defecto, este valor es datadoghq.com.
  • DD_SERVICE es el nombre del servicio utilizado para este programa. Por defecto, es el valor del campo de nombre en package.json.
  • DD_START_APP es el comando utilizado para iniciar la aplicación. Por ejemplo, node ./bin/www (no es necesario para aplicaciones que se ejecutan en Tomcat).
  • DD_PROFILING_ENABLED (opcional) habilita el Continuous Profiler, específico para .NET.

Identificación del comando de inicio

Las aplicaciones web de Azure App Service de Linux creadas mediante la opción de despliegue de código en tiempos de ejecución integrados dependen de un comando de inicio que varía según el lenguaje. Los valores predeterminados se describen en la documentación de Azure. A continuación se incluyen algunos ejemplos.

Configura estos valores en la variable de entorno DD_START_APP. Los siguientes ejemplos corresponden a una aplicación llamada datadog-demo.

Tiempo de ejecuciónValor de ejemplo de DD_START_APPDescripción
Node.jsnode ./bin/wwwEjecuta el archivo de configuración PM2 de Node o tu archivo de script.
.NET Coredotnet datadog-demo.dllEjecuta un archivo .dll que utiliza por defecto el nombre de tu aplicación web.

Nota: El nombre del archivo .dll del comando debe coincidir con el nombre de tu archivo .dll. En algunos casos, es posible que no coincida con tu aplicación web.
PHPcp /home/site/wwwroot/default /etc/nginx/sites-available/default && service nginx reloadCopia el script en la localización correcta e inicia la aplicación.
Pythongunicorn --bind=0.0.0.0 --timeout 600 quickstartproject.wsgiPersonaliza el script de inicio. En este ejemplo, se muestra un comando Gunicorn para iniciar una aplicación de Django.
Javajava -jar /home/site/wwwroot/datadog-demo.jarEl comando para iniciar tu aplicación. Esto no es necesario para las aplicaciones que se ejecutan en Tomcat.

Nota: La aplicación se reinicia cuando se guardan los parámetros nuevos.

Configurar los parámetros generales

Ve a General settings (Configuración general) y añade lo siguiente al campo Startup Command (Comando de inicio):

curl -s https://raw.githubusercontent.com/DataDog/datadog-aas-linux/v1.10.6/datadog_wrapper | bash
Configuración de Azure App Service: los parámetros de Stack, en la sección Configuración de la interfaz de usuario de Azure. Debajo de los campos del stack, la versión principal y la versión secundaria está el campo 'Comando de inicio' que se rellena con el comando curl de arriba.

Descarga el archivo datadog_wrapper de las versiones y cárgalo en tu aplicación con el comando de la Azure CLI:

  az webapp deploy --resource-group <group-name> --name <app-name> --src-path <path-to-datadog-wrapper> --type=startup

Visualización de trazas

Cuando se guardan parámetros de aplicación nuevos, Azure reinicia la aplicación. Sin embargo, si se añade y guarda un comando de inicio, puede ser necesario reiniciar.

Después de reiniciar la aplicación, puedes ver las trazas si buscas el nombe del servicio (DD_SERVICE) en la Página de servicios de APM de Datadog.

Métricas personalizadas

Para habilitar las métricas personalizadas para tu aplicación con DogStatsD, añade DD_CUSTOM_METRICS_ENABLED y defínelo como true en “Application Settings” (Parámetros de la aplicación).

Para configurar tu aplicación para enviar métricas, sigue los pasos relacionados con tu tiempo de ejecución.

Despliegue

To update your Datadog instrumentation with zero downtime, use deployment slots. You can create a workflow that uses GitHub Action for Azure CLI.

See the sample GitHub workflow.

Solucionar problemas

Si no recibes datos de trazas o métricas personalizadas como esperabas, habilita App Service logs (Logs de App Service) para recibir logs de depuración.

Configuración de Azure App Service: los logs de App Service, en la sección 'Monitoring' (Monitorización) de 'Settings' (Configuración) en la interfaz de usuario de Azure. La opción 'Application logging' (Generación de registros de aplicación) está establecida como 'File System' (Sistema de archivos).

Comparte el contenido del Log stream (Flujo de logs) con el servicio de asistencia de Datadog.

Referencias adicionales