AWS Lambda

Esta página se limita a la documentación para la ingesta de métricas AWS Lambda desde Amazon CloudWatch. Ppara recopilar telemetría directamente de tus funciones Lambda en tiempo real, consulta la documentación de Datadog serverless.

Información general

AWS Lambda es un sistema informático servicio que ejecuta código en respuesta a eventos y gestiona automáticamente los recursos informáticos que requiere ese código.

Habilita esta integración para empezar a recopilar métricas CloudWatch. En esta página también se describe cómo configurar métricas personalizadas, generar logs y rastrear tus funciones Lambda.

Configuración

Instalación

Si aún no lo has hecho, configura la integración de Amazon Web Services.

Recopilación de métricas

Métricas AWS Lambda

  1. En la page (página) de integración de AWS, asegúrate de que Lambda esté activada en la pestaña Metric Collection.

  2. Añade los siguientes permisos a tu política de Datadog política para recopilar métricas de AWS Lambda. Para obtener más información, consulta las políticas de Lambda en el sitio web AWS.

    Permiso de AWSDescripción
    lambda:List*Lista de funciones, metadatos y tags (etiquetas) de Lambda.
    tag:GetResourcesObtén tags (etiquetas) personalizadas aplicadas a funciones de Lambda.
    cloudtrail:LookupEventsUtiliza CloudTrail History para detectar cambios en las funciones de lambda
  3. Instala la integración de Datadog y AWS Lambda.

Una vez finalizado esto, visualiza todas tus funciones Lambda en la vista Datadog Serverless. Esta page (página) reúne métricas, traces (trazas) y logs de tus funciones de AWS Lambda que ejecutan aplicaciones serverless en una sola vista. Puedes encontrar documentación detallada sobre esta función en la documentación de Datadog Serverless.

Datos recopilados

Cuando se utilizan extensiones AWS Lambda, la métrica de duración informada por AWS incluye la post_runtime_extensions_duration consumida por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función. Para monitorizar el rendimiento real de la función, utiliza duration - post_runtime_extensions_duration o la métrica Datadog mejorada aws.lambda.enhanced.runtime_duration.

A cada una de las métricas recuperadas de AWS se le asignan las mismas etiquetas que aparecen en la consola de AWS, incluyendo, entre otras, el nombre de la función, los grupos de seguridad, etc.

Métricas

aws.lambda.async_event_age
(gauge)
Mide el tiempo medio de la diferencia entre el momento en que un evento se pone por primera vez en la cola interna y el momento en que el servicio Lambda invoca la función.
Mostrado como milisegundo
aws.lambda.async_event_age.maximum
(gauge)
Mide el tiempo medio de la diferencia entre el momento en que un evento se pone por primera vez en la cola interna y el momento en que el servicio Lambda invoca la función.
Mostrado como milisegundo
aws.lambda.async_event_age.minimum
(gauge)
Mide el tiempo mínimo de la diferencia entre el momento en que un evento se pone por primera vez en la cola interna y el momento en que el servicio Lambda invoca la función.
Mostrado como milisegundo
aws.lambda.async_event_age.sum
(gauge)
Mide la suma de los tiempos de las diferencias entre el momento en que un evento se pone por primera vez en la cola interna y el momento en que el servicio Lambda invoca la función.
Mostrado como milisegundo
aws.lambda.async_events_dropped
(count)
Mide el número de eventos abandonados sin ejecutar correctamente la función.
Mostrado como evento
aws.lambda.async_events_received
(count)
Mide el número de eventos que Lambda pone en cola con éxito para su procesamiento.
Mostrado como evento
aws.lambda.claimed_account_concurrency
(count)
Mide la cantidad de concurrencia que no está disponible para invocaciones bajo demanda para una región.
Mostrado como invocación
aws.lambda.concurrent_executions
(gauge)
Mide la media de ejecuciones concurrentes de una función determinada en un momento dado.
Mostrado como ejecución
aws.lambda.concurrent_executions.maximum
(gauge)
Mide el máximo de ejecuciones concurrentes para una función dada en un momento dado.
Mostrado como ejecución
aws.lambda.concurrent_executions.minimum
(gauge)
Mide el mínimo de ejecuciones concurrentes para una función determinada en un momento dado.
Mostrado como ejecución
aws.lambda.concurrent_executions.sum
(gauge)
Mide la suma de ejecuciones concurrentes para una función determinada en un momento dado.
Mostrado como ejecución
aws.lambda.concurrent_executions_global
(gauge)
Mide la media de ejecuciones concurrentes de todas las funciones de una cuenta en un momento dado.
Mostrado como ejecución
aws.lambda.concurrent_executions_global.maximum
(gauge)
Mide el máximo de ejecuciones concurrentes para todas las funciones de una cuenta en un momento dado.
Mostrado como ejecución
aws.lambda.concurrent_executions_global.minimum
(gauge)
Mide el mínimo de ejecuciones concurrentes para todas las funciones de una cuenta en un momento dado.
Mostrado como ejecución
aws.lambda.concurrent_executions_global.sum
(gauge)
Mide la suma de ejecuciones concurrentes de todas las funciones de una cuenta en un momento dado.
Mostrado como ejecución
aws.lambda.dead_letter_errors
(count)
Mide la suma de veces que Lambda es incapaz de escribir la carga útil del evento fallido en las colas de letra muerta configuradas.
Mostrado como error
aws.lambda.deleted_event_count
(count)
Count de eventos eliminados por Lambda al procesarlos con éxito.
Mostrado como evento
aws.lambda.destination_delivery_failures
(count)
Mide el número de veces que Lambda intenta enviar un evento a un destino pero falla.
aws.lambda.dropped_event_count
(count)
Count de eventos abandonados por Lambda debido a la expiración del evento.
Mostrado como evento
aws.lambda.duration
(gauge)
Mide el tiempo medio de reloj de pared transcurrido desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse, incluido post_runtime_extensions_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como milisegundo.
aws.lambda.duration.maximum
(gauge)
Mide el tiempo de reloj de pared máximo transcurrido desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse, incluido post_runtime_extensions_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como milisegundo.
aws.lambda.duration.minimum
(gauge)
Mide el tiempo de reloj de pared mínimo transcurrido desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse, incluido post_runtime_extensions_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como milisegundo.
aws.lambda.duration.p50
(gauge)
Mide el p50 tiempo de reloj de pared transcurrido desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse, incluido post_runtime_extensions_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como milisegundo
aws.lambda.duration.p80
(gauge)
Mide el p80 tiempo de reloj de pared transcurrido desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse, incluido post_runtime_extensions_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como milisegundo.
aws.lambda.duration.p95
(gauge)
Mide el p95 tiempo de reloj de pared transcurrido desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse, incluido post_runtime_extensions_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como milisegundo
aws.lambda.duration.p99
(gauge)
Mide el p99 tiempo de reloj de pared transcurrido desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse, incluido post_runtime_extensions_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como milisegundo
aws.lambda.duration.p99.9
(gauge)
Mide el p99.9 tiempo transcurrido en el reloj de pared desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse, incluido post_runtime_extensions_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como milisegundo
aws.lambda.duration.sum
(gauge)
Mide el tiempo total de ejecución de la función Lambda que se está ejecutando, incluido post_runtime_extensions_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como milisegundo
aws.lambda.enhanced.billed_duration
(gauge)
Mide el tiempo facturado de ejecución de la función.
Mostrado como segundo
aws.lambda.enhanced.cpu_max_utilization
(gauge)
Mide la utilización de la CPU en el núcleo utilizado al máximo.
Mostrado como porcentaje
aws.lambda.enhanced.cpu_min_utilization
(gauge)
Mide la utilización de la CPU en el núcleo mínimamente utilizado.
Mostrado como porcentaje
aws.lambda.enhanced.cpu_system_time
(gauge)
Mide la cantidad de tiempo de funcionamiento de la CPU en modo kernel.
Mostrado como milisegundo
aws.lambda.enhanced.cpu_total_time
(gauge)
Mide el tiempo total de funcionamiento de la CPU.
Mostrado en milisegundos
aws.lambda.enhanced.cpu_total_utilization
(gauge)
Mide la utilización total de la CPU de la función como número de núcleos.
Mostrado como núcleo
aws.lambda.enhanced.cpu_total_utilization_pct
(gauge)
Mide la utilización total de la CPU de la función como un porcentaje.
Mostrado como porcentaje
aws.lambda.enhanced.cpu_user_time
(gauge)
Mide el tiempo de funcionamiento de la CPU en modo usuario.
Mostrado en milisegundos
aws.lambda.enhanced.duration
(gauge)
Mide los segundos transcurridos desde que el código de la función comienza a ejecutarse como resultado de una invocación hasta que deja de ejecutarse, incluido post_runtime_duration consumido por las extensiones Lambda que realizan actividades después de que se devuelve la respuesta de la función.
Mostrado como segundo
aws.lambda.enhanced.errors
(count)
Mide el número de invocaciones que fallaron debido a errores en la función.
Mostrado como error
aws.lambda.enhanced.estimated_cost
(gauge)
Mide el costo total estimado de la invocación de la función (en dólares estadounidenses).
Mostrado en dólares
aws.lambda.enhanced.init_duration
(gauge)
Mide el tiempo de inicialización (segundo) de una función durante un arranque en frío.
Mostrado como segundo
aws.lambda.enhanced.invocations
(count)
Mide el número de veces que se invoca una función en respuesta a un evento o llamada a la API de invocación.
Mostrado como invocación
aws.lambda.enhanced.max_memory_used
(gauge)
Mide la cantidad máxima de memoria (mb) utilizada por la función.
Mostrado como mebibyte
aws.lambda.enhanced.memorysize
(gauge)
Mide la cantidad de memoria asignada (mb) disponible para la función durante la ejecución.
Mostrado como mebibyte
aws.lambda.enhanced.num_cores
(gauge)
Mide el número de núcleos disponibles.
Mostrado como núcleo
aws.lambda.enhanced.out_of_memory
(count)
Mide el número de veces que una función se queda sin memoria.
Mostrado como error
aws.lambda.enhanced.post_runtime_duration
(gauge)
Mide los milisegundos transcurridos desde que la función devuelve la respuesta hasta que las extensiones terminan de realizar actividades como el envío de datos de telemetría a un destino preferido tras la devolución de la respuesta de la función.
Mostrado como milisegundo
aws.lambda.enhanced.produced_bytes
(gauge)
Mide el número de bytes devueltos por una función.
Mostrado como byte
aws.lambda.enhanced.response_duration
(gauge)
Mide el tiempo transcurrido en milisegundos desde que se envía al cliente el primer byte de respuesta hasta el último byte de respuesta.
Mostrado como milisegundo
aws.lambda.enhanced.response_latency
(gauge)
Mide el tiempo transcurrido en milisegundos desde que se recibe la solicitud de invocación hasta que se envía el primer byte de respuesta al cliente.
Mostrado como milisegundo
aws.lambda.enhanced.runtime_duration
(gauge)
Mide los milisegundos transcurridos desde que se inicia el código de la función hasta que devuelve la respuesta.
Se muestra como milisegundo
aws.lambda.enhanced.rx_bytes
(gauge)
Mide los bytes recibidos por la función.
Mostrado como byte
aws.lambda.enhanced.time_to_first_byte
(gauge)
Mide el tiempo transcurrido en milisegundos desde que comienza el código de la función hasta que devuelve el primer byte.
Mostrado como milisegundo
aws.lambda.enhanced.timeouts
(count)
Mide el número de veces que se agota el tiempo de espera de una función.
Mostrado como tiempo de espera
aws.lambda.enhanced.tmp_max
(gauge)
Mide el espacio total disponible en el directorio /tmp.
Mostrado como byte
aws.lambda.enhanced.tmp_used
(gauge)
Mide el espacio utilizado en el directorio /tmp.
Mostrado como byte
aws.lambda.enhanced.total_network
(gauge)
Mide los bytes enviados y recibidos por la función.
Mostrado como byte
aws.lambda.enhanced.tx_bytes
(gauge)
Mide los bytes enviados por la función.
Mostrado como byte
aws.lambda.errors
(count)
Mide el número de invocaciones que fallaron debido a errores en la función.
Mostrado como error
aws.lambda.failed_invoke_event_count
(count)
Count de eventos enviados como carga útil de invocación a la función Lambda de destino que han provocado un fallo total o parcial.
Mostrado como evento
aws.lambda.filtered_out_event_count
(count)
Para asignaciones de source (fuente) de eventos con FilterCriteria, count de eventos filtrados por Lambda.
Mostrado como evento
aws.lambda.invocations
(count)
Mide el número de veces que se invoca una función en respuesta a un evento o llamada a la API de invocación.
Mostrado como invocación
aws.lambda.invoked_event_count
(count)
Count de eventos que Lambda envió como carga útil de invocación a la función Lambda de destino.
Mostrado como evento
aws.lambda.iterator_age
(gauge)
Mide la antigüedad del último registro de cada lote de registros procesados
Mostrado en milisegundos
aws.lambda.iterator_age.maximum
(gauge)
Mide la antigüedad máxima del último registro de cada lote de registros procesados
Mostrado en milisegundos
aws.lambda.iterator_age.minimum
(gauge)
Mide la antigüedad mínima del último registro de cada lote de registros procesados
Mostrado en milisegundos
aws.lambda.iterator_age.sum
(gauge)
Mide la suma de las antigüedades del último registro de cada lote de registros procesados
Mostrado en milisegundos
aws.lambda.memorysize
(gauge)
Mide la cantidad de memoria asignada disponible para la función durante la ejecución.
Mostrado como mebibyte
aws.lambda.on_failure_destination_delivered_event_count
(count)
Para las asignaciones de source (fuente) de eventos con DestinationConfig, el count de eventos que se enviaron con éxito al destino tras el fallo.
Mostrado como evento
aws.lambda.polled_event_count
(count)
Count de eventos que Lambda ha sondeado con éxito desde la source (fuente) de eventos.
Mostrado como evento
aws.lambda.post_runtime_extensions_duration
(gauge)
Mide la cantidad media de tiempo que el tiempo de ejecución pasa ejecutando el código para extensiones después de que el código de la función se ha completado.
Mostrado como milisegundo
aws.lambda.post_runtime_extensions_duration.maximum
(gauge)
Mide la cantidad máxima de tiempo que el tiempo de ejecución pasa ejecutando el código para extensiones después de que el código de la función ha finalizado.
Mostrado como milisegundo
aws.lambda.post_runtime_extensions_duration.minimum
(gauge)
Mide la cantidad mínima de tiempo que el tiempo de ejecución pasa ejecutando el código para extensiones después de que el código de la función se ha completado.
Mostrado como milisegundo
aws.lambda.post_runtime_extensions_duration.p50
(gauge)
Mide el p50 tiempo de reloj de pared transcurrido del tiempo de ejecución del código para extensiones después de que el código de la función ha finalizado.
Mostrado como milisegundo
aws.lambda.post_runtime_extensions_duration.p99
(gauge)
Mide el p90 tiempo de reloj de pared transcurrido del tiempo de ejecución del código para extensiones después de que el código de la función ha finalizado.
Mostrado como milisegundo
aws.lambda.post_runtime_extensions_duration.sum
(gauge)
Mide la cantidad acumulada de tiempo del tiempo de ejecución del código para extensiones después de que el código de la función ha finalizado.
Mostrado como milisegundo
aws.lambda.provisioned_concurrency_invocations
(count)
Mide el número de invocaciones que se ejecutan en la concurrencia aprovisionada
Mostrado como invocación
aws.lambda.provisioned_concurrency_spillover_invocations
(count)
Mide el número de invocaciones que se ejecutan en concurrencia no aprovisionada cuando toda la concurrencia aprovisionada está en uso
Mostrado como invocación
aws.lambda.provisioned_concurrency_utilization
(gauge)
Mide la fracción media de concurrencia aprovisionada en uso para una función determinada en un momento dado
Mostrado como porcentaje.
aws.lambda.provisioned_concurrency_utilization.maximum
(gauge)
Mide la fracción máxima de concurrencia aprovisionada en uso para una función determinada en un momento dado
Mostrado como porcentaje.
aws.lambda.provisioned_concurrency_utilization.minimum
(gauge)
Mide la fracción mínima de concurrencia aprovisionada en uso para una función determinada en un momento dado
Se muestra como porcentaje.
aws.lambda.provisioned_concurrent_executions
(gauge)
Mide el número medio de eventos que se están procesando en la concurrencia aprovisionada
Mostrado como ejecución
aws.lambda.provisioned_concurrent_executions.maximum
(gauge)
Mide el número máximo de eventos que se están procesando en la concurrencia aprovisionada
Mostrado como ejecución
aws.lambda.provisioned_concurrent_executions.minimum
(gauge)
Mide el número mínimo de eventos que se están procesando en la concurrencia aprovisionada
Mostrado como ejecución
aws.lambda.recursive_invocations_dropped
(count)
Mide el número de veces que Lambda ha detenido la invocación de tu función porque ha detectado que tu función forma parte de un bucle recursivo infinito.
Mostrado como invocación
aws.lambda.signature_validation_errors
(count)
Mide el número de veces que una función se despliega correctamente pero falla un check de firma
Mostrado como error
aws.lambda.streamed_outbound_bytes
(gauge)
Mide el número de bytes de salida devueltos por una función de respuesta de streaming.
Mostrado como byte
aws.lambda.streamed_outbound_throughput
(rate)
Mide el número de bytes devueltos por segundo por una función de respuesta de streaming.
Mostrado como byte
aws.lambda.throttles
(count)
Mide el número de intentos de invocación de la función Lambda que se han limitado debido a que las tasas de invocación superan los límites concurrentes del cliente (código de error 429). Las invocaciones fallidas pueden activar un intento de reintento que tenga éxito.
Mostrado como limitación
aws.lambda.timeout
(gauge)
Mide la cantidad de tiempo de ejecución permitida para la función antes de que el tiempo de ejecución de Lambda la detenga.
Mostrado como segundo
aws.lambda.unreserved_concurrent_executions
(gauge)
Mide la suma de la concurrencia de las funciones que no tienen especificado un límite de concurrencia personalizado.
Mostrado como ejecución
aws.lambda.url_4xx_count
(count)
Número de solicitudes que han devuelto un código de estado HTTP 4xx.
Mostrado como error
aws.lambda.url_5xx_count
(count)
El número de solicitudes que han devuelto un código de estado HTTP 5xx.
Mostrado como error
aws.lambda.url_request_count
(count)
El número de solicitudes que han llegado a esta URL de función.
Mostrado como solicitud
aws.lambda.url_request_latency
(gauge)
El tiempo transcurrido entre el momento en que la URL de la función recibió una solicitud y el momento en que recibe una respuesta de la función
Mostrado como milisegundo.
aws.lambda.url_request_latency.maximum
(gauge)
El tiempo máximo transcurrido entre el momento en que la URL de la función recibió una solicitud y el momento en que recibe una respuesta de la función
Mostrado como milisegundo.

Eventos

La integración de AWS Lambda recopila eventos de despliegue de Lambda de AWS CloudTrail si el rastreo del despliegue serverless de Datadog está habilitado.

Checks de servicio

La integración AWS Lambda no incluye checks de servicios.

Métricas Lambda mejoradas en tiempo real

Consulta la Documentación serverless para obtener más información.

Métricas personalizadas

Consulta la Documentación serverless para obtener más información.

Recopilación de logs

Consulta la Documentación serverless para obtener más información.

Recopilación de trazas

Consulta la Documentación serverless para obtener más información.

Lambda@Edge

Datadog añade automáticamente etiquetas at_edge, edge_master_name y edge_master_arn sobre tus métricas Lambda para ofrecer una vista agregada de las métricas y los logs de tu función Lambda a medida que se ejecutan en localizaciones de Edge.

El rastreo distribuido no es compatible con las funciones Lambda@Edge.

Monitorización predefinida

La integración AWS Lambda proporciona funciones de monitorización listas para utilizar, para monitorizar y optimizar el rendimiento.

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con asistencia técnica de Datadog.

Referencias adicionales