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

Publicar logs do Aurora PostgreSQL no Amazon CloudWatch Logs

É possível configurar seu cluster de bancos de dados do Aurora PostgreSQL para exportar dados de log para o Amazon CloudWatch Logs regularmente. Quando você faz isso, os eventos do log do PostgreSQL do seu cluster de banco de dados do Aurora PostgreSQL são automaticamente publicados no Amazon CloudWatch, na forma de logs do Amazon CloudWatch. No CloudWatch, você pode encontrar os dados de logs exportados em um grupo de logs para o seu cluster de banco de dados do Aurora PostgreSQL. O grupo de logs contém um ou mais fluxos de logs que contêm os eventos do log do PostgreSQL de cada instância no cluster.

A publicação dos logs no CloudWatch Logs permite que você mantenha os registros de log do PostgreSQL do seu cluster em armazenamento altamente durável. Com os dados de log disponíveis no CloudWatch Logs, você pode avaliar e melhorar as operações do seu cluster. Você também pode usar o CloudWatch para criar alarmes e visualizar métricas. Para saber mais, consulte Monitorar eventos de log no Amazon CloudWatch.

nota

A publicação de logs do PostgreSQL no CloudWatch Logs consome armazenamento, e você incorre em cobranças por esse armazenamento. Se não precisar mais de algum log do CloudWatch, lembre-se de excluí-lo.

Desativar a opção de log de exportação para um cluster de banco de dados do Aurora PostgreSQL existente não afetará nenhum dado que já esteja armazenado no CloudWatch Logs. Os logs existentes permanecem disponíveis no CloudWatch Logs com base nas suas configurações de retenção de logs. Para saber mais sobre o CloudWatch Logs, consulte O que é o Amazon CloudWatch Logs?

O Aurora PostgreSQL oferece suporte à publicação de logs no CloudWatch Logs para as seguintes versões.

  • 14.3 e versões 14 posteriores

  • versões 13.3 e posteriores à 13

  • 12.8 e versões 12 posteriores

  • Versão 11.12 e versões 11 posteriores

Ativar a opção de publicação de logs no Amazon CloudWatch

Para publicar um log do PostgreSQL do seu cluster de banco de dados do Aurora PostgreSQL no CloudWatch Logs, escolha a opção Log export (Exportação de logs) para o cluster. Você pode escolher a configuração Log export (Exportação de logs) ao criar um cluster de banco de dados do Aurora PostgreSQL. Ou você pode modificar o cluster posteriormente. Quando você modifica um cluster existente, seus logs do PostgreSQL de cada instância são publicados no cluster do CloudWatch a partir desse momento. Para o Aurora PostgreSQL, o log do PostgreSQL (postgresql.log) é o único log que é publicado no Amazon CloudWatch.

Você pode usar o AWS Management Console, a AWS CLI ou a API do RDS para ativar o recurso de exportação de logs para seu cluster de banco de dados do Aurora PostgreSQL.

Você escolhe a opção de exportação de logs para começar a publicar os logs do PostgreSQL do seu cluster de banco de dados do Aurora PostgreSQL no CloudWatch Logs.

Como ativar o recurso de exportação de logs pelo 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 PostgreSQL cujos dados de log você deseja publicar no CloudWatch Logs.

  4. Selecione Modify.

  5. Na seção Log exports (Exportações de log), selecione PostgreSQL log (Log do PostgreSQL).

  6. Escolha Continue (Continuar) e Modify cluster (Modificar cluster) na página de resumo.

Você pode ativar a opção de exportação de logs para começar a publicar logs do Aurora PostgreSQL no Amazon CloudWatch Logs com a AWS CLI. Para isso, execute 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 definidos para exportação no CloudWatch Logs para cluster de banco de dados.

Também é possível publicar logs do Aurora PostgreSQL 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 cria um cluster de banco de dados Aurora PostgreSQL para publicar arquivos de log no CloudWatch Logs.

Para Linux, macOS ou Unix:

aws rds create-db-cluster \ --db-cluster-identifier my-db-cluster \ --engine aurora-postgresql \ --enable-cloudwatch-logs-exports postgresql

Para Windows:

aws rds create-db-cluster ^ --db-cluster-identifier my-db-cluster ^ --engine aurora-postgresql ^ --enable-cloudwatch-logs-exports postgresql

O comando a seguir altera um cluster existente do banco de dados Aurora PostgreSQL para publicar arquivos de log no CloudWatch Logs. O valor --cloudwatch-logs-export-configuration é um objeto JSON. A chave para desse objeto é EnableLogTypes, e seu valor é postgresql.

Para Linux, macOS ou Unix:

aws rds modify-db-cluster \ --db-cluster-identifier my-db-cluster \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql"]}'

Para Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier my-db-cluster ^ --cloudwatch-logs-export-configuration '{\"EnableLogTypes\":[\"postgresql\"]}'
nota

Ao utilizar o prompt de comando do Windows, certifique-se de fazer o escape das aspas duplas (") no código JSON, prefixando-as com uma barra invertida (\).

O exemplo a seguir modifica um cluster de banco de dados Aurora PostgreSQL existente para desativar a publicação de arquivos de log no CloudWatch Logs. O valor --cloudwatch-logs-export-configuration é um objeto JSON. A chave para desse objeto é DisableLogTypes, e seu valor é postgresql.

Para Linux, macOS ou Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["postgresql"]}'

Para Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbinstance ^ --cloudwatch-logs-export-configuration "{\"DisableLogTypes\":[\"postgresql\"]}"
nota

Ao usar o prompt de comando do Windows, você deve fazer o escape das aspas duplas (") no código JSON, prefixando-as com uma barra invertida (\).

Você pode ativar a opção de exportação de logs para começar a publicar logs do Aurora PostgreSQL com a API do RDS. Para 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 no CloudWatch Logs para o cluster de banco de dados.

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

Execute a açã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

Com os eventos de logs do Aurora PostgreSQL publicados e disponíveis no Amazon CloudWatch Logs, você pode visualizar e monitorar os eventos usando o Amazon CloudWatch. Para obter mais informações sobre monitoramento, consulte Visualizar dados de log enviados para o CloudWatch Logs.

Quando você ativa as exportações de logs, um novo grupo de logs é criado automaticamente usando o prefixo /aws/rds/cluster/ com o nome do seu Aurora PostgreSQL e o tipo de log, como no padrão a seguir.

/aws/rds/cluster/your-cluster-name/postgresql

Como exemplo, suponha que um cluster de banco de dados do Aurora PostgreSQL chamado docs-lab-apg-small exporta seu log para o Amazon CloudWatch Logs. O nome do grupo de logs no Amazon CloudWatch é mostrado a seguir.

/aws/rds/cluster/docs-lab-apg-small/postgresql

Se já houver um grupo de logs com o nome especificado, o Aurora usará esse grupo para exportar dados de log para o cluster de banco de dados Aurora. Cada instância de banco de dados no cluster de banco de dados do Aurora PostgreSQL faz upload de seu log do PostgreSQL no grupo de logs como um fluxo de logs distinto. Você pode examinar o grupo de logs e seus fluxos de logs usando as várias ferramentas gráficas e analíticas disponíveis no Amazon CloudWatch.

Por exemplo, é possível pesquisar informações nos eventos de logs do seu cluster de banco de dados do Aurora PostgreSQL e filtrar os eventos usando o console do CloudWatch Logs, a AWS CLI ou a API do CloudWatch Logs. Para obter mais informações, consulte Pesquisar e filtrar dados de logs no Guia do usuário do Amazon CloudWatch Logs.

Por padrão, novos grupos de logs são criados usando a opção Never expire (Nunca expirar) para o período de retenção. Você pode usar o console do CloudWatch Logs, a AWS CLI ou a API do CloudWatch Logs para alterar o período de retenção de log. Para saber mais, consulte Alterar a retenção de dados de log no CloudWatch Logs no Guia do usuário do Amazon CloudWatch Logs.

dica

Você pode usar a configuração automática, como o AWS CloudFormation, para criar grupos de log com períodos de retenção de log predefinidos, filtros de métricas e permissões de acesso.

Analisar logs do PostgreSQL utilizando o CloudWatch Logs Insights

Com os logs do PostgreSQL do seu cluster de banco de dados do Aurora PostgreSQL publicados no CloudWatch Logs, você pode usar o CloudWatch Logs Insights para pesquisar e analisar dados de log de modo interativo no Amazon CloudWatch Logs. O CloudWatch Logs Insights inclui uma linguagem de consulta, exemplos de consultas e outras ferramentas para analisar dados de log com o intuito de identificar possíveis problemas e verificar as correções. Para saber mais, consulte Analisar dados de log no CloudWatch Logs Insights no Guia do usuário do Amazon CloudWatch Logs. Amazon CloudWatch Logs

Como analisar logs do PostgreSQL com o CloudWatch Logs Insights
  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, abra Logs e escolha Log insights.

  3. Em Select log group(s) (Selecionar grupos de logs), selecione o grupo de logs do seu cluster de banco de dados do Aurora PostgreSQL.

    
                        Escolha o grupo de logs do Aurora PostgreSQL.
  4. No editor de consultas, exclua a consulta atualmente visível, insira o seguinte e escolha Run query (Executar consulta).

    ##Autovacuum execution time in seconds per 5 minute fields @message | parse @message "elapsed: * s" as @duration_sec | filter @message like / automatic vacuum / | display @duration_sec | sort @timestamp | stats avg(@duration_sec) as avg_duration_sec, max(@duration_sec) as max_duration_sec by bin(5 min)
    
                        Consulta no editor de consultas.
  5. Escolha a guia Visualization (Visualização).

    
                        A guia Visualization (Visualização).
  6. Escolha Add to dashboard (Adicionar ao painel).

  7. Em Select a dashboard (Selecione um painel), selecione um painel ou insira um nome para criar um novo painel.

  8. Em Widget type (Tipo de widget), escolha um tipo de widget para a sua visualização.

    
                        O painel do .
  9. (Opcional) Adicione mais widgets com base nos resultados da sua consulta de log.

    1. Escolha Add widget (Adicionar widget).

    2. Escolha um tipo de widget, como Line (Linha).

      
                                Escolha um widget.
    3. Na janela Add to this dashboard (Adicionar a este painel), escolha Logs.

      
                                Adicione logs ao painel.
    4. Em Select log group(s) (Selecionar grupos de logs), selecione o grupo de logs do seu cluster de banco de dados.

    5. No editor de consultas, exclua a consulta atualmente visível, insira o seguinte e escolha Run query (Executar consulta).

      ##Autovacuum tuples statistics per 5 min fields @timestamp, @message | parse @message "tuples: " as @tuples_temp | parse @tuples_temp "* removed," as @tuples_removed | parse @tuples_temp "remain, * are dead but not yet removable, " as @tuples_not_removable | filter @message like / automatic vacuum / | sort @timestamp | stats avg(@tuples_removed) as avg_tuples_removed, avg(@tuples_not_removable) as avg_tuples_not_removable by bin(5 min)
      
                                Consulta no editor de consultas.
    6. Selecione Create widget (Criar widget).

      Seu painel deve ser semelhante à seguinte imagem.

      
                                Painel com dois gráficos.