Publicação de logs do MySQL no Amazon CloudWatch Logs - Amazon Relational Database Service

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 MARIADB_AUDIT_PLUGIN.

Log geral

A instância de banco de dados deve usar um grupo de parâmetros personalizado com a configuração de parâmetro general_log = 1 para habilitar o log geral.

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 slow_query_log = 1 para habilitar o log de consulta lenta.

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 log_output = FILE para gravar logs no sistema de arquivos e publicá-los no CloudWatch Logs.

Para publicar logs do MySQL no CloudWatch Logs usando o console
  1. Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados) e a instância de banco de dados que você deseja modificar.

  3. Selecione Modify.

  4. Na seção Log exports (Exportações de log), escolha os logs que deseja começar a publicar no CloudWatch Logs.

  5. 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-class db.m4.large \ --engine MySQL

Para Windows:

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

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.