Registos na Base de Dados do Azure para PostgreSQL – Servidor Único

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL - Servidor Único está no caminho da desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único PostgreSQL?.

O Banco de Dados do Azure para PostgreSQL permite configurar e acessar os logs padrão do Postgres. Os registos podem ser utilizados para identificar, resolver problemas e corrigir erros de configuração e de desempenho abaixo do ideal. As informações de registro que você pode configurar e acessar incluem erros, informações de consulta, registros de vácuo automático, conexões e pontos de verificação. (O acesso aos logs de transações não está disponível).

O log de auditoria é disponibilizado por meio de uma extensão PostgreSQL, pgaudit. Para saber mais, visite o artigo Conceitos de auditoria.

Configurar registo

Você pode configurar o log padrão do Postgres em seu servidor usando os parâmetros do servidor de log. Em cada Banco de Dados do Azure para servidor log_checkpoints PostgreSQL e log_connections estão ativados por padrão. Há parâmetros adicionais que você pode ajustar para atender às suas necessidades de registro:

Banco de Dados do Azure para PostgreSQL - Parâmetros de log

Para saber mais sobre os parâmetros de log do Postgres, visite as seções Quando registrar e O que registrar da documentação do Postgres. A maioria, mas não todos, os parâmetros de log do Postgres estão disponíveis para configuração no Banco de Dados do Azure para PostgreSQL.

Para saber como configurar parâmetros no Banco de Dados do Azure para PostgreSQL, consulte a documentação do portal ou a documentação da CLI.

Nota

A configuração de um grande volume de logs, por exemplo, o registro de instruções, pode adicionar uma sobrecarga de desempenho significativa.

Aceder a ficheiros .log

O formato de log padrão no Banco de Dados do Azure para PostgreSQL é .log. Uma linha de exemplo deste log se parece com:

2019-10-14 17:00:03 UTC-5d773cc3.3c-LOG: connection received: host=101.0.0.6 port=34331 pid=16216

O Banco de Dados do Azure para PostgreSQL fornece um local de armazenamento de curto prazo para os arquivos .log. Um novo arquivo começa a cada 1 hora ou 100 MB, o que ocorrer primeiro. Os logs são anexados ao arquivo atual à medida que são emitidos pelo Postgres.

Você pode definir o período de retenção para esse armazenamento de log de curto prazo usando o log_retention_period parâmetro. O valor predefinido é de três dias; o valor máximo é de sete dias. O local de armazenamento de curto prazo pode armazenar até 1 GB de arquivos de log. Após 1 GB, os arquivos mais antigos, independentemente do período de retenção, serão excluídos para abrir espaço para novos logs.

Para retenção de longo prazo de logs e análise de logs, você pode baixar os arquivos .log e movê-los para um serviço de terceiros. Você pode baixar os arquivos usando o portal do Azure, CLI do Azure. Como alternativa, você pode definir as configurações de diagnóstico do Azure Monitor que emitem automaticamente seus logs (no formato JSON) para locais de longo prazo. Saiba mais sobre essa opção na seção abaixo.

Você pode parar de gerar arquivos .log definindo o parâmetro logging_collector como OFF. Desativar .log geração de arquivos é recomendado se você estiver usando as configurações de diagnóstico do Azure Monitor. Essa configuração reduzirá o impacto no desempenho de logs adicionais.

Nota

Reinicie o servidor para aplicar esta alteração.

Registos do recurso

O Banco de Dados do Azure para PostgreSQL é integrado às configurações de diagnóstico do Azure Monitor. As configurações de diagnóstico permitem que você envie seus logs do Postgres no formato JSON para Logs do Azure Monitor para análise e alertas, Hubs de Eventos para streaming e Armazenamento do Azure para arquivamento.

Importante

Esse recurso de diagnóstico para logs do servidor só está disponível nas camadas de preços de uso geral e memória otimizada.

Configurar definições de diagnóstico

Você pode habilitar as configurações de diagnóstico para seu servidor Postgres usando o portal do Azure, a CLI, A API REST e o PowerShell. A categoria de log a ser selecionada é PostgreSQLLogs. (Existem outros logs que você pode configurar se estiver usando Repositório de Consultas.)

Para habilitar logs de recursos usando o portal do Azure:

  1. No portal, vá para Configurações de diagnóstico no menu de navegação do seu servidor Postgres.
  2. Selecione Adicionar configuração de diagnóstico.
  3. Nomeie essa configuração.
  4. Selecione seu endpoint preferido (conta de armazenamento, hub de eventos, análise de log).
  5. Selecione o tipo de log PostgreSQL Server Logs.
  6. Salve sua configuração.

Para habilitar logs de recursos usando PowerShell, CLI ou API REST, visite o artigo de configurações de diagnóstico.

Acessar logs de recursos

A maneira como você acessa os logs depende de qual ponto de extremidade você escolher. Para o Armazenamento do Azure, consulte o artigo da conta de armazenamento de logs. Para Hubs de Eventos, consulte o artigo de logs do Azure de fluxo.

Para os Logs do Azure Monitor, os logs são enviados para o espaço de trabalho selecionado. Os logs do Postgres usam o modo de coleta AzureDiagnostics , para que possam ser consultados a partir da tabela AzureDiagnostics. Os campos na tabela são descritos abaixo. Saiba mais sobre consultas e alertas na visão geral da consulta Logs do Azure Monitor.

A seguir estão as consultas que você pode tentar para começar. Você pode configurar alertas com base em consultas.

Pesquise todos os logs do Postgres para um determinado servidor no último dia

AzureDiagnostics
| where LogicalServerName_s == "myservername"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d) 

Pesquisar todas as tentativas de conexão não-localhost

AzureDiagnostics
| where Message contains "connection received" and Message !contains "host=127.0.0.1"
| where Category == "PostgreSQLLogs" and TimeGenerated > ago(6h)

A consulta acima mostrará os resultados das últimas 6 horas para qualquer log do servidor Postgres neste espaço de trabalho.

Formato de registo

A tabela a seguir descreve os campos para o tipo PostgreSQLLogs . Dependendo do ponto de extremidade de saída escolhido, os campos incluídos e a ordem em que aparecem podem variar.

Campo Descrição
TenantId O seu ID de inquilino
SourceSystem Azure
TimeGenerated [UTC] Carimbo de data/hora quando o log foi gravado em UTC
Type Tipo de log. Sempre AzureDiagnostics
SubscriptionId GUID para a assinatura à qual o servidor pertence
ResourceGroup Nome do grupo de recursos ao qual o servidor pertence
ResourceProvider Nome do provedor de recursos. Sempre MICROSOFT.DBFORPOSTGRESQL
ResourceType Servers
ResourceId URI do recurso
Recurso Nome do servidor
Categoria PostgreSQLLogs
OperationName LogEvent
errorLevel Nível de registo, exemplo: LOG, ERROR, NOTICE
Mensagem Mensagem de log principal
Domínio Versão do servidor, exemplo: postgres-10
Detalhes Mensagem de registo secundária (se aplicável)
ColumnName Nome da coluna (se aplicável)
SchemaName Nome do esquema (se aplicável)
DatatypeName Nome do tipo de dados (se aplicável)
LogicalServerName Nome do servidor
_ResourceId URI do recurso
Prefixo Prefixo da linha de log

Próximos passos