Verificación del tiempo de actividad de clústeres e instancias de Aurora - Amazon Aurora

Verificación del tiempo de actividad de clústeres e instancias de Aurora

Puede verificar y monitorear el tiempo transcurrido desde el último reinicio de cada instancia de base de datos del clúster de Aurora. La métrica EngineUptime de Amazon CloudWatch informa el número de segundos transcurridos desde el último inicio de una instancia de base de datos. Puede examinar esta métrica en un momento dado para averiguar el tiempo de actividad de la instancia de base de datos. También puede monitorear esta métrica a lo largo del tiempo para detectar cuándo se reinicia la instancia.

También puede examinar la métrica EngineUptime a nivel de clúster. Las dimensiones Minimum y Maximum indican los valores de tiempo de actividad máximos y mínimos de todas las instancias de base de datos del clúster. Para verificar la última vez en que se reinició cualquier instancia del lector de un clúster normalmente o por otro motivo, monitoree la métrica de nivel de clúster mediante la dimensión Minimum. Para verificar qué instancia del clúster duró más tiempo sin reiniciarse, monitoree la métrica de nivel de clúster mediante la dimensión Maximum. Por ejemplo, puede que desee confirmar que todas las instancias de base de datos del clúster se reiniciaron tras un cambio de configuración.

sugerencia

Para el monitoreo a largo plazo, recomendamos controlar la métrica EngineUptime de instancias individuales, en lugar de hacerlo a nivel del clúster. La métrica a nivel del clúster EngineUptime se establece en cero cuando se agrega una nueva instancia de base de datos al clúster. Estos cambios del clúster pueden ser parte de las operaciones de mantenimiento y escalado, como las realizadas por Auto Scaling.

En los siguientes ejemplos de la CLI, se muestra cómo examinar la métrica EngineUptime de las instancias del escritor y del lector de un clúster. En los ejemplos, se utiliza un clúster denominado tpch100g. Este clúster tiene una instancia de base de datos del escritor instance-1234. También tiene dos instancias de base de datos del lector: instance-7448 y instance-6305.

En primer lugar, el comando reboot-db-instance reinicia una de las instancias del lector. El comando wait espera que la instancia termine de reiniciarse.

$ aws rds reboot-db-instance --db-instance-identifier instance-6305 { "DBInstance": { "DBInstanceIdentifier": "instance-6305", "DBInstanceStatus": "rebooting", ... $ aws rds wait db-instance-available --db-instance-id instance-6305

El comando get-metric-statistics de CloudWatch examina la métrica EngineUptime durante los últimos cinco minutos en intervalos de un minuto. El tiempo de actividad de la instancia instance-6305 se restablece a cero y vuelve a contar hacia arriba. En este ejemplo de la AWS CLI de Linux, se utiliza la sustitución de variables $() para insertar las marcas de tiempo apropiadas en los comandos de la CLI. También se utiliza el comando sort de Linux para ordenar la salida en el momento en que se recopila la métrica. Ese valor de marca de tiempo es el tercer campo de cada línea de salida.

$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \ --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \ --period 60 --namespace "AWS/RDS" --statistics Maximum \ --dimensions Name=DBInstanceIdentifier,Value=instance-6305 --output text \ | sort -k 3 EngineUptime DATAPOINTS 231.0 2021-03-16T18:19:00+00:00 Seconds DATAPOINTS 291.0 2021-03-16T18:20:00+00:00 Seconds DATAPOINTS 351.0 2021-03-16T18:21:00+00:00 Seconds DATAPOINTS 411.0 2021-03-16T18:22:00+00:00 Seconds DATAPOINTS 471.0 2021-03-16T18:23:00+00:00 Seconds

El tiempo de actividad mínimo del clúster se restablece a cero porque se reinició una de las instancias del clúster. El tiempo de actividad máximo del clúster no se restablece porque al menos una de las instancias de base de datos del clúster permaneció disponible.

$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \ --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \ --period 60 --namespace "AWS/RDS" --statistics Minimum \ --dimensions Name=DBClusterIdentifier,Value=tpch100g --output text \ | sort -k 3 EngineUptime DATAPOINTS 63099.0 2021-03-16T18:12:00+00:00 Seconds DATAPOINTS 63159.0 2021-03-16T18:13:00+00:00 Seconds DATAPOINTS 63219.0 2021-03-16T18:14:00+00:00 Seconds DATAPOINTS 63279.0 2021-03-16T18:15:00+00:00 Seconds DATAPOINTS 51.0 2021-03-16T18:16:00+00:00 Seconds $ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \ --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \ --period 60 --namespace "AWS/RDS" --statistics Maximum \ --dimensions Name=DBClusterIdentifier,Value=tpch100g --output text \ | sort -k 3 EngineUptime DATAPOINTS 63389.0 2021-03-16T18:16:00+00:00 Seconds DATAPOINTS 63449.0 2021-03-16T18:17:00+00:00 Seconds DATAPOINTS 63509.0 2021-03-16T18:18:00+00:00 Seconds DATAPOINTS 63569.0 2021-03-16T18:19:00+00:00 Seconds DATAPOINTS 63629.0 2021-03-16T18:20:00+00:00 Seconds

A continuación, otro comando reboot-db-instance reinicia la instancia del escritor del clúster. Otro comando wait realiza una pausa hasta que la instancia del escritor termine de reiniciarse.

$ aws rds reboot-db-instance --db-instance-identifier instance-1234 { "DBInstanceIdentifier": "instance-1234", "DBInstanceStatus": "rebooting", ... $ aws rds wait db-instance-available --db-instance-id instance-1234

Ahora, la métrica EngineUptime de la instancia del escritor muestra que la instancia instance-1234 se reinició recientemente. La instancia del lector instance-6305 también se reinició automáticamente junto con la instancia del escritor. Este clúster ejecuta la versión 2.09 de Aurora MySQL, lo que no mantiene las instancias del lector en ejecución mientras se reinicia la instancia del escritor.

$ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \ --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \ --period 60 --namespace "AWS/RDS" --statistics Maximum \ --dimensions Name=DBInstanceIdentifier,Value=instance-1234 --output text \ | sort -k 3 EngineUptime DATAPOINTS 63749.0 2021-03-16T18:22:00+00:00 Seconds DATAPOINTS 63809.0 2021-03-16T18:23:00+00:00 Seconds DATAPOINTS 63869.0 2021-03-16T18:24:00+00:00 Seconds DATAPOINTS 41.0 2021-03-16T18:25:00+00:00 Seconds DATAPOINTS 101.0 2021-03-16T18:26:00+00:00 Seconds $ aws cloudwatch get-metric-statistics --metric-name "EngineUptime" \ --start-time "$(date -d '5 minutes ago')" --end-time "$(date -d 'now')" \ --period 60 --namespace "AWS/RDS" --statistics Maximum \ --dimensions Name=DBInstanceIdentifier,Value=instance-6305 --output text \ | sort -k 3 EngineUptime DATAPOINTS 411.0 2021-03-16T18:22:00+00:00 Seconds DATAPOINTS 471.0 2021-03-16T18:23:00+00:00 Seconds DATAPOINTS 531.0 2021-03-16T18:24:00+00:00 Seconds DATAPOINTS 49.0 2021-03-16T18:26:00+00:00 Seconds