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

Uso de 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. Si desea obtener información más inmediata sobre una función de Lambda, puede crear métricas personalizadas de alta resolución. Se aplican cargos por las métricas personalizadas y las alarmas de CloudWatch. Para obtener más información, consulte los precios de CloudWatch.

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

  1. Abra la página Metrics (Métricas) (espacio de nombres de AWS/Lambda) de la consola de CloudWatch.

  2. Elija una dimensión.

    • 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 métricas para agregarlas al 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 disponibles en la consola de CloudWatch.

Uso de métricas de invocación

Las métricas de invocación son indicadores binarios del resultado de una invocación. 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.

Consulte las siguientes métricas con la estadística Sum.

Métricas de invocación

  • 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. Esto 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, número de veces que Lambda intenta enviar un evento a una cola de mensajes fallidos sin conseguirlo. Pueden producirse errores de mensaje fallido debido a errores de permisos, recursos mal configurados o límites de tamaño.

  • DestinationDeliveryFailures: en el caso de la invocación asíncrona, número de veces que Lambda intenta enviar un evento a un destino sin conseguirlo. Pueden producirse errores de entrega debido a errores de permisos, recursos mal configurados o límites de tamaño.

  • 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 aceleradas y otros errores de invocación no cuentan como Invocations o Errors.

  • ProvisionedConcurrencyInvocations: número de veces que se invoca el código de la función en simultaneidad aprovisionada.

  • ProvisionedConcurrencySpilloverInvocations: número de veces que se invoca el código de la función en simultaneidad estándar cuando toda la simultaneidad aprovisionada está en uso.

Uso de métricas de desempeño

Las métricas de desempeño proporcionan detalles de rendimiento sobre una única invocació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.

Métricas de desempeño

  • 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.

  • 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: para las asignaciones de fuente de eventos que leen desde secuencias, la antigüedad del último registro del evento. La antigüedad es la cantidad de 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 orígenes de eventos autoadministrados de Apache Kafka y Amazon Managed Streaming for Apache Kafka (Amazon MSK), diferencia de desplazamiento entre el último registro escrito en un tema y el último registro que ha procesado la función de Lambda. 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. Utilice percentiles para excluir valores atípicos que sesgan las estadísticas medias y máximas. Por ejemplo, la estadística p95 muestra la duración máxima del 95 por ciento de las invocaciones, excluido el 5 por ciento más lento.

Uso de 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 concurrencia, consulte estas métricas con la estadística Max.

Métricas de simultaneidad

  • 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 reservado que se haya configurado en 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 en concurrencia 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.