Publicar logs do Amazon Aurora MySQL no Amazon CloudWatch Logs - Amazon Aurora

Publicar logs do Amazon Aurora MySQL no Amazon CloudWatch Logs

É possível configurar seu cluster de banco de dados do Aurora MySQL para publicar dados de logs gerais, lentos, de auditoria e de erros em um grupo de logs 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.

Para publicar logs no CloudWatch Logs, os respectivos registros devem estar ativados. Os logs de erro estão ativados por padrão, mas é necessário ativar outros tipos de logs explicitamente. Para obter informações sobre como habilitar logs no MySQL, consulte Selecionar destinos de resultados de logs de consultas gerais e de consultas lentas na documentação do MySQL. Para obter mais informações sobre como habilitar logs de auditoria do Aurora MySQL, consulte Como habilitar a Auditoria avançada.

nota

Esteja ciente do seguinte:

  • Não é possível publicar logs do CloudWatch Logs na região China (Ningxia).

  • Se a exportação de dados de log estiver desativada, o Aurora não excluirá grupos de logs existentes nem fluxos de logs. Se a exportação de dados de log estiver desativada, os dados de log existentes permanecem disponíveis no CloudWatch Logs, dependendo da retenção de log, e você ainda será cobrado por dados de log de auditoria armazenados. Você pode excluir fluxos de log e grupos de logs usando o console do CloudWatch Logs, a AWS CLI ou a API do CloudWatch Logs.

  • Uma maneira alternativa de publicar logs de auditoria no CloudWatch Logs é ativando a auditoria avançada e definindo o parâmetro de banco de dados no nível do cluster server_audit_logs_upload como 1. O padrão do parâmetro server_audit_logs_upload é 0.

    Se usar esse método alternativo, você deverá tem uma função do IAM para acessar o CloudWatch Logs e definir o parâmetro aws_default_logs_role em nível de cluster como o ARN para essa função. Para obter informações sobre como criar a função do , consulte Configurar funções do IAM para acessar outros produtos da AWS. Contudo, se você tiver a função AWSServiceRoleForRDS vinculada ao serviço, ela fornecerá acesso ao CloudWatch Logs e substituirá todas as funções personalizadas. Para obter informações sobre funções vinculadas ao serviço do Amazon RDS, consulte Usar funções vinculadas ao serviço do Amazon Aurora.

  • Se você não quiser exportar logs de auditoria para o CloudWatch Logs, certifique-se de que todos os métodos de exportação de logs de auditoria estejam desativados. Estes métodos são o AWS Management Console, a AWS CLI, a API do RDS e o parâmetro server_audit_logs_upload.

  • O procedimento é um pouco diferente para clusters do Aurora Serverless em comparação a clusters provisionados. Os clusters sem servidor fazem upload automaticamente de todos os tipos de log que você habilita por meio dos parâmetros de configuração. Portanto, você habilita ou desabilita o upload de logs para clusters sem servidor ativando e desativando diferentes tipos de log no grupo de parâmetros do cluster de banco de dados. Você não modifica as configurações do cluster por meio do AWS Management Console, da AWS CLI ou da API do RDS. Para obter informações sobre como habilitar os logs do MySQL para clusters sem servidor, consulte Grupos de parâmetros e Aurora Serverless v1.

Você pode publicar logs do Aurora MySQL para clusters provisionados no CloudWatch Logs com o console.

Para publicar logs do Aurora MySQL a partir do 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).

  3. Selecione o cluster de banco de dados do Aurora MySQL no qual deseja publicar dados de log.

  4. Selecione Modify.

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

  6. Escolha Continue (Continuar) e depois escolha Modify DB Cluster (Modificar cluster de banco de dados) na página de resumo.

É possível publicar logs do Aurora MySQL para clusters provisionados com a AWS CLI. Você pode executar o comando modify-db-cluster da AWS CLI com as seguintes opções:

  • --db-cluster-identifier—O identificador de cluster de banco de dados.

  • --cloudwatch-logs-export-configuration — a definição de configuração para os tipos de log a serem habilitados para exportação para o CloudWatch Logs para cluster de banco de dados.

Também é possível publicar logs do Aurora MySQL executando um dos seguintes comandos da AWS CLI:

Execute um destes comandos da AWS CLI com as seguintes opções:

  • --db-cluster-identifier—O identificador de cluster de banco de dados.

  • --engine — o mecanismo de banco de dados.

  • --enable-cloudwatch-logs-exports — a definição de configuração para os tipos de log a serem habilitados para exportação para o CloudWatch Logs para cluster de banco de dados.

Outras opções podem ser exigidas dependendo do comando da AWS CLI que você executa.

O comando a seguir altera um cluster existente do banco de dados do Aurora MySQL para publicar arquivos de log no CloudWatch Logs.

Para Linux, macOS ou Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","general","slowquery","audit"]}'

Para Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","general","slowquery","audit"]}'

O comando a seguir cria um cluster de banco de dados do Aurora MySQL para publicar arquivos de log no CloudWatch Logs.

Para Linux, macOS ou Unix:

aws rds create-db-cluster \ --db-cluster-identifier mydbcluster \ --engine aurora \ --enable-cloudwatch-logs-exports '["error","general","slowquery","audit"]'

Para Windows:

aws rds create-db-cluster ^ --db-cluster-identifier mydbcluster ^ --engine aurora ^ --enable-cloudwatch-logs-exports '["error","general","slowquery","audit"]'

É possível publicar logs do Aurora MySQL para clusters provisionados com a API do RDS. Para fazer isso, execute a operação ModifyDBCluster com as seguintes opções:

  • DBClusterIdentifier—O identificador de cluster de banco de dados.

  • CloudwatchLogsExportConfiguration — a definição de configuração para os tipos de log a serem habilitados para exportação para o CloudWatch Logs para cluster de banco de dados.

Também é possível publicar logs do Aurora MySQL com a API do RDS executando uma das seguintes operações da API do RDS:

Execute a operação da API do RDS com os seguintes parâmetros:

  • DBClusterIdentifier—O identificador de cluster de banco de dados.

  • Engine — o mecanismo de banco de dados.

  • EnableCloudwatchLogsExports — a definição de configuração para os tipos de log a serem habilitados para exportação para o CloudWatch Logs para cluster de banco de dados.

Outros parâmetros podem ser exigidos dependendo do comando da AWS CLI que você executa.

Monitorar eventos de log no Amazon CloudWatch

Depois de habilitar os eventos de log do Aurora MySQL, é possível monitorá-los no Amazon CloudWatch Logs. Um novo grupo de logs é criado automaticamente para o cluster de banco de dados do Aurora com o seguinte prefixo, em que cluster-name representa o nome do cluster de banco de dados e log_type representa o tipo de log.

/aws/rds/cluster/cluster-name/log_type

Por exemplo, se você configurar a função de exportação para incluir o log de consultas lentas em um cluster de banco de dados denominado mydbcluster, os dados de consultas lentas serão armazenados no grupo de logs /aws/rds/cluster/mydbcluster/slowquery.

Os eventos de todas as instâncias em seu cluster são enviadospara um grupo de log usando diferentes fluxos de log. O comportamento depende de qual das seguintes condições é verdadeira:

  • Um grupo de logs com o nome especificado já existe.

    O Aurora usará o grupo de logs existente para exportar dados de log para o cluster. Para criar grupos de log com períodos de retenção de log, filtros de métricas e acesso de clientes predefinidos, você pode usar a configuração automatizada como AWS CloudFormation.

  • Um grupo de logs com o nome especificado não existe.

    Quando uma entrada de log correspondente é detectada no arquivo de log da instância, o Aurora MySQL cria um novo grupo de logs no CloudWatch Logs automaticamente. O grupo de logs usa o período de retenção de log padrão de Never Expire (Nunca expira).

    Para alterar o período de retenção do log, use o console do CloudWatch Logs, a AWS CLI ou a API do CloudWatch Logs. Para obter mais informações sobre alteração de períodos de retenção de log no CloudWatch Logs, consulte Alterar a retenção do log de dados no CloudWatch Logs.

Para pesquisar informações nos eventos de log para um cluster de banco de dados, use o console do CloudWatch Logs, a AWS CLI ou a API do CloudWatch Logs. Para obter mais informações sobre como procurar e filtrar dados de log, consulte Procurar e filtrar dados de log.