Trabajar con métricas de funciones de AWS Lambda - AWS Lambda

Trabajar con métricas de funciones de AWS Lambda

Cuando la función termina de procesar un evento, Lambda envía métricas sobre la invocación a Amazon CloudWatch. Puede crear gráficos y paneles con estas métricas en la consola de CloudWatch y establecer alarmas para responder a cambios en el uso, el rendimiento o las tasas de error.

Esta página describe las métricas de invocación de funciones, rendimiento y concurrencia de Lambda disponibles en la consola de CloudWatch.

Consulta 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 Métricas (AWS/Lambda espacio de nombres) en la consola de CloudWatch.

  2. Elija una dimensión.

    • Por nombre de función (FunctionName): ver métricas agregadas de todas las versiones y alias de una función.

    • Por recurso (Resource): ver las métricas de una versión o el alias de una función.

    • Por versión ejecutada (ExecutedVersion): ver 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): ver 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 ejecución, esto puede ser varios minutos antes de la emisión de la métrica. Si, por ejemplo, su función tiene un tiempo de espera de 10 minutos, busque más de 10 minutos en el pasado 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 describe el tipo 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 función que se produjeron cada minuto, vea la Sum de la métrica Errors con un período de un minuto.

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

Métricas de invocación

  • Invocations: el número de veces que se ejecuta el código de función, incluidas las ejecuciones exitosas y las ejecuciones que dan lugar a un error de 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 función incluyen excepciones lanzadas por su código y 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: para la invocación asíncrona, el número de veces que Lambda intenta enviar un evento a una cola de mensajes fallidos pero falla. Pueden producirse errores de mensaje fallido debido a errores de permisos, recursos mal configurados o límites de tamaño.

  • DestinationDeliveryFailures: para la invocación asíncrona, el número de veces que Lambda intenta enviar un evento a un destino pero falla. 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 concurrencia disponible para escalar, Lambda rechaza solicitudes adicionales con TooManyRequestsException. Las solicitudes aceleradas y otros errores de invocación no cuentan como Invocations o Errors.

  • ProvisionedConcurrencyInvocations: el número de veces que su código de función se ejecuta en concurrencia aprovisionada.

  • ProvisionedConcurrencySpilloverInvocations: el número de veces que su código de función se ejecuta en concurrencia estándar cuando toda concurrencia 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 origen de eventos que leen desde secuencias, la antigüedad del último registro del evento. La antigüedad es la cantidad de tiempo entre cuando la secuencia recibe el registro y cuando la asignación de origen de eventos envía el evento a la función.

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 ejecuciones, excluyendo el 5 por ciento más lento.

Uso de métricas de simultaneidad

Lambda informa de las métricas de concurrencia 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 para la región o el límite de simultaneidad reservado que configuró en la función, se limitarán 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: para una región de AWS, el número de eventos que están procesando funciones que no tienen concurrencia reservada.