Publicação de logs do MySQL no Amazon CloudWatch Logs
Você pode configurar sua instância de banco de dados MySQL para publicar dados de log em um grupo de log no Amazon CloudWatch Logs. Com o CloudWatch Logs, você pode executar análise em tempo real de dados de log e usar o CloudWatch para criar alarmes e visualizar métricas. Você pode usar o CloudWatch Logs para armazenar seus registros de log em armazenamento resiliente.
O Amazon RDS publica cada log de banco de dados MySQL como um fluxo separado de banco de dados no grupo de logs. Por exemplo, se você configurar a função de exportação para incluir o log de consultas lentas, os dados de consultas lentas serão armazenados em um fluxo de log de consultas lentas no grupo de logs /aws/rds/instance/. my_instance/slowquery
O log de erros está habilitado por padrão. A tabela a seguir resume os requisitos de outros logs do MySQL.
| Log | Requisito |
|---|---|
|
Log de auditoria |
A instância de banco de dados deve usar um grupo de opções personalizado com a opção |
|
Log geral |
A instância de banco de dados deve usar um grupo de parâmetros personalizado com a configuração de parâmetro |
|
Log de consultas lentas |
A instância de banco de dados deve usar um grupo de parâmetros personalizado com a configuração de parâmetro |
|
Log de erros de autenticação de banco de dados do IAM |
Você deve habilitar o tipo de log |
|
Resultado de saída do log |
A instância de banco de dados deve usar um grupo de parâmetros personalizado com a configuração de parâmetro |
Para publicar logs do MySQL no CloudWatch Logs usando o console
Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No painel de navegação, escolha Databases (Bancos de dados) e a instância de banco de dados que você deseja modificar.
-
Selecione Modify.
-
Na seção Log exports (Exportações de log), escolha os logs que deseja começar a publicar no CloudWatch Logs.
-
Escolha Continue (Continuar) e depois escolha Modify DB Instance (Modificar instância de banco de dados) na página de resumo.
Você pode publicar logs do MySQL com o AWS CLI. Você pode chamar o comando modify-db-instance com os seguintes parâmetros:
-
--db-instance-identifier -
--cloudwatch-logs-export-configuration
nota
Uma alteração feita na opção --cloudwatch-logs-export-configuration sempre é aplicada imediatamente na instância de banco de dados. Por isso, as opções --apply-immediately e --no-apply-immediately não entram em vigor.
Também é possível publicar logs do MySQL chamando os seguintes comandos AWS CLI:
Execute um destes comandos da AWS CLI com as seguintes opções:
-
--db-instance-identifier -
--enable-cloudwatch-logs-exports -
--db-instance-class -
--engine
Outras opções podem ser obrigatórias, dependendo do comando da AWS CLI executado.
O exemplo a seguir altera uma instância de Banco de Dados MySQL existente para publicar os arquivos de log no CloudWatch Logs. O valor --cloudwatch-logs-export-configuration é um objeto JSON. A chave para esse objeto é EnableLogTypes, e seu valor é uma matriz de strings com qualquer combinação de audit, error, general e slowquery.
Para Linux, macOS ou Unix:
aws rds modify-db-instance \ --db-instance-identifiermydbinstance\ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
Para Windows:
aws rds modify-db-instance ^ --db-instance-identifiermydbinstance^ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
O exemplo a seguir cria uma instância de Banco de Dados MySQL e publica os arquivos de log no CloudWatch Logs. O valor --enable-cloudwatch-logs-exports é uma matriz de strings JSON. As strings podem ser qualquer combinação de audit, error, general e slowquery.
Para Linux, macOS ou Unix:
aws rds create-db-instance \ --db-instance-identifiermydbinstance\ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \ --db-instance-classdb.m4.large\ --engineMySQL
Para Windows:
aws rds create-db-instance ^ --db-instance-identifiermydbinstance^ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^ --db-instance-classdb.m4.large^ --engineMySQL
Você pode publicar logs do MySQL com a API da RDS. Você pode chamar a ação ModifyDBInstance com os seguintes parâmetros:
-
DBInstanceIdentifier -
CloudwatchLogsExportConfiguration
nota
Uma alteração feita no parâmetro CloudwatchLogsExportConfiguration sempre é aplicada imediatamente na instância de banco de dados. Por isso, o parâmetro ApplyImmediately não entra em vigor.
Também é possível publicar logs do MySQL chamando as seguintes operações da API do RDS:
Execute uma destas operações da API do RDS com os seguintes parâmetros:
-
DBInstanceIdentifier -
EnableCloudwatchLogsExports -
Engine -
DBInstanceClass
Outros parâmetros podem ser exigidos dependendo do comando AWS CLI que você executa.