Instrumentación de Single Step APM en Linux
Descripción general
En un servidor o VM de Linux, utilice Single Step Instrumentation (SSI) para APM a fin de instalar el Datadog Agent e instrumentar sus aplicaciones en un solo paso, sin necesidad de configuración adicional.
Configure APM con un Agent
Install the dd-apm skill in your AI coding agent for guided APM setup.
npx skills add https://github.com/datadog-labs/agent-skills --skill dd-apm --full-depth -y
Habilite APM en sus aplicaciones
Nueva instalación de Agent
Si aún no tiene instalado un Datadog Agent, instale el Agent y habilite SSI en un solo paso.
Ejecute el siguiente comando en su servidor o VM de Linux:
DD_API_KEY=<YOUR_DD_API_KEY> \
DD_SITE="" \
DD_APM_INSTRUMENTATION_ENABLED=host \
bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
Replace <YOUR_DD_API_KEY> with your Datadog API key. The command installs or updates the Agent and the SSI packages.
By default, SSI installs the latest SDK versions. To pin specific versions, add the DD_APM_INSTRUMENTATION_LIBRARIES variable with comma-separated language:major pairs. Available versions are listed in the source repositories for each language: Java (java), Node.js (js), Python (python), .NET (dotnet), Ruby (ruby), PHP (php).
Restart your applications.
SSI adds a small amount of startup time to instrumented applications. If this overhead is not acceptable for your use case, contact
Datadog Support.
Generate the command from Datadog
To get a command pre-filled with your API key and site, go to the Install the Datadog Agent on Linux page and turn on Application Performance Monitoring under Core Observability.
Para seleccionar versiones del SDK desde los menús desplegables, haga clic en Customize Library Versions.
Luego, copie y ejecute el comando generado.
Instalación de Agent existente
Si ya tiene instalado un Datadog Agent, vuelva a ejecutar el comando de instalación del Agent desde Nueva instalación del Agent en el servidor. El comando actualiza el Agent existente y habilita SSI.
Alternativamente, utilice Fleet Automation para habilitar SSI desde Datadog:
En Datadog, vaya a Fleet Automation > Configuration.
Haga clic en Configure Agents.
Aplique filtros para seleccionar los Agent que desea configurar, luego haga clic en Siguiente.
Haga clic en el mosaico Application Performance Monitoring (APM), luego haga clic en Next.
En la pantalla Configure SDKs Installation, haga clic en Yes para instalar automáticamente el SDK. Seleccione Use latest version, o desmarque para especificar versiones individuales de SDK.
Haga clic en Siguiente.
Revise su configuración y haga clic en Deploy Configuration.
Verifique la instalación
Confirme que el Agent se está ejecutando:
sudo datadog-agent status
Confirme que la inyección de SSI esté activada en el servidor:
cat /etc/ld.so.preload && ls /opt/datadog-packages/ | grep apm
La salida enumera la biblioteca del inyector de APM en /etc/ld.so.preload y uno o más paquetes datadog-apm-*.
Después de que sus aplicaciones reciban tráfico, confirme que sus servicios aparecen en la página de servicios de APM. Si no aparecen en unos minutos, siga la guía de solución de problemas de SSI.
Las etiquetas de servicio unificadas (USTs) aplican etiquetas coherentes en trazas, métricas y registros, lo que facilita la navegación y la correlación de sus datos de observabilidad. Aprenda a configurar USTs para servicios de Linux.
Habilitar productos y funciones que dependen del SDK
Después de que SSI cargue el SDK de Datadog en sus aplicaciones y habilite el rastreo distribuido, puede configurar productos adicionales que dependen del SDK:
Note: All variables accept true or false. DD_PROFILING_ENABLED also accepts auto, which profiles only eligible processes and is recommended for SSI.
Utilice uno de los siguientes métodos de configuración:
Opciones avanzadas
Actualizar la versión del SDK
La versión del SDK se fija cuando ejecuta el comando de instalación del Agent.
Para actualizar las versiones del SDK:
- Vuelva a ejecutar el comando de instalación del Agent. Este comando también actualiza el Agent a la versión más reciente.
- Reinicie sus aplicaciones.
Definir reglas de instrumentación
Las reglas de instrumentación no son compatibles con su
sitio de Datadog seleccionado (
).
Las reglas de instrumentación (disponibles para el Agent v7.73+) le permiten controlar qué procesos son instrumentados automáticamente por SSI en servidores Linux.
Para configurar las reglas de instrumentación:
En Datadog, vaya a APM > Service Setup > Manage Instrumentation Rules.
Haga clic en Add or Edit Rules.
Definir las reglas de instrumentación:
- Haga clic en Add New Rule, luego elija Allow Rule o Block Rule para especificar si los procesos coincidentes deben ser instrumentados.
- Nombre su regla.
- Agregue una o más condiciones. Consulte Definir las condiciones de la regla para obtener más información.
(Opcional) Arrastre y suelte las reglas para reordenarlas.
Nota: Las reglas se evalúan en orden. Después de que un proceso coincide con una regla, las reglas subsiguientes se ignoran.
Establezca el comportamiento predeterminado (permitir o bloquear) para los procesos que no coinciden con ninguna regla.
Haga clic en Next para obtener una vista previa de sus reglas.
Haga clic en Deploy Rules.
Si Remote Configuration está habilitado, las reglas se implementan en cada servidor y se aplican en aquellos con SSI habilitado en un plazo de 50 segundos. Alternativamente, haga clic en Export para exportar el archivo de configuración y aplicarlo manualmente a sus servidores.
Definir las condiciones de la regla
Cada regla consta de una o más condiciones. Una condición incluye los siguientes elementos:
- Attribute: La propiedad del proceso que evalúa la regla.
- Operator: La lógica de comparación (
equals, not equals, prefix o contains). - Value: El texto o patrón a coincidir, como un nombre de proceso o un indicador de línea de comandos.
Los atributos admitidos incluyen:
| Atributo | Descripción | Ejemplo |
|---|
| Sistema operativo | SO del servidor. | linux |
| Ejecutable | Nombre del ejecutable del proceso. | python3.11 |
| Ruta completa del ejecutable | Ruta completa del ejecutable. | /usr/bin/python3.11 |
| Argumentos | Argumentos de línea de comandos utilizados para iniciar el proceso. | --env=production |
| Directorio de trabajo | Directorio de trabajo del proceso. | /app |
| Lenguaje | Lenguaje de programación detectado para el proceso. | python |
| Archivo de punto de entrada | El archivo específico utilizado para iniciar la aplicación. | app.py, server.js |
Ejemplos de casos de uso
Revise los siguientes ejemplos que demuestran cómo aplicar reglas de instrumentación:
Instrumentar todos los procesos de forma predeterminada. Agregue reglas de bloqueo para excluir servicios que agregarían ruido sin valor, como trabajos cron de análisis y procesadores por lotes de Java.
Bloquear toda la instrumentación de forma predeterminada. Agregue reglas de permitir para incluir procesos específicos en APM. Este enfoque le brinda un control preciso y funciona bien para implementaciones graduales.
Por ejemplo, para instrumentar solo un servicio de pago y un portal de clientes, cree reglas de permitir usando
Working Directory, luego establezca el comportamiento predeterminado en
Block Instrumentation.
Elimine la instrumentación de Single Step APM de su Agent
Para dejar de producir trazas para todos los servicios en su infraestructura:
- Ejecute:
dd-host-install --uninstall
- Reinicie los servicios en el servidor o la VM.
Solución de problemas
Si encuentra problemas al habilitar APM con SSI, consulte la guía de solución de problemas de SSI.
Lecturas adicionales
Documentación, enlaces y artículos útiles adicionales: