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 |
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-identifier
mydbinstance
\ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
Para Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --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-identifier
mydbinstance
\ --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \ --db-instance-classdb.m4.large
\ --engineMySQL
Para Windows:
aws rds create-db-instance ^ --db-instance-identifier
mydbinstance
^ --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.