Uso de métricas de funciones de Lambda - AWS Lambda

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de métricas de funciones de Lambda

Cuando AWS Lambda la función termina de procesar un evento, Lambda envía las métricas sobre la invocación a Amazon. CloudWatch No se aplica ningún cargo por estas métricas.

En la CloudWatch consola, puede crear gráficos y cuadros de mando 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 los datos de las métricas a intervalos de 1 CloudWatch minuto. Para obtener información más inmediata sobre una función de Lambda, puede crear métricas personalizadas de alta resolución como se describe en Serverless Land. Se aplican cargos a las métricas y CloudWatch alarmas personalizadas. Para obtener más información, consulte Precios de Amazon CloudWatch.

En esta página, se describen las métricas de invocación, rendimiento y simultaneidad de la función Lambda disponibles en la consola. CloudWatch

Visualización de las métricas en la consola CloudWatch

Puede usar la CloudWatch consola para filtrar y ordenar las métricas de las funciones por nombre, alias o versión de la función.

Para ver las métricas en la CloudWatch consola
  1. Abre la página de métricas (espacio de AWS/Lambda nombres) de la CloudWatch consola.

  2. 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ón ExecutedVersion 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.

  3. 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 al respecto CloudWatch, consulta la Guía del CloudWatch usuario de Amazon.

Tipos de métricas

En la siguiente sección, se describen los tipos de métricas Lambda disponibles en la CloudWatch consola.

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 de Invocations 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 de Errors por el valor de Invocations. 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 las fuentes 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 error TooManyRequestsException. Las solicitudes limitadas y otros errores de invocación no cuentan como Invocations ni Errors.

  • 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: el número de veces que Lambda ha detenido la invocación de la función porque ha detectado que la función forma parte de un bucle recursivo infinito. Detección de bucles recursivos de Lambda monitorea el número 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. Si la función se invoca como parte de una cadena de solicitudes más de 16 veces, Lambda descarta la siguiente invocación.

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 de Duration 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, consulta Percentiles en la Guía del CloudWatch usuario de Amazon.

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 de ProvisionedConcurrentExecutions dividido entre la cantidad total de concurrencia aprovisionada asignada. Por ejemplo, .5 indica que el 50 por ciento de la simultaneidad aprovisionada asignada está en uso.

  • 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 a UnreservedConcurrentExecutions 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 entre AsyncEventsReceived y Invocations 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étrica Errors para identificar los errores de función y la métrica Throttles 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 destino OnFailure, 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étrica Errors para identificar los errores de función y la métrica Throttles para identificar los problemas de simultaneidad.