Ver las métricas de funciones de Lambda
Cuando la función de AWS Lambda termina de procesar un evento, Lambda envía métricas sobre la invocación a Amazon CloudWatch. No se aplica ningún cargo por estas métricas.
En la consola de CloudWatch, se pueden crear gráficos y paneles con estas métricas. Se pueden configurar alarmas para responder a cambios en el uso, el rendimiento o las tasas de error. Lambda envía datos de métricas a CloudWatch en intervalos de 1 minuto. Para obtener información más inmediata sobre una función de Lambda, puede crear métricas personalizadas
Esta página describe las métricas de invocación de funciones, rendimiento y concurrencia de Lambda disponibles en la consola de CloudWatch.
Visualización de métricas en la consola de CloudWatch
Puede usar la consola CloudWatch para filtrar y clasificar métricas de funciones por nombre de función, alias o versión.
Para ver métricas en la consola de CloudWatch
-
Abra la página Metrics (Métricas)
(espacio de nombres de AWS/Lambda
) de la consola de CloudWatch. -
En la pestaña Examinar, en Métricas, elija una de las siguientes dimensiones:
-
Por nombre de función (
FunctionName
): vea las métricas agregadas de todas las versiones y alias de una función. -
Por recurso (
Resource
): vea las métricas de una versión o el alias de una función. -
Por versión ejecutada (
ExecutedVersion
): vea las métricas para una combinación de alias y versión. Utilice la dimensiónExecutedVersion
para comparar las tasas de error de dos versiones de una función que son objetivos de un alias ponderado. -
En todas las funciones (ninguna): vea las métricas agregadas de todas las funciones de la Región de AWS actual.
-
-
Elija una métrica y, a continuación, seleccione Agregar al gráfico u otra opción del gráfico.
De forma predeterminada, los gráficos utilizan la estadística Sum
para todas las métricas. Para elegir una estadística diferente y personalizar el gráfico, utilice las opciones de la pestaña Métricas Gráficas .
nota
La marca temporal de una métrica refleja cuándo se invocó la función. Dependiendo de la duración de la invocación, esto puede ser varios minutos antes de la emisión de la métrica. Por ejemplo, si la función tiene un tiempo de espera de 10 minutos, retroceda más de 10 minutos al buscar para obtener métricas precisas.
Para obtener más información acerca de CloudWatch, consulte la Guía del usuario de Amazon CloudWatch.
Tipos de métricas
En la siguiente sección, se describen los tipos de métricas de Lambda disponibles en la consola de CloudWatch.
Métricas de invocación
Las métricas de invocación son indicadores binarios del resultado de la invocación de una función de Lambda. Por ejemplo, si la función devuelve un error, Lambda envía la métrica Errors
con un valor de 1. Para obtener un recuento del número de errores de la función que se hayan producido cada minuto, consulte el valor de Sum
de la métrica Errors
con un período de 1 minuto.
nota
Consulte las siguientes métricas de invocación con la estadística Sum
.
-
Invocations
: número de veces que se invoca el código de la función, incluidas las invocaciones correctas y las invocaciones que dan lugar a un error de la función. Las invocaciones no se registran si la solicitud de invocación se limita o da lugar a un error de invocación. El valor deInvocations
equivale al número de solicitudes facturadas. -
Errors
: el número de invocaciones que dan lugar a un error de función. Los errores de la función incluyen las excepciones lanzadas por el código y las excepciones lanzadas por el tiempo de ejecución de Lambda. El motor de ejecución devuelve errores para problemas como tiempos de espera y errores de configuración. Para calcular la tasa de error, divida el valor deErrors
por el valor deInvocations
. Tenga en cuenta que la marca de hora de una métrica de error refleja cuándo se invocó la función, no cuando se produjo el error. -
DeadLetterErrors
: en el caso de la invocación asíncrona, el número de veces que Lambda intenta enviar un evento a una cola de mensajes fallidos (DLQ) sin conseguirlo. Pueden producirse errores de mensaje fallido debido a recursos mal configurados o límites de tamaño. -
DestinationDeliveryFailures
: en el caso de la invocación asíncrona y la asignación de orígenes de eventos admitida, es el número de veces que Lambda intenta enviar un evento a un destino sin conseguirlo. Para la asignación de orígenes de eventos, Lambda admite los destinos de orígenes de secuencias (DynamoDB y Kinesis). Pueden producirse errores de entrega debido a errores de permisos, recursos mal configurados o límites de tamaño. También pueden producirse errores si el destino que ha configurado es de un tipo no admitido, como una cola FIFO de Amazon SQS o un tema FIFO de Amazon SNS. -
Throttles
: el número de solicitudes de invocación que se han limitado. Cuando todas las instancias de función están procesando solicitudes y no hay simultaneidad disponible para escalar verticalmente, Lambda rechaza las solicitudes adicionales y muestra el errorTooManyRequestsException
. Las solicitudes limitadas y otros errores de invocación no cuentan comoInvocations
niErrors
. -
OversizedRecordCount
: en el caso de los orígenes de eventos de Amazon DocumentDB, la cantidad de eventos que su función recibe de su flujo de cambios que tienen un tamaño superior a 6 MB. Lambda elimina el mensaje y emite esta métrica. -
ProvisionedConcurrencyInvocations
: el número de veces que se invoca el código de la función con simultaneidad aprovisionada. -
ProvisionedConcurrencySpilloverInvocations
: el número de veces que se invoca el código de la función con simultaneidad estándar cuando ya se usa toda la simultaneidad aprovisionada. -
RecursiveInvocationsDropped
: número de veces que Lambda ha detenido la invocación de la función porque se detecta que la función forma parte de un bucle recursivo infinito. La detección de bucles recursivos supervisa la cantidad de veces que se invoca una función como parte de una cadena de solicitudes mediante el seguimiento de los metadatos agregados por los SDK de AWS compatibles. De forma predeterminada, si la función se invoca como parte de una cadena de solicitudes aproximadamente 16 veces, Lambda descarta la siguiente invocación. Si deshabilita la detección de bucles recursivos, esta métrica no se emite. Para obtener más información acerca de esta característica, consulte Utilice la detección de bucles recursivos de Lambda para evitar bucles infinitos.
Métricas de desempeño
Las métricas de rendimiento proporcionan detalles de rendimiento sobre una única invocación de función. Por ejemplo, la métrica Duration
indica la cantidad de tiempo en milisegundos que la función gasta procesando un evento. Para obtener una idea de la rapidez con la que su función procesa eventos, consulte estas métricas con la estadística Average
o Max
.
-
Duration
: la cantidad de tiempo que el código de función pasa procesando un evento. La duración facturada de una invocación es el valor deDuration
redondeado hacia arriba a los milisegundos más cercanos.Duration
no incluye el tiempo de arranque en frío. -
PostRuntimeExtensionsDuration
: cantidad acumulativa de tiempo que el tiempo de ejecución dedica a ejecutar código para extensiones después de que se haya completado el código de función. -
IteratorAge
: en el caso de los orígenes de eventos de DynamoDB, Kinesis y Amazon DocumentDB, la antigüedad del último registro del evento. Esta métrica mide el tiempo transcurrido desde que una secuencia recibe el registro hasta que la asignación de origen de eventos envía el evento a la función. -
OffsetLag
: en el caso de los orígenes de eventos autoadministrados de Apache Kafka y Amazon Managed Streaming para Apache Kafka (Amazon MSK), la diferencia de desplazamiento entre el último registro escrito en un tema y el último registro que procesó el grupo de consumidores de la función. Aunque un tema de Kafka puede tener varias particiones, esta métrica mide el retraso de desplazamiento en el nivel del tema.
Duration
también admite estadísticas percentiles (p
). Utilice percentiles para excluir valores atípicos que sesgan las estadísticas Average
y Maximum
. Por ejemplo, la estadística p95
muestra la duración máxima del 95 % de las invocaciones, sin incluir el 5 % más lento. Para obtener más información, consulte Percentiles en la Guía del usuario de Amazon CloudWatch.
Métricas de simultaneidad
Lambda informa de las métricas de simultaneidad como un recuento agregado del número de instancias que procesan eventos en una función, versión, alias o Región de AWS. Para ver lo cerca que está de alcanzar los límites de simultaneidad, consulte estas métricas con la estadística Max
.
-
ConcurrentExecutions
: número de instancias de función que están procesando eventos. Si este número alcanza la cuota de ejecuciones simultáneas de la región o el límite de simultaneidad reservada de la función, Lambda limita las solicitudes de invocación adicionales. -
ProvisionedConcurrentExecutions
: el número de instancias de función que están procesando eventos con simultaneidad aprovisionada. Para cada invocación de un alias o versión con simultaneidad aprovisionada, Lambda emite el recuento actual. -
ProvisionedConcurrencyUtilization
: para una versión o alias, el valor deProvisionedConcurrentExecutions
dividido entre la cantidad total de simultaneidad aprovisionada asignada. Por ejemplo, si configura una simultaneidad aprovisionada de 10 para su función y suProvisionedConcurrentExecutions
es 7, entonces suProvisionedConcurrencyUtilization
es 0,7. -
UnreservedConcurrentExecutions
: en el caso de región, número de eventos que están procesando las funciones que no tienen simultaneidad reservada. -
ClaimedAccountConcurrency
: para una región, es la cantidad de simultaneidad que no está disponible para las invocaciones bajo demanda.ClaimedAccountConcurrency
es igual aUnreservedConcurrentExecutions
más la cantidad de simultaneidad asignada (es decir, la simultaneidad reservada total más la simultaneidad total aprovisionada). Para obtener más información, consulte Cómo trabajar con la métrica ClaimedAccountConcurrency.
Métricas de invocación asíncrona
Las métricas de invocación asíncrona proporcionan detalles sobre las invocaciones asíncronas desde los orígenes de eventos y las invocaciones directas. Puede establecer umbrales y alarmas para recibir notificaciones sobre ciertos cambios. Por ejemplo, cuando hay un aumento no deseado en el número de eventos en cola para su procesamiento (AsyncEventsReceived
). O bien, cuando un evento ha estado esperando mucho tiempo para que se procese (AsyncEventAge
).
-
AsyncEventsReceived
: el número de eventos que Lambda pone correctamente en cola para su procesamiento. Esta métrica proporciona información sobre la cantidad de eventos que recibe una función de Lambda. Supervise esta métrica y establezca alarmas para establecer umbrales para comprobar si hay problemas. Por ejemplo, para detectar un número no deseado de eventos enviados a Lambda y para diagnosticar rápidamente los problemas derivados de configuraciones incorrectas de desencadenadores o funciones. Los desajustes entreAsyncEventsReceived
yInvocations
pueden indicar una disparidad en el procesamiento, eventos que se descartan o un posible retraso en las colas. -
AsyncEventAge
: el tiempo transcurrido entre el momento en que Lambda pone correctamente en cola el evento y el momento en que se invoca la función. El valor de esta métrica aumenta cuando se vuelven a intentar los eventos debido a errores de invocación o a limitaciones. Supervise esta métrica y establezca alarmas para conocer los umbrales de las diferentes estadísticas cuando se produzca una acumulación de colas. Para solucionar problemas de aumento en esta métrica, consulte la métricaErrors
para identificar los errores de función y la métricaThrottles
para identificar los problemas de simultaneidad. -
AsyncEventsDropped
: el número de eventos que se descartan sin ejecutar correctamente la función. Si configura una cola de mensajes fallidos (DLQ) o un destinoOnFailure
, los eventos se enviarán allí antes de que se descarten. Los eventos se descartan por varias razones. Por ejemplo, los eventos pueden superar la antigüedad máxima del evento o agotar el número máximo de reintentos, o bien la simultaneidad reservada puede estar establecida en 0. Para solucionar problemas por los que se descartan los eventos, consulte la métricaErrors
para identificar los errores de función y la métricaThrottles
para identificar los problemas de simultaneidad.