← Back to list

Monitoreo de AWS con Datadog, Parte 2: Monitoreo de Aplicaciones

Martín Aristizábal — Cloud Architect — Presales Consultant — Pragma S.A.

Martin Aristizabal in Pragma · 2025-07-02 19:07 · 0 claps · 8.2 min read
#apm #monitoreo #observabilidad #datadog #aws
Open on Medium ↗
Wiki topics: RAG · RAG & Retrieval ☁️ · DevOps & Cloud 🏛️ · Architecture

Monitoreo de AWS con Datadog (2): seguimiento de aplicaciones

El monitoreo de ejecución de aplicaciones (o APM por sus siglas en inglés) es otro elemento fundamental para poder tener una vista integral del funcionamiento de nuestros servicios corriendo sobre AWS.

Este nos debe permitir entender cada una de las capas que interactúan y sus efectos en un servicio como un todo, que presta una o varias funciones específicas, definidas por el negocio para sus usuarios, sean internos o externos.

Con este entendimiento tenemos una herramienta poderosa para realizar seguimiento y solucionar problemas de ejecución cuando se presenten.

El blog anterior se enfocó en las capacidades de monitoreo de Datadog en la capa de Infraestructura. Ahora nos enfocaremos en lo relacionado con APM, el cual complementa y mejora el monitoreo de la infraestructura.

¿Qué logramos con APM de Datadog?

Como mencionamos anteriormente, este monitoreo nos permite la vista integral de las aplicaciones, incluyendo todas sus capas. Esto fundamentalmente nos va a permitir identificar cuellos de botella en el rendimiento, determinar cuál o cuáles componentes están comprometidos, obtener información significativa para solucionar el inconveniente y llegar a una optimización de los servicios relacionados.

Vista general Datadog APM

Vista general Datadog APM

Con Datadog podemos realizar un seguimiento a cada transacción, identificando su comportamiento en cada paso, correlacionando la información obtenida de diferentes fuentes de telemetría y logs y entregando tableros prediseñados con la información más relevante (los tableros pueden ser duplicados y modificados para adaptarlos a las necesidades particulares).

Con esta información consolidada podemos evidenciar donde se encuentran ubicados los problemas de rendimiento y solucionarlos de manera adecuada para la satisfacción de los usuarios con el servicio.

Para algunas versiones de sistemas operativos y lenguajes específicos, como Amazon Linux 2022+, Centos 7+ 8+, Debian 10–12, entre otros, con versiones específicas de lenguajes, Datadog cuenta con la opción de ‘Instrumentación’ en un solo paso que permite instalar el agente y realizar la configuración de las aplicaciones y plataformas compatibles para empezar a recolectar información de forma inmediata.

Si no se cuenta con estas características, siempre será posible realizar la instrumentación detallada de las aplicaciones.

Algunas funcionalidades específicas que podemos encontrar en APM de Datadog son:

  • Explorador de trazas: Permite consultar y visualizar el proceso de las transacciones de principio a fin, pasando por los diferentes componentes técnicos del servicio. Esto nos permitirá entender las etapas de su flujo.
  • Seguimiento de servicios y recursos: Para monitorear la salud y calidad de ejecución de componentes individuales. Nos entregará métricas de funcionamiento, rastrear diferentes versiones implementadas e identificar recursos con problemas.
  • Correlación de métricas: Toma datos de APM y los correlaciona con trazas de bases de datos, Monitoreo de usuarios reales, logs y perfiles definidos para dar un contexto más completo y mejores análisis.
  • Control de ingesta de datos: Nos permite ajustar la configuración para ajustar la cantidad de datos que se reciben por servicio y recurso, así como definir la retención de información.
  • Análisis de causa raíz: Esta funcionalidad ya existía, pero recientemente en el DASH 2025 fue anunciado el componente de Bits AI SRE, un agente de IA autónomo que ayuda a solucionar y resolver problemas de producción 24/7, investigando y realizando análisis de la causa raíz en minutos.

La implementación de la solución de APM se basa en el mismo agente que ya revisamos anteriormente para el monitoreo de infraestructura y solo es necesario agregarle algunos parámetros de configuración en el archivo datadog.yml (agregar la línea apm_enabled: true, agregar las bibliotecas específicas de datadog, de ser requerido e instrumentar la aplicación, de acuerdo al lenguaje de programación, configurar la biblioteca de rastreo con la clave de la API de Datadog y la URL del agente, para asegurar que la conexión corresponda con la implementación).

Por ejemplo, para una aplicación python se instalaría la biblioteca ddtrace y luego se utilizaría el siguiente procedimiento para instalar y configurar la opción de rastreo de la aplicación.

from ddtrace import tracer
from ddtrace.auto import atexit

tracer.configure(
  hostname='<host-de-agente-de-datadog>',
  port='<puerto-de-agente-datadog>'
  )
# Autointrumentador para Flask, Django u otro framework compatible,
from ddtrace.auto import patch_all
patch_all()

atexit.register(tracer.stop) # Detiene el rastreador al salir

Y luego para instrumentar las funciones y métodos, importaríamos la función respectiva (tracer para este caso):

from ddtrace import tracer

@tracer.wrap('mi_funcion')
def mi_funcion():
  # Código aquí
  pass
with tracer.trace('mi_contexto'):
  # Código dentro del contexto
  pass

También es posible utilizar la opción de instrumentación automática o instrumentación en un solo paso, en beta en este momento (Junio 2025). Para esto se instala o actualiza el agente, con la opción “Habilitar la instrumentación APM (Beta)”, lo cual permite instrumentar la aplicación de forma automática y sin ningún paso adicional.

Siguiendo con el ejemplo de Python, también podemos habilitar la recolección de estadísticas detallada de la aplicación utilizando la misma librería ddtrace:

from ddtrace import tracer
# Socket de red
tracer.configure(
  dogstatsd_url="udp://localhost:8125",
)
# Para el dominio de Unix
tracer.configure(
  dogstatsd_url="unix:///var/run/datadog/dsd.socket",
)

Como mencionamos anteriormente, la recolección detallada de métricas contribuye de manera importante a lograr una visión integral de nuestra aplicación en todas sus capas, evitando problemas de áreas grises de información, donde no sabemos que está pasando con nuestras transacciones o en qué punto están pasando cosas que tienen una significación importante desde el punto de vista de optimización de la ejecución.

Para las funciones lambda y serverless, Datadog ofrece múltiples opciones de configuración del monitoreo de APM: Datadog CLI, Serverless Framework, AWS SAM, AWS CDK, imagen de contenedor.

Por ejemplo, para Python podemos instrumentar agregando las siguientes variables a nuestra función lambda:

"Environment": {
  "Variables": {
    "DD_LAMBDA_HANDLER": "lambda_function.lambda_handler",
    "DD_API_KEY": "9e**********139f",
    "DD_SITE": "datadoghq.com",
    "DD_SERVICE": "lambda",
    "DD_TRACE_ENABLED": "true"
    "DD_VERSION": "1.0",
     "DD_ENV": "dev",
   }
  "Layers": [
"arn:aws:lambda:us-east-1:999999999999:layer:Datadog-Extension:55",
"arn:aws:lambda:us-east-1:999999999999:layer:Datadog-Python312:88"
]

Esto también lo podemos realizar con infraestructura como código utilizando el módulo de Terraform que entrega Datadog, lo cual nos permitiría agilizar la implementación si tenemos una gran cantidad de funciones lambda que necesitemos configurar.

Estrategia de tagging: Es un buen momento para revisar también la estrategia de tagging y aplicar las que sean requeridas por la aplicación, como mínimo ambiente (dev/qa/prod), nombre de aplicación, área responsable y persona responsable, aunque también debería incluir ubicación, tipo de nube, plataforma, entre otros.

Esto va a ser una ayuda fundamental a la hora de buscar y filtrar información relativa a cada una de estas categorías y facilitando el filtrado de datos en la consola de Datadog.

Una vez realizada la configuración anterior, se debería empezar a reflejar la información de nuestra aplicación en la consola de Datadog y podemos empezar a utilizar todas sus funcionalidades, las cuales detallaremos a continuación.

Explorador de trazas: Una traza se refiere al seguimiento de una solicitud a través de todos los componentes de una aplicación, lo cual nos permite una vista fundamental del flujo de transacciones.

Explorador de trazas de Datadog

Explorador de trazas de Datadog

Una herramienta fundamental que nos permite la vista de trazas son los intervalos de tiempo que toma cada componente de una transacción. Esto es fundamental para identificar cuál de ellos está representando el mayor consumo de tiempo y por lo tanto nos permite priorizar las actividades que hacemos para mejorar el rendimiento, resolver problemas de lentitud y, en general, eventos que afecten la disponibilidad o calidad del servicio.

Combinado con el monitoreo de bases de datos, podemos identificar hasta el nivel de consultas en el caso que la lentitud se origine allí o simplemente para identificar cómo está funcionando este nivel de persistencia en nuestro sistema.

Monitoreo de bases de datos

Monitoreo de bases de datos

En la imagen, por ejemplo, podemos apreciar cuáles son los tiempos que toma cada consulta en ejecutar y los podemos correlacionar con los tiempos de las otras acciones. De esta manera y muy similar a lo que podemos hacer con AWS X-ray y sus funciones conexas, podemos tener una “radiografía” de nuestras aplicaciones sin que nada se nos quede por fuera, siempre que tengamos todas las funcionalidades implementadas.

A lo anterior, sumamos los componentes base de Métricas y Analítica que nos entrega APM. La latencia, el flujo de datos y la tasa de errores pueden ser analizados de manera integral por las capacidades analíticas de Datadog para identificar cuellos de botella de una forma sencilla.

Una vez que identifiquemos un punto de interés, podemos tener también la vista de logs correspondientes a ese momento específico, obteniendo una vista integral, de acuerdo a los parámetros de observabilidad.

Una opción interesante que está en evolución es el Universal Service Monitoring (USM), que ofrece una visibilidad de métricas del estado de servicios en el stack sin necesidad de modificar el código. Es suficiente tener el agente de Datadog implementado. La funcionalidad incluye la capacidad de etiquetado de servicios unificado que busca los tags definidos y si no se encuentran, los genera automáticamente.

También nos permite crear instancias de servicios no codificados en las vistas del catálogo y mapas de servicios, rastreo de implementaciones, monitores, dashboards y SLOs. Este servicio solo está activo inicialmente para aplicaciones contenerizadas para los protocolos http y https (Openssl).

El perfilador continuo (Continous profiling) también cumple una función importante que nos puede ayudar en la tarea de optimización de nuestra aplicación, enfocándose en el código. Esto nos permite recopilar datos sobre la aplicación para identificar qué cantidad de “trabajo” está realizando cada función.

Por ejemplo, mientras que el monitoreo de infraestructura nos muestra el nivel de uso del procesador llegando al 80%, la generación de perfiles nos puede mostrar cuál de las funciones de nuestro código está utilizando ese porcentaje.

De esta manera, en lugar de gastar tiempo analizando diferentes opciones de optimización, los programadores se pueden enfocar directamente en las funciones de código más costosas para lograr resultados mucho más efectivos y rápidos, permitiendo rastrear uso de CPU, cantidad y tipos de objetos asignados en la memoria, tiempo de espera en bloqueos, entradas y salidas de un archivo, etc., dependiendo del tipo de lenguaje que se esté perfilando.

Esta opción nos permite mejorar la comunicación entre los equipos de desarrollo y operación, identificando oportunidades de mejora que se van a reflejar en el funcionamiento general de la solución.

[embed]Interfaz de APM de Datadog

Bits AI: Como mencionamos anteriormente, en junio de 2025 Datadog realizó el lanzamiento de su “Copiloto” de AI para toda la plataforma. Si bien algunas de sus funcionalidades están en preview, lo más importante a resaltar y de lo que estaremos pendientes en los próximos meses, es su capacidad para agilizar la gestión de incidentes.

  • Presenta un resumen actualizado del incidente cuando un usuario se une a un canal de Slack previamente configurado.
  • Permite integración con PagerDuty para notificar al equipo responsable.
  • Actualiza automáticamente el nivel de gravedad y el estado de un incidente.
  • Correlaciona incidentes, buscando el historial para identificar los que son similares al que se está revisando.
  • Genera un análisis retrospectivo inicial, sobre el cual se puede revisar y profundizar.

Datadog lo resume como “Una suite de capacidades inteligentes de AI que trabajan de manera transversal en los componentes críticos de monitoreo, desarrollo y flujos de seguridad. Bits AI puede investigar alertas, sugerir mejoras en el código, revisar señales de seguridad y tomar acciones en sistemas externos y todo esto teniendo en cuenta de manera completa el contexto organizacional y operacional de la compañía”.

Conclusión

Las funcionalidades de APM de Datadog ofrecen una monitorización y visualización exhaustiva de todos los componentes y procesos de nuestras aplicaciones. Esto nos proporciona información crucial para comprender su operación y nos brinda las herramientas necesarias para implementar mejoras continuas.

Al integrar esta información con el monitoreo de infraestructura, bases de datos y logs, obtenemos una visión de 360 grados de nuestros servicios, todo desde una interfaz única, sencilla y amigable. Si se combina con una estrategia de etiquetado efectiva, como recomienda AWS, la interfaz permite filtrar para identificar rápidamente los componentes de servicio de interés.

En el siguiente artículo, exploraremos las capacidades de Datadog para el monitoreo de la experiencia del usuario. Este aspecto es cada vez más vital para entender, desde la perspectiva de nuestros usuarios, el rendimiento de nuestra aplicación y todos sus elementos asociados.


메타데이터
post_id
4e56d3c7bae6
slug
monitoreo-de-aws-con-datadog-parte-2-monitoreo-de-aplicaciones-4e56d3c7bae6
url
https://medium.com/somos-pragma/monitoreo-de-aws-con-datadog-parte-2-monitoreo-de-aplicaciones-4e56d3c7bae6
canonical_url
https://medium.com/somos-pragma/monitoreo-de-aws-con-datadog-parte-2-monitoreo-de-aplicaciones-4e56d3c7bae6
author_url
https://medium.com/@mearistizabal
status
ok
fetched_at
2026-08-10 08:13:00