

# Monitoreo de la replicación de lectura
<a name="USER_ReadRepl.Monitoring"></a>

Puede monitorear el estado de una réplica de lectura de varias formas. La consola de Amazon RDS muestra el estado de una réplica de lectura en la sección **Replicación** de la pestaña **Conectividad y seguridad**, en los detalles de la réplica de lectura. Para ver los detalles de una réplica de lectura, elija el nombre de la réplica de lectura en la lista de instancias de base de datos en la consola de Amazon RDS.

![\[Estado de la réplica de lectura\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/ReadReplicaStatus.png)


También puede ver el estado de una réplica de lectura con el comando `describe-db-instances` de la AWS CLI o la operación `DescribeDBInstances` de la API de Amazon RDS.

El estado de una réplica de lectura puede ser uno de los siguientes:
+ ****replicating (replicando)**:** la réplica de lectura se está replicando correctamente.
+ ****Replicación degradada** (solo SQL Server y PostgreSQL):** las réplicas reciben datos de la instancia principal, pero una o más bases de datos no están recibiendo actualizaciones. Esto puede ocurrir, por ejemplo, cuando una réplica se encuentra en el proceso de configuración de las bases de datos recién creadas. También puede ocurrir cuando se realizan cambios en objetos grandes o en DDL no compatibles en el entorno azul de una implementación azul/verde.

  El estado no pasa de `replication degraded` a `error`, a menos que se produzca un error durante el estado degradado.
+ ****error**:** se ha producido un error durante la replicación. Compruebe el campo **Replication Error (Error de replicación)** en la consola de Amazon RDS o el registro de eventos para determinar el error exacto. Para obtener más información acerca de resolución de problemas de replicación, consulte [Solución de problemas de réplicas de lectura de MySQL](USER_ReadRepl.Troubleshooting.md).
+ ****terminated (terminada)** (solo MariaDB, MySQL o PostgreSQL):** la replicación se ha terminado. Esto sucede si la replicación se ha detenido durante más de 30 días consecutivos, ya sea manualmente o por un error de replicación. En ese caso, Amazon RDS termina la reproducción entre la instancia de base de datos primaria y todas las réplicas de lectura. Amazon RDS realiza ese procedimiento para impedir que aumenten los requisitos de almacenamiento en la instancia de base de datos de origen y que se incrementen los tiempos de conmutación por error.

  La replicación no completada puede afectar al almacenamiento, ya que los registros pueden aumentar en tamaño y en número debido al alto volumen de mensajes de error que se escriben en el registro. La replicación no completada puede afectar también a la recuperación de errores debido al tiempo que Amazon RDS necesita para mantener y procesar el elevado número de registros durante la recuperación.
+ ****terminated** (terminado) (solo Oracle)**: la replicación ha terminado. Esto sucede si la replicación se ha detenido durante más de 8 horas por no haber suficiente espacio de almacenamiento en la réplica de lectura. En ese caso, Amazon RDS termina la replicación entre la instancia de base de datos primaria y la réplica de lectura afectada. Este estado es terminal y la réplica leída debe volver a crearse.
+ ****stopped (detenida)** (solo MariaDB or MySQL):** la replicación se ha detenido a petición de un cliente.
+ ****replication stop point set (punto de detención de replicación establecidoI)** (solo MySQL):** se ha establecido un punto de detención iniciado por el cliente con el procedimiento almacenado [mysql.rds\$1start\$1replication\$1until ](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until) y la replicación se encuentra en curso.
+ ****replication stop point reached (punto de detención de replicación alcanzado)** (solo MySQL):** se ha establecido un punto de detención iniciado por el cliente con el procedimiento almacenado [mysql.rds\$1start\$1replication\$1until ](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until) y la replicación se ha detenido porque se ha llegado al punto de detención.

Puede ver dónde se está replicando una instancia de base de datos y, si es así, comprobar su estado de replicación. En la página **Bases** de datos de la consola de RDS, muestra **Principal** en la columna **Rol** . Elija su nombre de instancia de base de datos. En su página de detalles, en la ficha **Conectividad y seguridad** , su estado de replicación se encuentra en **Replicación**.

## Monitoreo de retraso de la replicación
<a name="USER_ReadRepl.Monitoring.Lag"></a>

Puede monitorizar el retardo de replicación en Amazon CloudWatch mediante la visualización de la métrica `ReplicaLag` de Amazon RDS.

Para Db2, la métrica `ReplicaLag` es el retardo máximo de las bases de datos que se han retrasado, en segundos. Por ejemplo, si tiene dos bases de datos que se retrasan 5 segundos y 10 segundos, respectivamente, entonces `ReplicaLag` es 10 segundos. Las bases de datos sin estados de recuperación ante desastres de alta disponibilidad (HADR) disponibles no se incluyen en el cálculo.

Para MariaDB y MySQL, la métrica `ReplicaLag` indica el valor del campo de `Seconds_Behind_Master` del comando `SHOW REPLICA STATUS`. Los motivos comunes de retardo de la replicación para MySQL y MariaDB son los siguientes:
+ Una interrupción de la red.
+ Escritura en tablas con índices en una réplica de lectura. Si el parámetro `read_only` no se ha establecido en 0 en la réplica de lectura, puede interrumpirse la replicación.
+ Uso de un motor de almacenamiento no transaccional como MyISAM. La replicación solo se admite para el motor de almacenamiento InnoDB en MySQL y el motor de almacenamiento XtraDB en MariaDB.

**nota**  
Versiones anteriores de MariaDB utilizaban `SHOW SLAVE STATUS` en lugar de `SHOW REPLICA STATUS`. Si usa una versión de MariaDB anterior a la 10.5, utilice `SHOW SLAVE STATUS`.

Cuando la métrica `ReplicaLag` llegue a 0, la réplica estará funcionando al mismo ritmo que la instancia de base de datos principal. Si la métrica `ReplicaLag` devuelve `-1`, la replicación no está activa. `ReplicaLag = -1` es equivalente a `Seconds_Behind_Master = NULL`.

En Oracle, la métrica `ReplicaLag` es la suma del valor `Apply Lag` y la diferencia entre la hora actual y el valor de `DATUM_TIME` del retraso de aplicación. El valor `DATUM_TIME` es la última hora en la que la réplica de lectura recibió datos de su instancia de base de datos de origen. Para obtener más información, consulte [ V\$1DATAGUARD\$1STATS](https://docs.oracle.com/database/121/REFRN/GUID-B346DD88-3F5E-4F16-9DEE-2FDE62B1ABF7.htm#REFRN30413) en la documentación de Oracle.

Para SQL Server, la métrica `ReplicaLag` es el retraso máximo de las bases de datos que se han retrasado, en segundos. Por ejemplo, si tiene dos bases de datos que se retrasan 5 segundos y 10 segundos, respectivamente, entonces `ReplicaLag` son 10 segundos. La métrica `ReplicaLag` devuelve el valor de la siguiente consulta.

```
SELECT MAX(secondary_lag_seconds) max_lag FROM sys.dm_hadr_database_replica_states;
```

Para obtener más información, consulte [secondary\$1lag\$1seconds](https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-hadr-database-replica-states-transact-sql) en la documentación de Microsoft.

`ReplicaLag` devuelve `-1` si RDS no puede determinar el retraso, como durante la configuración de la réplica, o cuando la réplica de lectura está en el estado `error`.

**nota**  
Las nuevas bases de datos no se incluyen en el cálculo del retraso hasta que estén accesibles en la réplica de lectura.

Para PostgreSQL, la métrica `ReplicaLag` devuelve el valor de la siguiente consulta.

```
SELECT extract(epoch from now() - pg_last_xact_replay_timestamp()) AS reader_lag
```

Las versiones 9.5.2 y más recientes de PostgreSQL utilizan ranuras de replicación física para administrar la retención del registro de escritura previa (WAL) en la instancia de origen. Para cada instancia de réplica de lectura entre regiones, Amazon RDS crea una ranura de replicación física y la asocia con la instancia. Dos métricas de Amazon CloudWatch, `Oldest Replication Slot Lag` y `Transaction Logs Disk Usage`, muestran el retardo de la réplica con más retraso en términos de datos de WAL recibidos y la cantidad de almacenamiento que se está usando para los datos de WAL. El valor de `Transaction Logs Disk Usage` puede aumentar sustancialmente cuando una réplica de lectura entre regiones tiene mucho retraso.

Para obtener más información acerca de la monitorización de una instancia de base de datos con CloudWatch, consulte [Supervisión de métricas de Amazon RDS con Amazon CloudWatch](monitoring-cloudwatch.md).