Supervise el rendimiento de las funciones con Amazon CloudWatch Lambda Insights - AWS Lambda

Supervise el rendimiento de las funciones con Amazon CloudWatch Lambda Insights

Amazon CloudWatch Lambda Insights recopila y agrega métricas y registros de rendimiento en tiempo de ejecución de funciones de Lambda para las aplicaciones sin servidor. En esta página se describe cómo habilitar y utilizar Lambda Insights para diagnosticar problemas con las funciones de Lambda.

Cómo monitorea las aplicaciones sin servidor de Lambda Insights

CloudWatch Lambda Insights es una solución de monitoreo y solución de problemas para aplicaciones sin servidor que se ejecutan en AWS Lambda. La solución recopila, agrega y resume métricas de nivel de sistema, incluido el tiempo de CPU, la memoria, el disco y el uso de red. También recopila, agrega y resume información de diagnóstico como inicios en frío y paradas de trabajo de Lambda para ayudarle a aislar problemas con las funciones de Lambda y resolverlos rápidamente.

Lambda Insights utiliza un nuevo CloudWatch Lambda Insights extensión, que se proporciona como una capa de Lambda. Cuando habilita esta extensión en una función de Lambda para un tiempo de ejecución admitido, recopila métricas de nivel de sistema y emite un único evento de registro de rendimiento para cada invocación de esa función de Lambda. CloudWatch utiliza el formato de métrica incrustado para extraer métricas de los eventos de registro. Para obtener más información, consulte Uso de extensiones de AWS Lambda.

La capa de Lambda Insights amplía CreateLogStream y PutLogEvents para el grupo de registros de /aws/lambda-insights/.

Precios

Cuando habilita Lambda Insights para la función de Lambda, Lambda Insights notifica 8 métricas por función y cada invocación de función envía alrededor de 1 KB de datos de registro a CloudWatch. Sólo hay que pagar por las métricas y registros que Lambda Insights notifica para la función. No se requieren cuotas mínimas ni políticas obligatorias de uso del servicio.¿. No hay que pagar por Lambda Insights si la función no se invoca. Para obtener más información sobre precios, consulte Precios de Amazon CloudWatch.

Tiempos de ejecución admitidos

Puede utilizar Lambda Insights con cualquiera de los tiempos de ejecución que soportan extensiones de Lambda.

Activación de Lambda Insights en la consola de Lambda

Puede habilitar el monitoreo mejorado deLambda Insights en funciones de Lambda nuevas y existentes. Cuando habilita Lambda Insights en una función de la consola de para un tiempo de ejecución compatible, Lambda agrega la extensión de Lambda Insights como una capa a la función y verifica o intenta adjuntar la política CloudWatchLambdaInsightsExecutionRolePolicy al rol de ejecución de la función.

Activar Lambda Insights en la consola de Lambda
  1. Abra la página de Funciones en la consola de Lambda.

  2. Elija su función.

  3. Elija la pestaña Configuración.

  4. En el menú de la izquierda, elija Herramientas de monitoreo y operación.

  5. En el panel Herramientas adicionales de monitoreo, elija Editar.

  6. En CloudWatch Lambda Insights, active Monitorización mejorada.

  7. Seleccione Guardar.

Habilitación de Lambda Insights mediante programación

También puede habilitar Lambda Insights mediante la AWS Command Line Interface (AWS CLI), AWS Serverless Application Model (SAM) CLI, AWS CloudFormation o AWS Cloud Development Kit (AWS CDK). Cuando habilita Lambda Insights mediante programación en una función para un tiempo de ejecución compatible, CloudWatch adjunta la política CloudWatchLambdaInsightsExecutionRolePolicy al rol de ejecución de la función.

Para obtener más información, consulte Introducción a Lambda Insights en la Guía del usuario de Amazon CloudWatch.

Uso del panel de información de Lambda Insights

El panel de Lambda Insights tiene dos vistas en la consola de CloudWatch: la vista general de múltiples funciones y la vista de una sola función. La vista general de múltiples funciones agrega las métricas de tiempo de ejecución para las funciones de Lambda en la cuenta y la región de AWS actuales. La vista de una sola función muestra las métricas de tiempo de ejecución disponibles para una sola función Lambda.

Puede utilizar información general del panel multifunción de Lambda Insights de la consola de CloudWatch para identificar funciones de Lambda utilizadas en exceso o infrautilizadas. Puede utilizar la vista de una sola función del panel de Lambda Insights de la consola de CloudWatch para solucionar problemas de solicitudes individuales.

Para consultar las métricas de tiempo de ejecución de todas las funciones
  1. Abra la página Multi-function (Múltiples funciones) de la consola de CloudWatch.

  2. Elija entre los intervalos de tiempo predefinidos o elija un intervalo de tiempo personalizado.

  3. (Opcional) Elija Add to dashboard (Agregar al panel) para agregar los widgets al panel de CloudWatch.

    La informanción general de múltiples funciones en el panel de Lambda Insights.
Para consultar las métricas de tiempo de ejecución de una sola función
  1. Abra la página Single-function (Una sola función) de la consola de CloudWatch.

  2. Elija entre los intervalos de tiempo predefinidos o elija un intervalo de tiempo personalizado.

  3. (Opcional) Elija Add to dashboard (Agregar al panel) para agregar los widgets al panel de CloudWatch.

    La vista de una sola función en el panel de Lambda Insights.

Para obtener más información, consulte Creación y uso de widgets en paneles de CloudWatch.

Ejemplo de flujo de trabajo para detectar anomalías de función

Puede utilizar la vista general de múltiples funciones del panel de Lambda Insights para identificar y detectar anomalías de memoria informática con la función. Por ejemplo, si la vista general de múltiples funciones indica que una función utiliza una cantidad de memoria grande, puede consultar métricas detalladas de utilización de memoria en el panel Memory Usage (Uso de memoria). A continuación, puede ir al panel de métricas para habilitar la detección de anomalías o crear una alarma.

Para habilitar la detección de anomalías para una función
  1. Abra la página Multi-function (Múltiples funciones) de la consola de CloudWatch.

  2. En Function summary (Resumen de funciones), elija el nombre de la función.

    La vista de una sola función se abre con las métricas de tiempo de ejecución de la función.

    El panel de resumen de funciones en el panel de Lambda Insights.
  3. En el panel Memory Usage (Uso de memoria), elija los tres puntos verticales y, a continuación, elija View in metrics (Ver en métricas) para abrir el panel Metrics (Métricas).

    El menú del panel Memory Usage (Uso de memoria).
  4. En la pestaña Graphed metrics (Métricas gráficas), en la columna Actions (Acciones), elija el primer icono para habilitar la detección de anomalías para la función.

    La pestaña Graphed metrics (Métricas gráficas) del panel Memory Usage (Uso de memoria).

Para obtener más información, consulta Uso de la detección de anomalías de CloudWatch.

Ejemplo de flujo de trabajo mediante consultas para solucionar problemas de una función

Puede utilizar la vista de una sola función en el panel de Lambda Insights para identificar la causa raíz de un pico en la duración de la función. Por ejemplo, si la vista general de múltiples funciones indica un aumento grande en la duración de la función, puede pausar o elegir cada función en el panel de Duration (Duración) para determinar qué función está causando el aumento. A continuación, puede ir a la vista de una sola función y revisar los registros de aplicación para determinar la causa raíz.

Para ejecutar consultas en una función
  1. Abra la página Multi-function (Múltiples funciones) de la consola de CloudWatch.

  2. En el panel Duration (Duración), elija la función para filtrar las métricas de duración.

    Se elige una función en el panel de Duration (Duración).
  3. Abra la página Una sola función.

  4. Elija el menú desplegable Filter metrics by function name (Filtrar métricas por nombre de función) y, a continuación, elija la función.

  5. Para consultar los Most recent 1000 application logs (1000 registros de aplicaciones más recientes), elija la pestaña Application logs (Registros de aplicaciones).

  6. Revise la Timestamp (Marca temporal) y el Message (Mensaje) para identificar la solicitud de invocación que desea solucionar problemas.

    Los Most recent 1000 application logs (1000 registros de aplicaciones más recientes).
  7. Para mostrar las Most recent 1000 invocations (1000 invocaciones más recientes), elija la pestaña Invocations (Invocaciones).

  8. Seleccione la Timestamp (Marca temporal) o el Message (Mensaje) para la solicitud de invocación que desea solucionar problemas.

    Selección de una solicitud de invocación reciente.
  9. Elija el menú desplegable View logs (Ver registros) y, a continuación, elija View performance logs (Ver registros de rendimiento).

    Se abre una consulta autogenerada para la función en el panel de Logs Insights.

  10. Elija Run query (Ejecutar consulta) para generar un mensaje de Logs (Registros) para la solicitud de invocación.

    Consulta de la función seleccionada en el panel de Logs Insights.

Siguientes pasos