

# Publicación de registros de MySQL en Amazon CloudWatch Logs
<a name="USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs"></a>

Se puede configurar una instancia de base de datos MySQL para publicar datos de registro en un grupo de registros en Amazon CloudWatch Logs. Con CloudWatch Logs, puede realizar análisis en tiempo real de los datos de registro y utilizar CloudWatch para crear alarmas y ver métricas. Puede utilizar CloudWatch Logs para almacenar los registros de registros en almacenamiento de larga duración. 

Amazon RDS publica cada registro de base de datos de MySQL como un flujo de base de datos independiente en el grupo de registros. Por ejemplo, si configura la función de exportación para que incluya el registro de consultas lentas, los datos de consultas lentas se almacenan en un flujo de registros de consultas lentas en el grupo de registros `/aws/rds/instance/my_instance/slowquery`. 

El registro de errores están habilitados de forma predeterminada. La tabla siguiente resume los requisitos para los otros registros de MySQL.


| Registro | Requisito | 
| --- | --- | 
|  Registro de auditoría  |  La instancia de base de datos debe usar un grupo de opciones personalizado con la opción `MARIADB_AUDIT_PLUGIN`.  | 
|  Registro general  |  La instancia de base de datos debe usar un grupo de parámetros personalizado con la configuración del parámetro `general_log = 1` para habilitar el registro general.  | 
|  Registro de consultas lentas  |  La instancia de base de datos debe usar un grupo de parámetros personalizado con la configuración del parámetro `slow_query_log = 1` para habilitar el registro de consultas lentas.  | 
|  Registro de errores de autenticación de base de datos de IAM  |  Debe habilitar el tipo de registro `iam-db-auth-error` para una instancia de base de datos mediante la creación o modificación de una instancia de base de datos.  | 
|  Resultado de registro  |  La instancia de base de datos debe usar un grupo de parámetros personalizado con la configuración del parámetro `log_output = FILE` para escribir registros en el sistema de archivos y publicarlos en CloudWatch Logs.  | 

## Consola
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.CON"></a>

**Para publicar registros de base de datos MySQL en CloudWatch Logs con la consola**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases (Bases de datos)** y, a continuación, seleccione la instancia de base de datos que desee modificar.

1. Elija **Modify**.

1. En la sección **Logs exports (Exportaciones de registros)**, elija los registros que desea comenzar a publicar en CloudWatch Logs.

1. Elija **Continue**, seguido de **Modify DB Instance** en la página de resumen.

## AWS CLI
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.CLI"></a>

 Puede publicar registros de MySQL con la AWS CLI. Puede llamar al comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con los parámetros siguientes: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**nota**  
Los cambios en la opción `--cloudwatch-logs-export-configuration` siempre se aplican a la instancia de base de datos inmediatamente. Por lo tanto, las opciones `--apply-immediately` y `--no-apply-immediately` no tienen ningún efecto.

También puede publicar registros de MySQL llamando a los siguientes comandos de AWS CLI: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Ejecute uno de estos comandos de la AWS CLI con las siguientes opciones: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Podrían ser necesarias otras opciones en función del comando de la AWS CLI que ejecute.

**Example**  
En el siguiente ejemplo se modifica una instancia de base de datos MySQL DB para publicar archivos de registro en CloudWatch Logs. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `EnableLogTypes` y su valor es una matriz de cadenas con cualquier combinación de `audit`, `error`, `general` y `slowquery`.  
Para Linux, macOS o Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```
Para Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```

**Example**  
En el siguiente ejemplo se crea una instancia de base de datos MySQL y se publican archivos de registro en CloudWatch Logs. El valor `--enable-cloudwatch-logs-exports` es una matriz de cadenas JSON. Las cadenas pueden ser cualquier combinación de `audit`, `error`, `general` y `slowquery`.  
Para Linux, macOS o Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \
4.     --db-instance-class db.m4.large \
5.     --engine MySQL
```
Para Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine MySQL
```

## API de RDS
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.API"></a>

Puede publicar registros de MySQL con la API de RDS. Puede llamar a la acción [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con los parámetros siguientes: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**nota**  
Los cambios en el parámetro `CloudwatchLogsExportConfiguration` siempre se aplican a la instancia de base de datos inmediatamente. Por tanto, el parámetro `ApplyImmediately` no tiene efecto.

También puede publicar registros de MySQL llamando a las siguientes operaciones de la API de RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Ejecute una de estas operaciones de la API de RDS con los siguientes parámetros: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Podrían ser necesarios otros parámetros en función del comando de la AWS CLI que ejecute.