

# Supervisión de métricas en DynamoDB con Amazon CloudWatch
<a name="Monitoring-metrics-with-Amazon-CloudWatch"></a>

Puede supervisar DynamoDB con CloudWatch, que recopila y procesa los datos sin procesar de DynamoDB y los convierte en métricas legibles casi en tiempo real. Estas estadísticas se retienen durante un tiempo, para que pueda acceder a la información histórica y obtener una mejor perspectiva sobre el rendimiento de su servicio o aplicación web. De forma predeterminada, los datos de las métricas de DynamoDB se envían a CloudWatch automáticamente. Para obtener más información, consulte [¿Qué es Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html) y [Retención de métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#metrics-retention) en la *Guía del usuario de Amazon CloudWatch*.

**Topics**
+ [¿Cómo uso las métricas de DynamoDB?](#How-do-I-use-DynamoDB-metrics)
+ [Visualizar métricas en la consola de CloudWatch](#Viewing-metrics-in-CloudWatch-console)
+ [Visualización de las métricas en la AWS CLI](#Viewing-metrics-in-the-cli)
+ [Dimensiones y métricas de DynamoDB](metrics-dimensions.md)
+ [Creación de alarmas de CloudWatch en DynamoDB](Monitoring-metrics-creating-cloudwatch-alarms.md)

## ¿Cómo uso las métricas de DynamoDB?
<a name="How-do-I-use-DynamoDB-metrics"></a>

Las métricas mostradas por DynamoDB proporcionan información que puede analizar de diferentes maneras. En la siguiente lista se indican algunos usos frecuentes de las métricas. Se trata de sugerencias que puede usar como punto de partida y no de una lista completa.


**¿Cómo uso las métricas de DynamoDB?**  

|  ¿Cómo...?  |  Métricas relevantes  | 
| --- | --- | 
|  ¿Cómo puedo monitorear la tasa de eliminaciones de TTL en la tabla?   |  Puede monitorear `TimeToLiveDeletedItemCount` durante el periodo de tiempo especificado para realizar el seguimiento de la tasa de eliminaciones de TTL en la tabla. Para ver un ejemplo de una aplicación sin servidor que usa la métrica `TimeToLiveDeletedItemCount`, consulte [ Automatically archive items to S3 using DynamoDB time to live (TTL) with AWS Lambda and Amazon Data Firehose](https://aws.amazon.com/blogs/database/automatically-archive-items-to-s3-using-dynamodb-time-to-live-with-aws-lambda-and-amazon-kinesis-firehose/).  | 
|  ¿Cómo puedo determinar qué parte del rendimiento aprovisionado se está utilizando?  |  Puede monitorizar `ConsumedReadCapacityUnits` o `ConsumedWriteCapacityUnits` durante el periodo de tiempo especificado para realizar el seguimiento de la cantidad de desempeño provisionado que se está usando.  | 
|  ¿Cómo puedo determinar qué solicitudes superan las cuotas de rendimiento aprovisionado de una tabla?  |  `ThrottledRequests` se incrementa en uno si algún evento de la solicitud supera la cuota de rendimiento aprovisionada. A continuación, para saber a qué evento de la solicitud se le está imponiendo la limitación controlada, compare las métricas `ThrottledRequests` con `ReadThrottleEvents` y `WriteThrottleEvents` para la tabla y sus índices.  | 
|  ¿Cómo puedo determinar si se ha producido algún error en el sistema?  |  Puede monitorear `SystemErrors` para determinar si alguna solicitud ha dado lugar a un código HTTP 500 (error de servidor). Normalmente, esta métrica debe ser igual a cero. si no lo es, es conveniente investigar por qué.  | 
|  ¿Cómo puedo monitorear el valor de latencia de las operaciones de mi tabla?  |  Puede supervisar `SuccessfulRequestLatency` mediante el seguimiento de la latencia media y la latencia mediana a través de métricas de percentil (p50). Los picos ocasionales de la latencia no son motivo de preocupación. No obstante, si la latencia media o p50 (mediana) es alta, es posible que haya un problema subyacente que se debe solucionar. Para obtener más información, consulte [Solución de problemas de latencia en Amazon DynamoDB](TroubleshootingLatency.md).  | 

## Visualizar métricas en la consola de CloudWatch
<a name="Viewing-metrics-in-CloudWatch-console"></a>

Las métricas se agrupan primero 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 la consola de CloudWatch**

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

1. En el panel de navegación, seleccione **Métricas, Todas las métricas**.

1. Seleccione el espacio de nombres **DynamoDB**. También puede seleccionar el espacio de nombres **Uso** para ver las métricas de uso de DynamoDB. Para obtener más información sobre las métricas de uso, consulte [Métricas de uso de AWS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Service-Quota-Integration.html).

1. En la pestaña **Explorar** aparecen todas las métricas del espacio de nombres.

1. (Opcional) Para agregar este gráfico a un panel de CloudWatch, elija **Acciones, Agregar al panel**. 

## Visualización de las métricas en la AWS CLI
<a name="Viewing-metrics-in-the-cli"></a>

Para obtener información sobre métricas con la AWS CLI, utilice el comando de CloudWatch `list-metrics`. En el siguiente ejemplo, se enumeran todas las métricas del espacio de nombres de `AWS/DynamoDB`.

```
1.                 aws cloudwatch list-metrics --namespace "AWS/DynamoDB"
```

Para obtener estadísticas de métricas, utilice el comando `get-metric-statistics`. El siguiente comando obtiene estadísticas de `ConsumedReadCapacityUnits` para la tabla `ProductCatalog` en el periodo específico de 24 horas, con un grado de detalle de 5 minutos.

```
aws cloudwatch get-metric-statistics —namespace AWS/DynamoDB \
     —metric-name ConsumedReadCapacityUnits \
     —start-time 2023-11-01T00:00:00Z \
     —end-time 2023-11-02T00:00:00Z \
     —period 360 \
     —statistics Average \
     —dimensions Name=TableName,Value=ProductCatalog
```

El resultado de ejemplo aparece como se muestra a continuación:

```
{
    "Datapoints": [
        {
            "Timestamp": "2023-11-01T 09:18:00+00:00", 
            "Average": 20, 
            "Unit": "Count"
        }, 
        {
            "Timestamp": "2023-11-01T 04:36:00+00:00", 
            "Average": 22.5, 
            "Unit": "Count"
        }, 
        {
            "Timestamp": "2023-11-01T 15:12:00+00:00", 
            "Average": 20, 
            "Unit": "Count"
        }, ...
        {
            "Timestamp": "2023-11-01T 17:30:00+00:00", 
            "Average": 25, 
            "Unit": "Count"
        }
    ], 
    "Label": " ConsumedReadCapacityUnits "
}
```

# Dimensiones y métricas de DynamoDB
<a name="metrics-dimensions"></a>

Cuando se interactúa con DynamoDB, este envía métricas y dimensiones a CloudWatch.

Las salidas de DynamoDB consumieron el rendimiento aprovisionado durante periodos de un minuto. El [escalado automático](AutoScaling.md) se activa cuando la capacidad consumida supera el objetivo de utilización configurado durante dos minutos consecutivos. Es posible que las alarmas de CloudWatch tarden unos minutos antes de desencadenar el escalado automático. Este retraso garantiza una evaluación precisa de las métricas de CloudWatch. Si los picos de rendimiento consumidos están separados por más de un minuto, es posible que no se desencadene el escalado automático. Del mismo modo, se puede producir un evento de reducción vertical cuando 15 puntos de datos consecutivos sean inferiores a la utilización objetivo. En cualquier caso, tras desencadenar el escalado automático, se invoca la API [UpdateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html). La actualización de la capacidad aprovisionada para la tabla o el índice puede tardar unos minutos. Durante este periodo, cualquier solicitud que supere la capacidad aprovisionada previamente de las tablas se limita.

## Visualización de métricas y dimensiones
<a name="dynamodb-metrics-dimensions"></a>

CloudWatch muestra las siguientes métricas para DynamoDB:

### Métricas de DynamoDB
<a name="dynamodb-metrics"></a>

**nota**  
Amazon CloudWatch acumula estas métricas a intervalos de un minuto:  
`ConditionalCheckFailedRequests`
`ConsumedReadCapacityUnits`
`ConsumedWriteCapacityUnits`
`ReadAccountLimitThrottleEvents`
`ReadKeyRangeThroughputThrottleEvents`
`ReadMaxOnDemandThroughputThrottleEvents`
`ReadProvisionedThroughputThrottleEvents`
`ReadThrottleEvents`
`ReturnedBytes`
`ReturnedItemCount`
`ReturnedRecordsCount`
`SuccessfulRequestLatency`
`SystemErrors`
`TimeToLiveDeletedItemCount`
`ThrottledRequests`
`TransactionConflict`
`UserErrors`
`WriteAccountLimitThrottleEvents`
`WriteKeyRangeThroughputThrottleEvents`
`WriteMaxOnDemandThroughputThrottleEvents`
`WriteProvisionedThroughputThrottleEvents`
`WriteThrottleEvents`
`FaultInjectionServiceInducedErrors`
Para todas las otras métricas de DynamoDB, la granularidad de acumulación es de cinco minutos.

No todas las estadísticas, tales como *Average (Media)* o *Sum (Suma)*, son aplicables a todas las métricas. Sin embargo, todos estos valores están disponibles a través de la consola de Amazon DynamoDB o mediante la consola de CloudWatch, la AWS CLI o los SDK de AWS para todas las métricas. 

En la siguiente lista, cada métrica tiene un conjunto de estadísticas válidas que son aplicables a esa métrica.

**Topics**<a name="available-metrics.title"></a>
+ [Métricas de DynamoDB](#dynamodb-metrics)
+ [AccountMaxReads](#AccountMaxReads)
+ [AccountMaxTableLevelReads](#AccountMaxTableLevelReads)
+ [AccountMaxTableLevelWrites](#AccountMaxTableLevelWrites)
+ [AccountMaxWrites](#AccountMaxWrites)
+ [AccountProvisionedReadCapacityUtilization](#AccountProvisionedReadCapacityUtilization)
+ [AccountProvisionedWriteCapacityUtilization](#AccountProvisionedWriteCapacityUtilization)
+ [AgeOfOldestUnreplicatedRecord](#AgeOfOldestUnreplicatedRecord)
+ [CondicionalCheckFailedRequests](#ConditionalCheckFailedRequests)
+ [ConsumedChangeDataCaptureUnits](#ConsumedChangeDataCaptureUnits)
+ [ConsumedReadCapacityUnits](#ConsumedReadCapacityUnits)
+ [ConsumedWriteCapacityUnits](#ConsumedWriteCapacityUnits)
+ [FailedToReplicateRecordCount](#FailedToReplicateRecordCount)
+ [MaxProvisionedTableReadCapacityUtilization](#MaxProvisionedTableReadCapacityUtilization)
+ [MaxProvisionedTableWriteCapacityUtilization](#MaxProvisionedTableWriteCapacityUtilization)
+ [OnDemandMaxReadRequestUnits](#OnDemandMaxReadRequestUnits)
+ [OnDemandMaxWriteRequestUnits](#OnDemandMaxWriteRequestUnits)
+ [OnlineIndexConsumedWriteCapacity](#OnlineIndexConsumedWriteCapacity)
+ [OnlineIndexPercentageProgress](#OnlineIndexPercentageProgress)
+ [OnlineIndexThrottleEvents](#OnlineIndexThrottleEvents)
+ [PendingReplicationCount](#PendingReplicationCount)
+ [ProvisionedReadCapacityUnits](#ProvisionedReadCapacityUnits)
+ [ProvisionedWriteCapacityUnits](#ProvisionedWriteCapacityUnits)
+ [ReadAccountLimitThrottleEvents](#ReadAccountLimitThrottleEvents)
+ [ReadKeyRangeThroughputThrottleEvents](#ReadKeyRangeThroughputThrottleEvents)
+ [ReadMaxOnDemandThroughputThrottleEvents](#ReadMaxOnDemandThroughputThrottleEvents)
+ [ReadProvisionedThroughputThrottleEvents](#ReadProvisionedThroughputThrottleEvents)
+ [ReadThrottleEvents](#ReadThrottleEvents)
+ [ReplicationLatency](#ReplicationLatency)
+ [ReturnedBytes](#ReturnedBytes)
+ [ReturnedItemCount](#ReturnedItemCount)
+ [ReturnedRecordsCount](#ReturnedRecordsCount)
+ [SuccessfulRequestLatency](#SuccessfulRequestLatency)
+ [SystemErrors](#SystemErrors)
+ [TimeToLiveDeletedItemCount](#TimeToLiveDeletedItemCount)
+ [ThrottledPutRecordCount](#ThrottledPutRecordCount)
+ [ThrottledRequests](#ThrottledRequests)
+ [TransactionConflict](#TransactionConflict)
+ [UserErrors](#UserErrors)
+ [WriteAccountLimitThrottleEvents](#WriteAccountLimitThrottleEvents)
+ [WriteKeyRangeThroughputThrottleEvents](#WriteKeyRangeThroughputThrottleEvents)
+ [WriteMaxOnDemandThroughputThrottleEvents](#WriteMaxOnDemandThroughputThrottleEvents)
+ [WriteProvisionedThroughputThrottleEvents](#WriteProvisionedThroughputThrottleEvents)
+ [WriteThrottleEvents](#WriteThrottleEvents)
+ [Métricas de uso](#w2aac41c15c13b7c11)
+ [FaultInjectionServiceInducedErrors](#FaultInjectionServiceInducedErrors)

### AccountMaxReads
<a name="AccountMaxReads"></a>

Número máximo de unidades de capacidad de lectura que puede utilizar una cuenta. Este límite no se aplica a las tablas bajo demanda ni a los índices secundarios globales.

Unidades: `Count`

Estadísticas válidas:
+ `Maximum`: la cantidad máxima de unidades de capacidad de lectura que puede utilizar una cuenta.

### AccountMaxTableLevelReads
<a name="AccountMaxTableLevelReads"></a>

La cantidad máxima de unidades de capacidad de lectura que puede utilizar una tabla o un índice secundario global de una cuenta. Para tablas bajo demanda, este límite es el tope máximo de unidades de solicitud de lectura que puede utilizar una tabla o un índice secundario global.

Unidades: `Count`

Estadísticas válidas:
+ `Maximum`: la cantidad máxima de unidades de capacidad de lectura que puede utilizar una tabla o un índice secundario global de la cuenta.

### AccountMaxTableLevelWrites
<a name="AccountMaxTableLevelWrites"></a>

La cantidad máxima de unidades de capacidad de escritura que puede utilizar una tabla o un índice secundario global de una cuenta. Para tablas bajo demanda, este límite es el tope máximo de unidades de solicitud de escritura que puede utilizar una tabla o un índice secundario global.

Unidades: `Count`

Estadísticas válidas:
+ `Maximum`: la cantidad máxima de unidades de capacidad de escritura que puede utilizar una tabla o un índice secundario global de la cuenta.

### AccountMaxWrites
<a name="AccountMaxWrites"></a>

La cantidad máxima de unidades de capacidad de escritura que puede utilizar una cuenta. Este límite no se aplica a las tablas bajo demanda ni a los índices secundarios globales.

Unidades: `Count`

Estadísticas válidas:
+ `Maximum`: la cantidad máxima de unidades de capacidad de escritura que puede utilizar una cuenta.

### AccountProvisionedReadCapacityUtilization
<a name="AccountProvisionedReadCapacityUtilization"></a>

El porcentaje de unidades de capacidad de lectura aprovisionadas utilizadas por su cuenta.

Unidades: `Percent`

Estadísticas válidas:
+ `Maximum`: el porcentaje máximo de unidades de capacidad de lectura aprovisionadas utilizadas por la cuenta.
+ `Minimum`: el porcentaje mínimo de unidades de capacidad de lectura aprovisionadas utilizadas por la cuenta.
+ `Average`: el porcentaje promedio de unidades de capacidad de lectura aprovisionadas utilizadas por la cuenta. La métrica se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de capacidad de lectura aprovisionadas, es posible que esta estadística no refleje el promedio real.

### AccountProvisionedWriteCapacityUtilization
<a name="AccountProvisionedWriteCapacityUtilization"></a>

El porcentaje de unidades de capacidad de escritura aprovisionadas utilizadas por su cuenta.

Unidades: `Percent`

Estadísticas válidas:
+ `Maximum`: el porcentaje máximo de unidades de capacidad de escritura aprovisionadas utilizadas por la cuenta.
+ `Minimum`: el porcentaje mínimo de unidades de capacidad de escritura aprovisionadas utilizadas por la cuenta.
+ `Average`: el porcentaje promedio de unidades de capacidad de escritura aprovisionadas utilizadas por la cuenta. La métrica se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de capacidad de escritura aprovisionadas, es posible que esta estadística no refleje el promedio real.

### AgeOfOldestUnreplicatedRecord
<a name="AgeOfOldestUnreplicatedRecord"></a>

Ha aparecido por primera vez en la tabla DynamoDB el tiempo transcurrido desde que un registro que aún no se ha replicado en el flujo de datos de Kinesis.

Unidades: `Milliseconds`

Dimensiones: `TableName, DelegatedOperation`

Estadísticas válidas:
+ `Maximum`.
+ `Minimum`.
+ `Average`.

### CondicionalCheckFailedRequests
<a name="ConditionalCheckFailedRequests"></a>

Cantidad de intentos fallidos para realizar escrituras condicionales. La operaciones `PutItem`, `UpdateItem`, y `DeleteItem` le permiten proporcionar una condición lógica que debe evaluarse como true (verdadera) antes de que la operación pueda continuar. Si se evalúa esta condición como false (falso), `ConditionalCheckFailedRequests` se incrementa en uno. `ConditionalCheckFailedRequests` también se incrementa en uno para las instrucciones PartiQL Update (actualizar) y Delete (eliminar) donde se proporciona una condición lógica y esa condición se evalúa como false (falso). 

**nota**  
Una escritura condicional fallida dará lugar a un error HTTP 400 (solicitud errónea). Estos eventos se reflejan en la métrica `ConditionalCheckFailedRequests`, pero no en la métrica `UserErrors`.

Unidades: `Count`

Dimensiones: `TableName`

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Average`
+ `SampleCount`
+ `Sum`

### ConsumedChangeDataCaptureUnits
<a name="ConsumedChangeDataCaptureUnits"></a>

La cantidad de unidades de captura de datos de cambio consumidas.

Unidades: `Count`

Dimensiones: `TableName, DelegatedOperation`

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Average`

### ConsumedReadCapacityUnits
<a name="ConsumedReadCapacityUnits"></a>

La cantidad de unidades de capacidad de lectura usadas durante el periodo de tiempo especificado, tanto para capacidad aprovisionada como para capacidad bajo demanda, para que pueda saber cuánto rendimiento se usa. Puede recuperar la capacidad total de lectura consumida para una tabla y todos sus índices secundarios globales, o para un índice secundario global determinado. Para obtener más información, consulte [Modo de capacidad de lectura/escritura](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html).

La dimensión `TableName` devuelve la `ConsumedReadCapacityUnits` para la tabla, pero no para los índices secundarios globales. Para ver la `ConsumedReadCapacityUnits` para un índice secundario global, debe especificar tanto `TableName` como `GlobalSecondaryIndexName`.

**nota**  
 Esto significa que es posible que los picos cortos e intensos en el consumo de capacidad que duren solo un segundo no se reflejen con precisión en el gráfico de CloudWatch, lo que podría provocar una tasa de consumo aparente más baja durante ese minuto.   
 Utilice la estadística `Sum` para calcular el rendimiento consumido. Por ejemplo, obtenga el valor `Sum` en un lapso de un minuto y divídalo por el número de segundos en un minuto (60) para calcular el promedio `ConsumedReadCapacityUnits` por segundo. Puede comparar el valor calculado con el valor de rendimiento aprovisionado que le proporciona a DynamoDB. 

Unidades: `Count`

Dimensiones: `TableName, GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Minimum`: la cantidad mínima de unidades de capacidad de lectura consumidas por cualquier solicitud individual a la tabla o al índice.
+ `Maximum`: la cantidad máxima de unidades de capacidad de lectura consumidas por cualquier solicitud individual a la tabla o al índice.
+ `Average`: la capacidad de lectura promedio por solicitud consumida.
**nota**  
El valor `Average` está influenciado por periodos de inactividad donde el valor de la muestra será cero. 
+ `Sum`: el total de unidades de capacidad de lectura consumidas. Esta es la estadística más útil para la métrica `ConsumedReadCapacityUnits`.
+ `SampleCount`: representa la frecuencia con la que se emite la métrica. Incluso las tablas sin tráfico tendrán `SampleCount` emitido regularmente, pero los valores de muestra serán siempre cero.
**nota**  
El valor `SampleCount` está influenciado por periodos de inactividad donde el valor de la muestra será cero. 

### ConsumedWriteCapacityUnits
<a name="ConsumedWriteCapacityUnits"></a>

La cantidad de unidades de capacidad de escritura usadas durante el periodo de tiempo especificado, tanto para capacidad aprovisionada como para capacidad bajo demanda, para que pueda saber cuánto rendimiento se usa. Puede recuperar la capacidad total de escritura consumida para una tabla y todos sus índices secundarios globales, o para un índice secundario global determinado. Para obtener más información, consulte [Modo de capacidad de lectura/escritura](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html).

La dimensión `TableName` devuelve la `ConsumedWriteCapacityUnits` para la tabla, pero no para los índices secundarios globales. Para ver la `ConsumedWriteCapacityUnits` para un índice secundario global, debe especificar tanto `TableName` como `GlobalSecondaryIndexName`. La dimensión `Source` puede devolver cualquiera de los dos valores siguientes: `Customer` y `GlobalTable`. Las escrituras replicadas tendrán `ConsumedWriteCapacityUnits` con la fuente `GlobalTable`, pero las escrituras en tablas regionales tendrán `ConsumedWriteCapacityUnits` con la fuente `Customer`.

**nota**  
Utilice la estadística `Sum` para calcular el rendimiento consumido. Por ejemplo, obtenga el valor de `Sum` en un lapso de un minuto y divídalo por el número de segundos de un minuto (60) para calcular el promedio de `ConsumedWriteCapacityUnits` por segundo (reconociendo que en este promedio no se ponen de manifiesto los picos grandes pero breves en la actividad de escritura que se hayan producido durante ese minuto). Puede comparar el valor calculado con el valor de rendimiento aprovisionado que le proporciona a DynamoDB.

Unidades: `Count`

Dimensiones: `TableName, GlobalSecondaryIndexName, Source`

Estadísticas válidas: 
+ `Minimum`: la cantidad mínima de unidades de capacidad de escritura consumidas por cualquier solicitud individual a la tabla o al índice.
+ `Maximum`: la cantidad máxima de unidades de capacidad de escritura consumidas por cualquier solicitud individual a la tabla o al índice.
+ `Average`: la capacidad de escritura promedio por solicitud consumida.
**nota**  
El valor `Average` está influenciado por periodos de inactividad donde el valor de la muestra será cero.
+ `Sum`: el total de unidades de capacidad de escritura consumidas. Esta es la estadística más útil para la métrica `ConsumedWriteCapacityUnits`.
+ `SampleCount`: representa la frecuencia con la que se emite la métrica. Incluso las tablas sin tráfico tendrán `SampleCount` emitido regularmente, pero los valores de muestra serán siempre cero.
**nota**  
El valor `SampleCount` está influenciado por periodos de inactividad donde el valor de la muestra será cero.

### FailedToReplicateRecordCount
<a name="FailedToReplicateRecordCount"></a>

Número de registros que DynamoDB no ha podido replicar en el flujo de datos de Kinesis.

Unidades: `Count`

Dimensiones: `TableName`, `DelegatedOperation`

Estadísticas válidas:
+ `Sum`

### MaxProvisionedTableReadCapacityUtilization
<a name="MaxProvisionedTableReadCapacityUtilization"></a>

El porcentaje de capacidad de lectura aprovisionado usado por la tabla de lectura con mayor aprovisionamiento o el índice secundario global de una cuenta.

Unidades: `Percent`

Estadísticas válidas:
+ `Maximum`: el porcentaje máximo de unidades de capacidad de lectura aprovisionadas utilizadas por la tabla de lectura con mayor aprovisionamiento o el índice secundario global de una cuenta.
+ `Minimum`: el porcentaje mínimo de unidades de capacidad de lectura aprovisionadas utilizadas por la tabla de lectura con mayor aprovisionamiento o el índice secundario global de una cuenta.
+ `Average`: el porcentaje promedio de unidades de capacidad de lectura aprovisionadas utilizadas por la tabla de lectura con mayor aprovisionamiento o el índice secundario global de la cuenta. La métrica se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de capacidad de lectura aprovisionadas, es posible que esta estadística no refleje el promedio real.

### MaxProvisionedTableWriteCapacityUtilization
<a name="MaxProvisionedTableWriteCapacityUtilization"></a>

El porcentaje de capacidad de escritura aprovisionada utilizada por la tabla de escritura con mayor aprovisionamiento o el índice secundario global de una cuenta.

Unidades: `Percent`

Estadísticas válidas:
+ `Maximum`: el porcentaje máximo de unidades de capacidad de escritura aprovisionadas utilizadas por la tabla de escritura con mayor aprovisionamiento o el índice secundario global de una cuenta.
+ `Minimum`: el porcentaje mínimo de unidades de capacidad de escritura aprovisionadas utilizadas por la tabla de escritura con mayor aprovisionamiento o el índice secundario global de una cuenta.
+ `Average`: el porcentaje promedio de unidades de capacidad de escritura aprovisionadas utilizadas por la tabla de escritura con mayor aprovisionamiento o el índice secundario global de la cuenta. La métrica se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de capacidad de escritura aprovisionadas, es posible que esta estadística no refleje el promedio real.

### OnDemandMaxReadRequestUnits
<a name="OnDemandMaxReadRequestUnits"></a>

La cantidad de unidades de solicitud de lectura bajo demanda especificadas para una tabla o un índice secundario global.

Para ver `OnDemandMaxReadRequestUnits` para una tabla, debe especificar `TableName`. Para ver la `OnDemandMaxReadRequestUnits` para un índice secundario global, debe especificar tanto `TableName` como `GlobalSecondaryIndexName`.

Unidades: recuento

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Minimum`: la configuración mínima para las unidades de solicitud de lectura bajo demanda. Si utiliza `UpdateTable` para aumentar las unidades de solicitud de lectura, esta métrica muestra el valor mínimo de `ReadRequestUnits` bajo demanda durante este periodo de tiempo.
+ `Maximum`: la configuración máxima para las unidades de solicitud de lectura bajo demanda. Si utiliza `UpdateTable` para reducir las unidades de solicitud de lectura, esta métrica muestra el valor máximo de `ReadRequestUnits` bajo demanda durante este periodo de tiempo.
+ `Average`: el promedio de unidades de solicitud de lectura bajo demanda. La métrica `OnDemandMaxReadRequestUnits` se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de solicitud de lectura bajo demanda, es posible que esta estadística no refleje el promedio real.

### OnDemandMaxWriteRequestUnits
<a name="OnDemandMaxWriteRequestUnits"></a>

La cantidad de unidades de solicitud de escritura bajo demanda especificadas para una tabla o un índice secundario global.

Para ver `OnDemandMaxWriteRequestUnits` para una tabla, debe especificar `TableName`. Para ver la `OnDemandMaxWriteRequestUnits` para un índice secundario global, debe especificar tanto `TableName` como `GlobalSecondaryIndexName`.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Minimum`: la configuración mínima para las unidades de solicitud de escritura bajo demanda. Si utiliza `UpdateTable` para aumentar las unidades de solicitud de escritura, esta métrica muestra el valor mínimo de `WriteRequestUnits` bajo demanda durante este periodo de tiempo.
+ `Maximum`: la configuración máxima para las unidades de solicitud de escritura bajo demanda. Si utiliza `UpdateTable` para reducir las unidades de solicitud de escritura, esta métrica muestra el valor máximo de `WriteRequestUnits` bajo demanda durante este periodo de tiempo.
+ `Average`: el promedio de unidades de solicitud de escritura bajo demanda. La métrica `OnDemandMaxWriteRequestUnits` se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de solicitud de escritura bajo demanda, es posible que esta estadística no refleje el promedio real.

### OnlineIndexConsumedWriteCapacity
<a name="OnlineIndexConsumedWriteCapacity"></a>

Se espera que esta métrica muestre 0 durante la creación del índice. Esta métrica anteriormente mostraba la cantidad de unidades de capacidad de escritura consumidas al agregar un nuevo índice secundario global a una tabla.

Unidades: `Count`

Dimensiones: `TableName, GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Average`
+ `SampleCount`
+ `Sum`

### OnlineIndexPercentageProgress
<a name="OnlineIndexPercentageProgress"></a>

El porcentaje de finalización cuando se agrega un nuevo índice secundario global a una tabla. DynamoDB primero debe asignar recursos para el nuevo índice y, a continuación, rellenar los atributos de la tabla en el índice. Para tablas grandes, este proceso puede llevar mucho tiempo. Debe monitorear esta estadística para ver el progreso relativo a medida que DynamoDB crea el índice.

Unidades: `Count`

Dimensiones: `TableName, GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Average`
+ `SampleCount`
+ `Sum`

### OnlineIndexThrottleEvents
<a name="OnlineIndexThrottleEvents"></a>

Se espera que esta métrica muestre 0 durante la creación del índice. Esta métrica anteriormente mostraba la cantidad de eventos de limitación de escritura que se producen al agregar un nuevo índice secundario global a una tabla. 

Unidades: `Count`

Dimensiones: `TableName, GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Average`
+ `SampleCount`
+ `Sum`

### PendingReplicationCount
<a name="PendingReplicationCount"></a>

Métrica para [Versión 2017.11.29 (heredada) de las tablas globales](globaltables.V1.md) (solo tablas globales). La cantidad de actualizaciones de elementos que se escriben en la réplica de tabla pero que todavía no se han escrito en otra réplica de la tabla global.

Unidades: `Count` 

Dimensiones: `TableName, ReceivingRegion`

Estadísticas válidas:
+ `Average`
+ `Sample Count`
+ `Sum`

### ProvisionedReadCapacityUnits
<a name="ProvisionedReadCapacityUnits"></a>

La cantidad de unidades de capacidad de lectura aprovisionadas para una tabla o un índice secundario global. La dimensión `TableName` devuelve la `ProvisionedReadCapacityUnits` para la tabla, pero no para los índices secundarios globales. Para ver la `ProvisionedReadCapacityUnits` para un índice secundario global, debe especificar tanto `TableName` como `GlobalSecondaryIndexName`.

Unidades: :`Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Minimum`: la configuración más baja para la capacidad de lectura aprovisionada. Si utiliza `UpdateTable` para aumentar la capacidad de lectura, esta métrica muestra el valor más bajo de `ReadCapacityUnits` aprovisionado durante este periodo de tiempo.
+ `Maximum`: la configuración más alta para la capacidad de lectura aprovisionada. Si utiliza `UpdateTable` para reducir la capacidad de lectura, esta métrica muestra el valor más alto de `ReadCapacityUnits` aprovisionado durante este período de tiempo.
+ `Average`: la capacidad de lectura aprovisionada promedio. La métrica `ProvisionedReadCapacityUnits` se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de capacidad de lectura aprovisionadas, es posible que esta estadística no refleje el promedio real.

### ProvisionedWriteCapacityUnits
<a name="ProvisionedWriteCapacityUnits"></a>

La cantidad de unidades de capacidad de escritura aprovisionadas para una tabla o un índice secundario global.

La dimensión `TableName` devuelve la `ProvisionedWriteCapacityUnits` para la tabla, pero no para los índices secundarios globales. Para ver la `ProvisionedWriteCapacityUnits` para un índice secundario global, debe especificar tanto `TableName` como `GlobalSecondaryIndexName`.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Minimum`: la configuración más baja para la capacidad de escritura aprovisionada. Si utiliza `UpdateTable` para aumentar la capacidad de escritura, esta métrica muestra el valor más bajo de `WriteCapacityUnits` aprovisionado durante este período de tiempo.
+ `Maximum`: la configuración más alta para la capacidad de escritura aprovisionada. Si utiliza `UpdateTable` para reducir la capacidad de escritura, esta métrica muestra el valor más alto de `WriteCapacityUnits` aprovisionado durante este período de tiempo.
+ `Average`: la capacidad de escritura aprovisionada promedio. La métrica `ProvisionedWriteCapacityUnits` se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de capacidad de escritura aprovisionadas, es posible que esta estadística no refleje el promedio real.

### ReadAccountLimitThrottleEvents
<a name="ReadAccountLimitThrottleEvents"></a>

El número de solicitudes de lectura limitadas debido a los límites de la cuenta.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Sum`: el número total de eventos limitados.
+ `SampleCount`: número de casos de limitación.
+ `Minimum`: número mínimo de eventos limitados en un ejemplo determinado.
+ `Maximum`: número máximo de eventos limitados en un ejemplo determinado.

### ReadKeyRangeThroughputThrottleEvents
<a name="ReadKeyRangeThroughputThrottleEvents"></a>

El número de solicitudes de lectura limitadas debido a los límites de las particiones.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Sum`: el número total de eventos limitados.
+ `SampleCount`: número de casos de limitación.
+ `Minimum`: número mínimo de eventos limitados en un ejemplo determinado.
+ `Maximum`: número máximo de eventos limitados en un ejemplo determinado.

### ReadMaxOnDemandThroughputThrottleEvents
<a name="ReadMaxOnDemandThroughputThrottleEvents"></a>

El número de solicitudes de lectura limitadas debido al rendimiento máximo bajo demanda.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Sum`: el número total de eventos limitados.
+ `SampleCount`: número de casos de limitación.
+ `Minimum`: número mínimo de eventos limitados en un ejemplo determinado.
+ `Maximum`: número máximo de eventos limitados en un ejemplo determinado.

### ReadProvisionedThroughputThrottleEvents
<a name="ReadProvisionedThroughputThrottleEvents"></a>

El número de solicitudes de lectura limitadas debido a los límites de rendimiento aprovisionados.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Sum`: el número total de eventos limitados.
+ `SampleCount`: número de casos de limitación.
+ `Minimum`: número mínimo de eventos limitados en un ejemplo determinado.
+ `Maximum`: número máximo de eventos limitados en un ejemplo determinado.

### ReadThrottleEvents
<a name="ReadThrottleEvents"></a>

Solicitud a DynamoDB que exceden a las unidades de capacidad de lectura aprovisionadas para una tabla o un índice secundario global.

Una sola solicitud puede dar lugar a múltiples eventos. Por ejemplo, un `BatchGetItem` que lea 10 elementos se procesa como 10 eventos de `GetItem`. Para cada evento, `ReadThrottleEvents` se incrementa en uno si ese evento está limitado. La métrica `ThrottledRequests` para todo el `BatchGetItem` no se incrementa a menos que se limiten *los 10* eventos de `GetItem`.

La dimensión `TableName` devuelve la `ReadThrottleEvents` para la tabla, pero no para los índices secundarios globales. Para ver la `ReadThrottleEvents` para un índice secundario global, debe especificar tanto `TableName` como `GlobalSecondaryIndexName`.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `SampleCount`
+ `Sum`

### ReplicationLatency
<a name="ReplicationLatency"></a>

(Esta métrica es para tablas globales de DynamoDB). El tiempo transcurrido entre la aparición de un elemento actualizado en la transmisión de DynamoDB para una réplica de tabla y la aparición de ese elemento en otra réplica de la tabla global.

Unidades: `Milliseconds` 

Dimensiones: `TableName, ReceivingRegion`

Estadísticas válidas:
+ `Average`
+ `Minimum`
+ `Maximum`

### ReturnedBytes
<a name="ReturnedBytes"></a>

La cantidad de bytes devueltos por operaciones `GetRecords` (Amazon DynamoDB Streams) durante el periodo de tiempo especificado.

Unidades: `Bytes`

Dimensiones: `Operation, StreamLabel, TableName`

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Average`
+ `SampleCount`
+ `Sum`

### ReturnedItemCount
<a name="ReturnedItemCount"></a>

La cantidad de elementos devueltos por las operaciones `Query`, `Scan` o `ExecuteStatement` (selecto) durante el periodo de tiempo especificado.

La cantidad de elementos *devueltos* no es necesariamente igual a la cantidad de elementos evaluados. Por ejemplo, suponga que solicitó un `Scan` en una tabla o en un índice que tenía 100 elementos, pero especificó un `FilterExpression` que redujo los resultados de modo que solo se devolvieron 15 artículos. En este caso, la respuesta de `Scan` va a contener un `ScanCount` de 100 y un `Count` de 15 artículos devueltos.

Unidades: `Count`

Dimensiones: `TableName, Operation`

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Average`
+ `SampleCount`
+ `Sum`

### ReturnedRecordsCount
<a name="ReturnedRecordsCount"></a>

La cantidad de registros de transmisión devueltos por las operaciones `GetRecords` (Amazon DynamoDB Streams) durante el periodo de tiempo especificado.

Unidades: `Count`

Dimensiones: `Operation, StreamLabel, TableName`

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Average`
+ `SampleCount`
+ `Sum`

### SuccessfulRequestLatency
<a name="SuccessfulRequestLatency"></a>

La latencia de las solicitudes correctas a DynamoDB o Amazon DynamoDB Streams durante el periodo de tiempo especificado. `SuccessfulRequestLatency` puede proporcionar dos tipos distintos de información:
+ El tiempo transcurrido para las solicitudes correctas (`Minimum`, `Maximum`, `Sum`, `Average` o `Percentile`).
+ El número de solicitudes realizadas correctamente (`SampleCount`).

`SuccessfulRequestLatency` refleja la actividad solo dentro de DynamoDB o Amazon DynamoDB Streams y no tiene en cuenta la latencia de la red ni la actividad del cliente. 

**nota**  
Para analizar valores de percentiles personalizados (como p99,9), puede introducir manualmente el percentil deseado (por ejemplo, p99,9) en el campo de estadísticas de métricas de CloudWatch. Esto le permite evaluar las distribuciones de latencia más allá de los percentiles predeterminados que aparecen en la lista desplegable.

Unidades: `Milliseconds` 

Dimensiones: `TableName, Operation, StreamLabel`

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Sum`
+ `Average`
+ `Percentile`
+ `SampleCount`

### SystemErrors
<a name="SystemErrors"></a>

Las solicitudes a DynamoDB o Amazon DynamoDB Streams que generan un código de estado HTTP 500 durante el periodo de tiempo especificado. Un código HTTP 500 normalmente indica un error de servicio interno.

**nota**  
Cuando DynamoDB devuelve un error del sistema (HTTP 500), la mayoría de los AWS SDK realizan automáticamente un número configurable de reintentos. Si el problema se resuelve durante un reintento, la aplicación continúa sin detectar el error y es posible que note un aumento de la latencia percibida por parte del cliente. Si el error persiste después de todos los reintentos, se propaga al código de la aplicación. 

Unidades: `Count`

Dimensiones: `TableName, Operation`

Estadísticas válidas:
+ `Sum`
+ `SampleCount`

### TimeToLiveDeletedItemCount
<a name="TimeToLiveDeletedItemCount"></a>

La cantidad de elementos eliminados por Time to Live (TTL, periodo de vida) durante el periodo de tiempo especificado. Esta métrica le ayuda a monitorear la tasa de eliminaciones de TTL en la tabla. 

Unidades: `Count`

Dimensiones: TableName

Estadísticas válidas:
+ `Sum`

### ThrottledPutRecordCount
<a name="ThrottledPutRecordCount"></a>

El número de registros que se han visto limitados por el flujo de datos de Kinesis debido a la insuficiente capacidad de Kinesis Data Streams.

Unidades: `Count`

Dimensiones: TableName, DelegatedOperation

Estadísticas válidas:
+ `Minimum`
+ `Maximum`
+ `Average`
+ `SampleCount`

### ThrottledRequests
<a name="ThrottledRequests"></a>

Solicitudes a DynamoDB que exceden los límites de rendimiento aprovisionado en un recurso (tales como una tabla o un índice).

`ThrottledRequests`Se incrementa en uno si algún evento de la solicitud supera el límite de rendimiento aprovisionado. Por ejemplo, si actualiza un elemento de una tabla con índices secundarios globales, hay varios eventos: una escritura en la tabla y una escritura en cada uno de los índices. Si uno o más de estos eventos están limitados, entonces `ThrottledRequests` se incrementa en uno.

**nota**  
En una solicitud por lotes (`BatchGetItem` o `BatchWriteItem`), `ThrottledRequests` solo se incrementa si *todas* las solicitudes en el lote están limitadas.  
Si se limita cualquier solicitud individual dentro del lote, se incrementa una de las siguientes métricas:  
`ReadThrottleEvents`: para un evento `GetItem` limitado dentro de `BatchGetItem`.
`WriteThrottleEvents`: para un evento `PutItem` o `DeleteItem` limitado dentro de `BatchWriteItem`.

Para obtener información sobre qué evento está limitando controladamente la solicitud, compare `ThrottledRequests` con `ReadThrottleEvents` y `WriteThrottleEvents` para la tabla y sus índices.

**nota**  
Una solicitud limitada dará como resultado un código de estado HTTP 400. Tales eventos se reflejan en la métrica `ThrottledRequests`, pero no en la métrica `UserErrors`.

Unidades: `Count`

Dimensiones: `TableName, Operation`

Estadísticas válidas:
+ `Sum`
+ `SampleCount`

### TransactionConflict
<a name="TransactionConflict"></a>

Solicitudes a nivel de elemento rechazadas debido a conflictos transaccionales entre solicitudes simultáneas en los mismos elementos. Para obtener más información, consulte [Gestión de conflictos de transacciones en DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transaction-apis.html#transaction-conflict-handling). 

Unidades: `Count`

Dimensiones: `TableName`

Estadísticas válidas:
+ `Sum`: la cantidad de solicitudes a nivel de elemento rechazadas debido a conflictos de transacciones.
**nota**  
Si varias solicitudes a nivel de elemento dentro de una llamada a `TransactWriteItems` o `TransactGetItems` fueron rechazadas, `Sum` se incrementa en uno para cada solicitud a nivel de elemento `Put`, `Update`, `Delete` o `Get`.
+ `SampleCount`: la cantidad de solicitudes rechazadas debido a conflictos de transacciones.
**nota**  
Si varias solicitudes al nivel de elemento dentro de una llamada a `TransactWriteItems` o `TransactGetItems` fueron rechazadas, `SampleCount` solo se incrementa en uno.
+ `Min`: la cantidad mínima de solicitudes a nivel de elemento rechazadas dentro de una llamada a `TransactWriteItems`, `TransactGetItems`, `PutItem`, `UpdateItem` o `DeleteItem`.
+ `Max` la cantidad máxima de solicitudes de nivel de elemento rechazadas dentro de una llamada a `TransactWriteItems`, `TransactGetItems`, `PutItem`, `UpdateItem` o `DeleteItem`.
+ `Average` la cantidad promedio de solicitudes de nivel de elemento rechazadas dentro de una llamada a `TransactWriteItems`, `TransactGetItems`, `PutItem`, `UpdateItem` o `DeleteItem`. 

### UserErrors
<a name="UserErrors"></a>

Solicitudes a DynamoDB o Amazon DynamoDB Streams que generan un código de estado HTTP 400 durante el periodo de tiempo especificado. Un código HTTP 400 normalmente indica un error del lado del cliente, como una combinación de parámetros no válida, un intento de actualizar una tabla inexistente o una firma de solicitud incorrecta.

 Algunos ejemplos de excepciones que registrarán métricas relacionadas con `UserErrors` serían: 
+ `ResourceNotFoundException`
+ `ValidationException`
+ `TransactionConflict`

Todos estos eventos se reflejan en la métrica `UserErrors`, a excepción de los siguientes elementos:
+ *ProvisionedThroughputExceededException*: consulte la métrica `ThrottledRequests` en esta sección.
+ *ConditionalCheckFailedException*: consulte la métrica `ConditionalCheckFailedRequests` en esta sección.

`UserErrors` representa la suma de errores HTTP 400 para las solicitudes de DynamoDB o Amazon DynamoDB Streams para la región de AWS y la cuenta de AWS actuales.

Unidades: `Count`

Estadísticas válidas:
+ `Sum`
+ `SampleCount`

### WriteAccountLimitThrottleEvents
<a name="WriteAccountLimitThrottleEvents"></a>

El número de solicitudes de escritura limitadas debido a los límites de la cuenta.

Unidades: `Count`

Dimensiones: `TableName`

Estadísticas válidas:
+ `Sum`: el número total de eventos limitados.
+ `SampleCount`: número de casos de limitación.
+ `Minimum`: número mínimo de eventos limitados en un ejemplo determinado.
+ `Maximum`: número máximo de eventos limitados en un ejemplo determinado.

### WriteKeyRangeThroughputThrottleEvents
<a name="WriteKeyRangeThroughputThrottleEvents"></a>

El número de solicitudes de escritura limitadas debido a los límites de las particiones.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Sum`: el número total de eventos limitados.
+ `SampleCount`: número de casos de limitación.
+ `Minimum`: número mínimo de eventos limitados en un ejemplo determinado.
+ `Maximum`: número máximo de eventos limitados en un ejemplo determinado.

### WriteMaxOnDemandThroughputThrottleEvents
<a name="WriteMaxOnDemandThroughputThrottleEvents"></a>

El número de solicitudes de escritura se ha limitado debido al rendimiento máximo bajo demanda.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Sum`: el número total de eventos limitados.
+ `SampleCount`: número de casos de limitación.
+ `Minimum`: número mínimo de eventos limitados en un ejemplo determinado.
+ `Maximum`: número máximo de eventos limitados en un ejemplo determinado.

### WriteProvisionedThroughputThrottleEvents
<a name="WriteProvisionedThroughputThrottleEvents"></a>

El número de solicitudes de escritura limitadas debido a los límites de rendimiento aprovisionados.

Unidades: `Count`

Dimensiones: `TableName`, `GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Sum`: el número total de eventos limitados.
+ `SampleCount`: número de casos de limitación.
+ `Minimum`: número mínimo de eventos limitados en un ejemplo determinado.
+ `Maximum`: número máximo de eventos limitados en un ejemplo determinado.

### WriteThrottleEvents
<a name="WriteThrottleEvents"></a>

Solicitudes a DynamoDB que exceden las unidades de capacidad de escritura aprovisionadas para una tabla o un índice secundario global.

Una sola solicitud puede dar lugar a múltiples eventos. Por ejemplo, una solicitud `PutItem` en una tabla con tres índices secundarios globales daría como resultado cuatro eventos: la escritura de la tabla y la escritura de cada uno de los tres índices. Para cada evento, la métrica `WriteThrottleEvents` se incrementa en uno si ese evento está limitado. Para una sola solicitud `PutItem`, si alguno de los eventos está limitado, `ThrottledRequests` también se incrementa en uno. Para `BatchWriteItem`, la métrica `ThrottledRequests` para toda la `BatchWriteItem` no se incrementa a menos que se limiten todos los eventos `PutItem` o `DeleteItem`.

La dimensión `TableName` devuelve la `WriteThrottleEvents` para la tabla, pero no para los índices secundarios globales. Para ver la `WriteThrottleEvents` para un índice secundario global, debe especificar tanto `TableName` como `GlobalSecondaryIndexName`. 

Unidades: `Count`

Dimensiones: `TableName, GlobalSecondaryIndexName`

Estadísticas válidas:
+ `Sum`
+ `SampleCount`

### Métricas de uso
<a name="w2aac41c15c13b7c11"></a>

Las métricas de uso de CloudWatch le permiten administrar el uso de forma proactiva mediante la visualización de métricas en la consola de CloudWatch, la creación de paneles personalizados, la detección de cambios en la actividad con la detección de anomalías de CloudWatch y la configuración de alarmas que le avisan cuando el uso se acerca a un umbral.

DynamoDB también integra estas métricas de uso con Service Quotas. Puede usar CloudWatch para administrar el uso de las cuotas de servicio de la cuenta. Para obtener más información acerca, consulte [Visualización de las cuotas de servicio y configuración de alarmas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Quotas-Visualize-Alarms.html).

**Topics**<a name="ddb-usage-metrics.title"></a>
+ [AccountProvisionedWriteCapacityUnits](#w2aac41c15c13b7c11b9)
+ [AccountProvisionedReadCapacityUnits](#w2aac41c15c13b7c11c11)
+ [TableCount](#w2aac41c15c13b7c11c13)

#### AccountProvisionedWriteCapacityUnits
<a name="w2aac41c15c13b7c11b9"></a>

La suma de las unidades de capacidad de escritura aprovisionadas para todas las tablas e índices secundarios globales de una cuenta.

Unidades: `Count`

Estadísticas válidas:
+ `Minimum`: el menor número de unidades de capacidad de escritura aprovisionadas durante un periodo de tiempo. 
+ `Maximum`: el mayor número de unidades de capacidad de escritura aprovisionadas durante un periodo de tiempo. 
+ `Average`: el número promedio de unidades de capacidad de escritura aprovisionadas durante un periodo de tiempo. 

Esta métrica se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de capacidad de escritura aprovisionadas, es posible que esta estadística no refleje el promedio real.

#### AccountProvisionedReadCapacityUnits
<a name="w2aac41c15c13b7c11c11"></a>

La suma de las unidades de capacidad de lectura aprovisionadas para todas las tablas e índices secundarios globales de una cuenta.

Unidades: `Count`

Estadísticas válidas:
+ `Minimum`: el menor número de unidades de capacidad de lectura aprovisionadas durante un periodo de tiempo. 
+ `Maximum`: el mayor número de unidades de capacidad de lectura aprovisionadas durante un periodo de tiempo.
+ `Average`: el número promedio de unidades de capacidad de lectura aprovisionadas durante un periodo de tiempo.

Esta métrica se publica a intervalos de cinco minutos. Por lo tanto, si ajusta rápidamente las unidades de capacidad de lectura aprovisionadas, es posible que esta estadística no refleje el promedio real.

#### TableCount
<a name="w2aac41c15c13b7c11c13"></a>

Número de tablas de activas de una cuenta.

Unidades: `Count`

Estadísticas válidas:
+ `Minimum`: el menor número de tablas durante un periodo de tiempo.
+ `Maximum`: el mayor número de tablas durante un periodo de tiempo.
+ `Average`: el número promedio de tablas durante un periodo de tiempo. 

### FaultInjectionServiceInducedErrors
<a name="FaultInjectionServiceInducedErrors"></a>

Las solicitudes a DynamoDB que generan un código de estado HTTP 500 simulado durante el período de tiempo especificado y durante la recuperación como resultado del experimento de AWS FIS.

Unidades: `Count`

Dimensiones: `TableName`, `Operation`

Estadísticas válidas:
+ `Sum` 
+ `SampleCount` 

## Descripción de las métricas y dimensiones de DynamoDB
<a name="ddb-understanding-metric-dimensions"></a>

Las métricas de DynamoDB se identifican por los valores de la cuenta, el nombre de la tabla, el nombre del índice secundario global o la operación. Puede usar la consola de CloudWatch para recuperar los datos de DynamoDB junto con cualquier dimensión de la siguiente tabla.

**Topics**<a name="available-metrics.title"></a>
+ [DelegatedOperation](#w2aac41c15c13b9b7)
+ [GlobalSecondaryIndexName](#w2aac41c15c13b9b9)
+ [Operación](#w2aac41c15c13b9c11)
+ [OperationType](#w2aac41c15c13b9c13)
+ [Verbo](#w2aac41c15c13b9c15)
+ [ReceivingRegion](#w2aac41c15c13b9c17)
+ [StreamLabel](#w2aac41c15c13b9c19)
+ [TableName](#w2aac41c15c13b9c21)

### DelegatedOperation
<a name="w2aac41c15c13b9b7"></a>

Esta dimensión limita los datos a las operaciones que DynamoDB realiza en su nombre. Las siguientes operaciones están capturadas:
+ Cambie la captura de datos para Kinesis Data Streams

### GlobalSecondaryIndexName
<a name="w2aac41c15c13b9b9"></a>

Esta dimensión limita los datos a un índice secundario global de una tabla. Si especifica `GlobalSecondaryIndexName`, también debe especificar `TableName`.

### Operación
<a name="w2aac41c15c13b9c11"></a>

Esta dimensión limita los datos a una de las siguientes operaciones de DynamoDB:
+ `PutItem`
+ `DeleteItem`
+ `UpdateItem`
+ `GetItem`
+ `BatchGetItem`
+ `Scan`
+ `Query`
+ `BatchWriteItem`
+ `TransactWriteItems`
+ `TransactGetItems`
+ `ExecuteTransaction`
+ `BatchExecuteStatement`
+ `ExecuteStatement`

Además, puede limitar los datos a la siguiente operación de Amazon DynamoDB Streams:
+ `GetRecords`

### OperationType
<a name="w2aac41c15c13b9c13"></a>

Esta dimensión limita los datos a uno de los siguientes tipos de operaciones:
+ `Read`
+ `Write`

Esta dimensión se emite para las solicitudes `ExecuteTransaction` y `BatchExecuteStatement`.

### Verbo
<a name="w2aac41c15c13b9c15"></a>

Esta dimensión limita los datos a una de los siguientes verbos PartiQL de DynamoDB:
+ Inserte: `PartiQLInsert`
+ Seleccionar: `PartiQLSelect`
+ Actualizar: `PartiQLUpdate`
+ Eliminar: `PartiQLDelete`

Esta dimensión se emite para la operación `ExecuteStatement`.

### ReceivingRegion
<a name="w2aac41c15c13b9c17"></a>

Esta dimensión limita los datos a una región de AWS particular. Se utiliza con métricas procedentes de réplicas de tablas dentro de una tabla global de DynamoDB.

### StreamLabel
<a name="w2aac41c15c13b9c19"></a>

Esta dimensión limita los datos a una etiqueta de transmisión específica. Se utiliza con métricas procedentes de operaciones `GetRecords` de Amazon DynamoDB Streams.

### TableName
<a name="w2aac41c15c13b9c21"></a>

Esta dimensión limita los datos a una tabla específica. Este valor puede ser cualquier nombre de tabla en la región actual y la cuenta AWS actual.

# Creación de alarmas de CloudWatch en DynamoDB
<a name="Monitoring-metrics-creating-cloudwatch-alarms"></a>

Una [alarma de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) vigila una única métrica durante el período especificado y realiza una o varias acciones determinadas en función del valor de la métrica en relación a un umbral durante un período 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. Puede agregar alarmas a los paneles para poder monitorear y recibir alertas sobre sus recursos y aplicaciones de AWS en varias regiones. No existe ningún límite respecto al número de alarmas que se pueden crear. 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 una lista de las alarmas de DynamoDB recomendadas, consulte [Alarmas recomendadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Best_Practice_Recommended_Alarms_AWS_Services.html#DynamoDB).

**nota**  
Debe especificar todas las dimensiones necesarias al crear la alarma CloudWatch, ya que CloudWatch no agrupará métricas para una dimensión que falta. Si crea una alarma de CloudWatch con una dimensión que falta no dará lugar a un error al crear la alarma.

Supongamos que tiene una tabla aprovisionada con cinco unidades de capacidad de lectura. Desea recibir una notificación antes de que consuma toda la capacidad de lectura aprovisionada, por lo que decide crear una alarma de CloudWatch para recibir una notificación cuando la capacidad consumida alcance el 80 % de lo que ha aprovisionado para la tabla. Puede crear alarmas en la consola de CloudWatch o utilizando la AWS CLI.

## Creación de una alarma en la consola de CloudWatch
<a name="monitoring-metrics-creating-an-alarm-cw-console"></a>

**Creación de una alarma en la consola de CloudWatch**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Alarms** (Alarmas) y, luego, **Create Alarm** (Crear alarma).

1. Elija **Crear alarma**.

1. Busque la fila en la que está la tabla que desea monitorear y **`ConsumeReadCapacityUnits`** en la columna **Nombre de métrica**. Seleccione la casilla de verificación situada junto a esta fila y elija **Seleccionar métrica**.

1. En **Especifique la métrica y las condiciones**, en **Estadística**, elija **Suma**. Elija un **Periodo** de **1 minuto**.

1. En **Conditions (Condiciones)**, especifique lo siguiente:

   1. En **Threshold type (Tipo de umbral)**, elija **Static (Estático)**.

   1. En **Siempre que `ConsumedReadCapacityUnits` sea **, elija **Mayor/Igual** y especifique un umbral de 240.

1. Elija **Siguiente**.

1. En **Notificación**, elija **`In alarm`** y seleccione el tema de SNS que enviará las notificaciones cuando la alarma se encuentre en el estado `ALARM`.

1. Cuando haya terminado, elija **Next (Siguiente)**.

1. Ingrese un nombre y una descripción para la alarma y, a continuación, elija **Next** (Siguiente).

1. En **Obtener vista previa y crear**, confirme que la información y las condiciones son las que desea y, a continuación, elija **Crear alarma**.

## Creación de una alarma en la AWS CLI
<a name="Monitoring-metrics-creating-an-alarm-cli"></a>

```
aws cloudwatch put-metric-alarm \
    -\-alarm-name ReadCapacityUnitsLimitAlarm \
    -\-alarm-description "Alarm when read capacity reaches 80% of my provisioned read capacity" \
    -\-namespace AWS/DynamoDB \
    -\-metric-name ConsumedReadCapacityUnits \
    -\-dimensions Name=TableName,Value=myTable \
    -\-statistic Sum \
    -\-threshold 240 \
    -\-comparison-operator GreaterThanOrEqualToThreshold \
    -\-period 60 \                           
    -\-evaluation-periods 1 \
    -\-alarm-actions arn:aws:sns:us-east-1:123456789012:capacity-alarm
```

Pruebe la alarma.

```
aws cloudwatch set-alarm-state -\-alarm-name ReadCapacityUnitsLimitAlarm -\-state-reason "initializing" -\-state-value OK
```

```
aws cloudwatch set-alarm-state -\-alarm-name ReadCapacityUnitsLimitAlarm -\-state-reason "initializing" -\-state-value ALARM
```

## Más ejemplos de AWS CLI
<a name="Monitoring-metrics-more-cli-examples"></a>

En el siguiente procedimiento, se describe cómo se le notifica si tiene solicitudes que superan las cuotas de rendimiento aprovisionadas de una tabla.

1. Cree un tema de Amazon SNS `arn:aws:sns:us-east-1:123456789012:requests-exceeding-throughput`. Para obtener más información, consulte [Configuración de Amazon Simple Notification Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html).

1. Cree la alarma.

   ```
   aws cloudwatch put-metric-alarm \
           -\-alarm-name ReadCapacityUnitsLimitAlarm \
           -\-alarm-description "Alarm when read capacity reaches 80% of my provisioned read capacity" \
           -\-namespace AWS/DynamoDB \
           -\-metric-name ConsumedReadCapacityUnits \
           -\-dimensions Name=TableName,Value=myTable \
           -\-statistic Sum \
           -\-threshold 240 \
           -\-comparison-operator GreaterThanOrEqualToThreshold \
           -\-period 60 \                           
           -\-evaluation-periods 1 \
           -\-alarm-actions arn:aws:sns:us-east-1:123456789012:capacity-alarm
   ```

1. Pruebe la alarma.

   ```
   aws cloudwatch set-alarm-state --alarm-name RequestsExceedingThroughputAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name RequestsExceedingThroughputAlarm --state-reason "initializing" --state-value ALARM
   ```

En el siguiente procedimiento, se describe cómo se le notifica si se producen errores del sistema.

1. Cree un tema de Amazon SNS `arn:aws:sns:us-east-1:123456789012:notify-on-system-errors`. Para obtener más información, consulte [Configuración de Amazon Simple Notification Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html).

1. Cree la alarma.

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name SystemErrorsAlarm \
       --alarm-description "Alarm when system errors occur" \
       --namespace AWS/DynamoDB \
       --metric-name SystemErrors \
       --dimensions Name=TableName,Value=myTable Name=Operation,Value=aDynamoDBOperation \
       --statistic Sum \
       --threshold 0 \
       --comparison-operator GreaterThanThreshold \
       --period 60 \
       --unit Count \
       --evaluation-periods 1 \
       --treat-missing-data breaching \
       --alarm-actions arn:aws:sns:us-east-1:123456789012:notify-on-system-errors
   ```

1. Pruebe la alarma.

   ```
   aws cloudwatch set-alarm-state --alarm-name SystemErrorsAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name SystemErrorsAlarm --state-reason "initializing" --state-value ALARM
   ```