

# Supervisión de la ejecución de la API de REST con métricas de Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Puede monitorear la ejecución de la API mediante CloudWatch, que recopila y procesa datos sin formato de API Gateway en métricas legibles casi en tiempo real. Estas estadísticas se registran durante un periodo de 15 meses, para que pueda obtener acceso a información de historial y obtener una mejor perspectiva acerca del desempeño de su aplicación web o servicio. De forma predeterminada, los datos de las métricas de API Gateway se envían automáticamente a CloudWatch en períodos de un minuto. Para obtener más información, consulte [¿Qué es Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) en la *guía del usuario de Amazon Cloudwatch*.

Las métricas mostradas por API Gateway proporcionan información que puede analizar de diferentes maneras. La lista siguiente muestra algunos usos comunes de las métricas que son sugerencias para empezar:
+ Monitoree las métricas de **IntegrationLatency** para medir la capacidad de respuesta del backend.
+ Monitoree las métricas de **Latency (Latencia)** para medir la capacidad de respuesta general de las llamadas a la API.
+ Monitoree las métricas de **CacheHitCount** y **CacheMissCount** para optimizar las capacidades de caché para conseguir el rendimiento deseado.

**Topics**
+ [Dimensiones y métricas de Amazon API Gateway](api-gateway-metrics-and-dimensions.md)
+ [Visualización de las métricas de CloudWatch con el panel de API en API Gateway](how-to-api-dashboard.md)
+ [Visualización de métricas de API Gateway en la consola de CloudWatch](metrics_dimensions_view_in_cloud_watch.md)
+ [Visualización de eventos de registro de API Gateway en la consola de CloudWatch](view-cloudwatch-log-events-in-cloudwatch-console.md)
+ [Herramientas de supervisión en AWS para API Gateway](monitoring_automated_manual.md)

# Dimensiones y métricas de Amazon API Gateway
<a name="api-gateway-metrics-and-dimensions"></a>

A continuación se enumeran las métricas y las dimensiones que API Gateway envía a Amazon CloudWatch. Para obtener más información, consulte [Supervisión de la ejecución de la API de REST con métricas de Amazon CloudWatch](monitoring-cloudwatch.md). 

## Métricas de API Gateway
<a name="api-gateway-metrics"></a>

Amazon API Gateway envía datos de las métricas a CloudWatch cada minuto.

El espacio de nombres de `AWS/ApiGateway` incluye las siguientes métricas.


| Métrica | Descripción | 
| --- | --- | 
|  4XXError |  El número de errores del cliente capturados en un periodo determinado. API Gateway cuenta los códigos de estado de respuesta de la puerta de enlace modificados como errores 4XXError. La estadística `Sum` representa esta métrica, es decir, el número total de errores 4XXError en el periodo de tiempo especificado. La estadística `Average` representa la tasa de errores 4XXError, es decir, el número total de errores 4XXError dividido entre el número total de solicitudes recibidas durante el periodo de tiempo. El denominador corresponde a la métrica Count (consulte más adelante). Unit: Count  | 
|  5XXError  |  El número de errores del servidor capturados en un periodo determinado. La estadística `Sum` representa esta métrica, es decir, el número total de errores 5XXError en el periodo de tiempo especificado. La estadística `Average` representa la tasa de errores 5XXError, es decir, el número total de errores 5XXError dividido entre el número total de solicitudes recibidas durante el periodo de tiempo. El denominador corresponde a la métrica Count (consulte más adelante). Unit: Count  | 
|  CacheHitCount  |  El número de solicitudes atendidas desde la caché de la API en un periodo de tiempo determinado. La estadística `Sum` representa esta métrica, es decir, el número total de aciertos de caché en el periodo de tiempo indicado. La estadística `Average` representa la tasa de aciertos de caché, es decir, el número total de aciertos de caché dividido por el número total de solicitudes recibidas durante el periodo de tiempo. El denominador corresponde a la métrica Count (consulte más adelante). Unit: Count  | 
|  CacheMissCount  |  El número de solicitudes atendidas desde el backend en un periodo determinado, cuando el almacenamiento en caché de la API está habilitado. La estadística `Sum` representa esta métrica, es decir, el número total de errores de caché en el periodo de tiempo indicado. La estadística `Average` representa la tasa de errores de caché, es decir, el número total de errores de caché dividido entre el número total de solicitudes recibidas durante el periodo de tiempo. El denominador corresponde a la métrica Count (consulte más adelante). Unit: Count  | 
|  Count  |  El número total de solicitudes de API en un periodo de tiempo determinado. La estadística `SampleCount` representa esta métrica. Unit: Count  | 
|  IntegrationLatency  |  Es el tiempo entre que API Gateway transmite una solicitud al backend y se recibe una respuesta del backend. Unit: Millisecond  | 
|  Latency  |  El tiempo entre que API Gateway recibe una solicitud de un cliente y devuelve una respuesta al cliente. La latencia incluye la latencia de la integración y otra carga de API Gateway. Unit: Millisecond  | 

## Dimensiones de las métricas de
<a name="api-gateway-metricdimensions"></a>

Puede usar las dimensiones de la tabla siguiente para filtrar las métricas de API Gateway.

**nota**  
API Gateway elimina los caracteres no ASCII de la dimensión ApiName antes de enviar las métricas a CloudWatch. Si APIName no contiene caracteres ASCII, se utiliza API ID como ApiName.


| Dimensión | Descripción | 
| --- | --- | 
|  ApiName  |  Filtra las métricas de API Gateway de la API de REST con el nombre de la API especificado.  | 
|  ApiName, Method, Resource, Stage  |  Filtra las métricas de API Gateway del método de la API con el nombre de la API, la etapa, el recurso y el método especificados. API Gateway no enviará estas métricas a menos que haya habilitado explícitamente las métricas detalladas de CloudWatch. En la consola, elija una etapa y, a continuación, en **Registros y seguimiento**, seleccione **Editar**. Seleccione **Métricas detalladas** y, a continuación, seleccione **Guardar cambios**. También puede llamar al comando [update-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-stage.html) AWS CLI para actualizar la propiedad `metricsEnabled` a `true`. Si activa estas métricas, se le cobrarán cargos adicionales en su cuenta. Para obtener más información sobre precios, consulte [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).  | 
|  ApiName, Stage  |  Filtra las métricas de API Gateway para el recurso de la etapa de la API con el nombre y la etapa de la API especificados.  | 

# Visualización de las métricas de CloudWatch con el panel de API en API Gateway
<a name="how-to-api-dashboard"></a>

Puede utilizar el panel de API de la consola de API Gateway para mostrar las métricas de CloudWatch de la API implementada en API Gateway. Estas se muestran como un resumen de la actividad de la API a lo largo del tiempo. 

**Topics**
+ [Requisitos previos](#how-to-api-dashboard-prerequisites)
+ [Examinar actividades de la API en el panel](#how-to-api-dashboard-console)

## Requisitos previos
<a name="how-to-api-dashboard-prerequisites"></a>

1. Debe tener una API creada en API Gateway. Siga las instrucciones en [Desarrollo de las API de REST en API Gateway](rest-api-develop.md).

1. Debe haber implementado la API al menos una vez. Siga las instrucciones en [Implementación de las API de REST en API Gateway](how-to-deploy-api.md).

## Examinar actividades de la API en el panel
<a name="how-to-api-dashboard-console"></a>

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Elegir una API.

1. En el panel de navegación principal, elija **Panel**.

1. En **Etapa**, elija la etapa deseada.

1. Elija **Rango de fechas** para especificar un rango de fechas.

1. Actualice, si es necesario, y consulte las métricas individuales que se muestran en gráficos independientes denominados **Llamadas a la API**, **Latencia**, **Latencia de integración**, **Latencia**, **Error 4xx** y **Error 5xx**.
**sugerencia**  
Para examinar las métricas de CloudWatch de nivel de método, asegúrese de haber habilitado CloudWatch Logs en un nivel de método. Para obtener más información sobre cómo configurar el registro en el nivel de método, consulte [Anule la configuración a nivel de etapa](set-up-stages.md#how-to-method-override).

# Visualización de métricas de API Gateway en la consola de CloudWatch
<a name="metrics_dimensions_view_in_cloud_watch"></a>

Las métricas se agrupan en primer lugar por el espacio de nombres de servicio y, a continuación, por las diversas combinaciones de dimensiones dentro de cada espacio de nombres. Para ver las métricas en el nivel de método de la API, active las métricas detalladas. Para obtener más información, consulte [Modificación de la configuración de etapa](set-up-stages.md#how-to-stage-settings).

**Para ver las métricas de API Gateway mediante la consola de CloudWatch**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Si es necesario, cambie la Región de AWS. En la barra de navegación, seleccione la región donde residen sus recursos de AWS.

1. En el panel de navegación, seleccione **Metrics** (Métricas).

1. En la pestaña **All metrics (Todas las métricas)**, seleccione **API Gateway**. 

1.  Para ver las métricas por etapa, elija el panel **By Stage (Por etapa)**. A continuación, seleccione los nombres de las métricas y las API. 

1. Para ver las métricas por API específica, elija el panel **By Api Name (Por nombre de API)**. A continuación, seleccione los nombres de las métricas y las API.

**Para ver las métricas mediante la AWS CLI**

1. Utilice el siguiente comando [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) para obtener una lista de métricas:

   ```
   aws cloudwatch list-metrics --namespace "AWS/ApiGateway"
   ```

   Después de crear una métrica, espere hasta 15 minutos para que aparezca la métrica. Para ver las estadísticas de las métricas con mayor rapidez, use [get-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/update-domain-name.html) o [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/update-domain-name.html).

1. Utilice el siguiente comando [get-metrics-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) para ver el promedio de un periodo de tiempo a intervalos de 5 minutos:

   ```
   aws cloudwatch get-metric-statistics --namespace AWS/ApiGateway --metric-name Count --start-time 2011-10-03T23:00:00Z --end-time 2017-10-05T23:00:00Z --period 300 --statistics Average
   ```

# Visualización de eventos de registro de API Gateway en la consola de CloudWatch
<a name="view-cloudwatch-log-events-in-cloudwatch-console"></a>

En la siguiente sección se explican los requisitos previos necesarios y cómo ver los eventos de registro de API Gateway en la consola de CloudWatch.

## Requisitos previos
<a name="view-cloudwatch-log-event-prerequisites"></a>

1. Debe tener una API creada en API Gateway. Siga las instrucciones en [Desarrollo de las API de REST en API Gateway](rest-api-develop.md).

1. Debe haber implementado e invocado la API al menos una vez. Siga las instrucciones en [Implementación de las API de REST en API Gateway](how-to-deploy-api.md) y [Invocación de las API de REST en API Gateway](how-to-call-api.md).

1. Debe tener habilitados los registros de CloudWatch para una etapa. Siga las instrucciones en [Configuración del registro de CloudWatch para las API de REST en API Gateway](set-up-logging.md).

## Para ver las solicitudes de API registradas y sus respuestas mediante la consola de CloudWatch
<a name="view-cloudwatch-log-event"></a>

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Si es necesario, cambie la Región de AWS. En la barra de navegación, seleccione la región donde residen sus recursos de AWS. Para obtener más información, consulte [Regiones y puntos de conexión](https://docs.aws.amazon.com/general/latest/gr/rande.html).

1. En el panel de navegación, elija **Logs** (Registros), **Log groups** (Grupos de registro).

1. En la tabla **Log Groups (Grupos de registros)**, elija un grupo de registros con el nombre **API-Gateway-Execution-Logs\$1\$1rest-api-id\$1/\$1stage-name\$1**. 

1.  En la tabla **Log Streams (Flujos de registros)**, elija un flujo de registros. Puede utilizar la marca de tiempo para ayudar a localizar el flujo de registros de su interés. 

1. Elija **Text (Texto)** para ver el texto sin formato o elija **Row (Fila)** para ver el evento fila por fila.

**importante**  
 CloudWatch le permite eliminar grupos o flujos de registros. No elimine manualmente los grupos o flujos de registros de API de API Gateway; deje que API Gateway administre estos recursos. Si los grupos o flujos de logs se eliminan manualmente, es posible que no se registren las solicitudes de API ni las respuestas. Si esto ocurre, puede eliminar todo el grupo de registros para la API y volver a implementar la API. Esto se debe a que API Gateway crea grupos de registros o flujos de registros para una etapa de API en el momento en que se implementa. 

# Herramientas de supervisión en AWS para API Gateway
<a name="monitoring_automated_manual"></a>

AWS proporciona varias herramientas que puede utilizar para monitorear API Gateway. Puede configurar algunas de estas herramientas para que monitoricen automáticamente, pero otras herramientas requieren intervención manual. Le recomendamos que automatice las tareas de monitorización en la medida de lo posible.

## Herramientas de monitoreo automatizadas en AWS
<a name="monitoring_automated_tools"></a>

Puede utilizar las siguientes herramientas de monitoreo automatizado para vigilar API Gateway e informar cuando haya algún problema:
+ **Alarmas de Amazon CloudWatch**: vigile una métrica durante un periodo de tiempo especificado y realice una o varias acciones según el valor que tenga la métrica en comparación con un determinado umbral durante una serie de periodos de tiempo. La acción es una notificación enviada a un tema de Amazon Simple Notification Service (Amazon SNS) o a una política de Amazon EC2 Auto Scaling. Las alarmas de CloudWatch no invocan acciones tan solo por tener un estado determinado; es necesario que el estado haya cambiado y se mantenga durante un número específico de periodos. Para obtener más información, consulte [Supervisión de la ejecución de la API de REST con métricas de Amazon CloudWatch](monitoring-cloudwatch.md).
+ **Registros de Amazon CloudWatch**: monitorice, almacene y obtenga acceso a los archivos de registro de AWS CloudTrail u otras fuentes. Para obtener más información, consulte [¿Qué es registros de CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) en la *Guía del usuario de Amazon CloudWatch*.
+ **Amazon EventBridge (anteriormente se llamaba CloudWatch Events)**: seleccione los eventos y diríjalos hacia uno o varios flujos o funciones de destino para realizar cambios, capturar información de estado y aplicar medidas correctivas. Para obtener más información, consulte [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) en la *Guía del usuario de EventBridge*.
+ **Monitoreo de registros de AWS CloudTrail**: comparta archivos de registro entre cuentas, monitoree los archivos de registro de CloudTrail en tiempo real enviándolos a CloudWatch Logs, escriba aplicaciones de procesamiento de registros en Java y compruebe que los archivos de registro no hayan cambiado después de que CloudTrail los entregara. Para obtener más información, consulte [Uso de archivos de registro de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-working-with-log-files.html) en la *Guía del usuario de AWS CloudTrail*. 

## Herramientas de monitoreo manuales
<a name="monitoring_manual_tools"></a>

Otra parte importante del monitoreo de API Gateway implica el monitoreo manual de los elementos que no cubren las alarmas de CloudWatch. Los paneles de API Gateway, CloudWatch y otras consolas de AWS proporcionan una vista rápida del estado del entorno de AWS. Es recomendable que también compruebe los archivos de registro de la ejecución de la API.
+ Los paneles de API Gateway muestran las siguientes estadísticas para una etapa de API determinada durante un periodo de tiempo especificado:
  + **API Calls (Llamadas a la API**
  + **Cache Hit (Acierto de caché)**, solo cuando está habilitado el almacenamiento en caché de la API.
  + **Cache Miss (Error de caché)**, solo cuando está habilitado el almacenamiento en caché de la API.
  + **Latency (Latencia**
  + **Integration Latency (Latencia de integración**
  + **4XX Error (Error 4XX**
  + **5XX Error (Error 5XX**
+ La página principal de CloudWatch muestra:
  + Alarmas y estado actual
  + Gráficos de alarmas y recursos
  + Estado de los servicios

  Además, puede utilizar CloudWatch para hacer lo siguiente: 
  + Crear [paneles personalizados](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) para monitorizar los servicios que le interesan
  + Realizar un gráfico con los datos de las métricas para resolver problemas y descubrir tendencias
  + Buscar y examinar todas sus métricas de recursos de AWS.
  + Crear y editar las alarmas de notificación de problemas

## Creación de alarmas de CloudWatch para monitorear API Gateway
<a name="creating_alarms"></a>

Puede crear una alarma de CloudWatch que envíe un mensaje de Amazon SNS cuando la alarma cambia de estado. Una alarma vigila una única métrica durante el período especificado y realiza una o varias acciones en función del valor de la métrica relativo a un determinado umbral durante una serie de períodos de tiempo. La acción es una notificación que se envía a un tema de Amazon SNS o a una política de escalado automático. Las alarmas invocan acciones únicamente para los cambios de estado prolongados. Las alarmas de CloudWatch no invocan acciones tan solo por tener un estado determinado; es necesario que el estado haya cambiado y se mantenga durante un número específico de periodos.