Instala la Serverless Monitoring para Azure Functions
En esta page (página), se explica cómo recopilar traces (trazas), métricas de traces (trazas), métricas de tiempo de ejecución y métricas personalizadas de tus Azure Functions. Para recopilar métricas adicionales, instala la Integración de Datadog y Azure.
Configuración
Si aún no lo has hecho, instala la Integración de Datadog y Azure para recopilar métricas y logs. A continuación, instrumenta tu aplicación con los siguientes steps (UI) / pasos (generic):
Instalar dependencias. Ejecuta los siguientes comandos:
npm install @datadog/serverless-compat
npm install dd-trace
Datadog recomienda anclar las versiones de paquete y actualizar periódicamente a las últimas versiones de @datadog/serverless-compat y de dd-trace para asegurarte de tener acceso a las mejoras y correcciones de errores.
Iniciar la capa de compatibilidad serverless de Datadog e inicializar el rastreador de Node.js de Datadog. Añade las siguientes líneas al archivo de punto de entrada de tu aplicación principal (por ejemplo, app.js):
require('@datadog/serverless-compat').start();
// This line must come before importing any instrumented module.
const tracer = require('dd-trace').init()
Configurar el rastreador de Node.js de Datadog
Configuración de la biblioteca de rastreo de Node.js
Instalar dependencias. Ejecuta los siguientes comandos:
pip install datadog-serverless-compat
pip install ddtrace
Datadog recomienda utilizar las últimas versiones de datadog-serverless-compat y de ddtrace para asegurarte de tener acceso a las mejoras y correcciones de errores.
Iniciar la capa de compatibilidad serverless de Datadog e inicializar el rastreador de Python de Datadog. Añade las siguientes líneas al archivo de punto de entrada de tu aplicación principal:
from datadog_serverless_compat import start
import ddtrace.auto
start()
**Configurar el rastreador de Python de Datadog **
Configuración de la biblioteca de rastreo de Python
Instalar dependencias. Descarga los JAR de Datadog y despliégalos con tu función:
wget -O dd-java-agent.jar 'https://dtdg.co/latest-java-tracer'
wget -O dd-serverless-compat-java-agent.jar 'https://dtdg.co/latest-serverless-compat-java-agent'
Consulta el Repositorio de Maven de Datadog para cualquier versión específica de la capa de compatibilidad serverless de Datadog.
Datadog recomienda actualizar periódicamente las versiones más recientes de dd-serverless-compat-java-agent y dd-java-agent para garantizar el acceso a las mejoras y correcciones de errores.
Iniciar la capa de compatibilidad serverless de Datadog e inicializar el rastreador Java de Datadog. Añade los siguientes argumentos -javaagent a las opciones de JVM:
-javaagent:/path/to/dd-serverless-compat-java-agent.jar -javaagent:/path/to/dd-java-agent.jar
Nota: La variable de entorno para configurar las opciones de JVM depende del plan de alojamiento (por ejemplo, Consumo, Elastic Premium, Dedicado). Consulta la guía para el desarrollador de Java de Azure Functions para obtener más detalles sobre la variable de entorno adecuada para tu plan de alojamiento.
Configurar el rastreador de Java de Datadog
Configuración de la biblioteca de rastreo de Java
Instalar dependencias. Ejecuta los siguientes comandos:
dotnet package add Datadog.AzureFunctions
Datadog recomienda actualizar periódicamente a la última versión de Datadog.AzureFunctions para asegurarte de tener acceso a las mejoras y correcciones de errores.
Iniciar la capa de compatibilidad serverless de Datadog.
Si tu aplicación de Azure Function utiliza el modelo Isolated Worker, añade las siguientes líneas a tu archivo de punto de entrada de la aplicación principal:
Datadog.Serverless.CompatibilityLayer.Start();
Si tu aplicación de Azure Function utiliza el modelo en contenedor, añade una referencia de paquete de NuGet a Microsoft.Azure.Functions.Extensions:
dotnet package add Microsoft.Azure.Functions.Extensions
Y añade el siguiente archivo .cs a tu aplicación:
using Datadog.Serverless;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
[assembly: FunctionsStartup(typeof(MyFunctionApp.Startup))]
namespace MyFunctionApp
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
Datadog.Serverless.CompatibilityLayer.Start();
}
}
}
Configurar instrumentación automática
Si tu aplicación de Azure Function se ejecuta en Windows, añade las siguientes variables de entorno a tu aplicación de Function:
CORECLR_ENABLE_PROFILING=1
CORECLR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
CORECLR_PROFILER_PATH_64=
C:\home\site\wwwroot\datadog\win-x64\Datadog.Trace.ClrProfiler.Native.dll
CORECLR_PROFILER_PATH_32=
C:\home\site\wwwroot\datadog\win-x86\Datadog.Trace.ClrProfiler.Native.dll
DD_DOTNET_TRACER_HOME=C:\home\site\wwwroot\datadog
Si tu aplicación de Azure Function se ejecuta en Linux, añade las siguientes variables de entorno a tu aplicación de Function:
CORECLR_ENABLE_PROFILING=1
CORECLR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
CORECLR_PROFILER_PATH=
/home/site/wwwroot/datadog/linux-x64/Datadog.Trace.ClrProfiler.Native.so
DD_DOTNET_TRACER_HOME=/home/site/wwwroot/datadog
Configurar el rastreador de .NET de Datadog
Desplegar tu función.
Configurar la entrada de Datadog. Añade las siguientes variables de entorno a la configuración de la aplicación de tus funciones:
Configurar el etiquetado de servicios unificados. Puedes recopilar métricas de tus funciones de Azure mediante la instalación de la integración de Datadog y Azure. Para correlacionar estas métricas con tus traces (trazas), primero configura las etiquetas env, service y version en tu recurso en Azure. A continuación, configura las siguientes variables de entorno.
¿Qué toca hacer ahora?
Solucionar problemas
Activa logs de depuración
Puedes recopilar logs de depuración para solucionar problemas. Para configurar los logs de depuración, utiliza las siguientes variables de entorno:
DD_TRACE_DEBUG- Activa (
true) o desactiva (false) el registro de depuración para la biblioteca de Datadog Tracing. El valor predeterminado es false.Valores: true, false
DD_LOG_LEVEL- Configura el nivel de registro para la capa de compatibilidad serverless de Datadog. El valor predeterminado es
info.Valores: trace, debug, info, warn, error, critical, off