Compartilhar via


Logs no Banco de Dados PostgreSQL do Azure

O Banco de Dados do Azure para PostgreSQL permite que você configure e acesse os logs padrão do Postgres. Esses logs podem ser usados para identificar, solucionar problemas e reparar erros de configuração e desempenho abaixo do ideal. As informações de registro em log 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 Postgres, pgaudit. Para saber mais, visite o artigo conceitos de auditoria.

Configurar o registro em log

Você pode configurar o log padrão do Postgres no seu servidor usando os parâmetros de registro em log. Para saber mais sobre os parâmetros de log do Postgres, visite as seções Quando fazer um registro em log e O que registrar em log na 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.

Observação

Para configurar um alto volume de logs, você pode adicionar uma sobrecarga de desempenho significativa. Por exemplo, o registro de declarações pode afetar o desempenho.

Logs de acesso

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 enviar logs do PostgreSQL no formato JSON para os Logs do Azure Monitor para análise e alertas. Você também pode transmiti-los para Os Hubs de Eventos ou arquivar no Armazenamento do Azure.

Controle de acesso para logs

O acesso aos logs do servidor é controlado por meio do RBAC (Controle de Acesso Role-Based) do Azure. Qualquer função que forneça acesso de leitura ao servidor também permite baixar logs. Isso inclui funções internas, como:

  • Leitor
  • Leitor de monitoramento
  • Leitor de Log Analytics
  • Ou funções personalizadas equivalentes

Aviso

Os logs podem conter informações confidenciais, como credenciais, dependendo da configuração de log.

Política de Retenção de Dados e Preços

Para logs enviados aos Hubs de Eventos ou a uma Conta de Armazenamento, você pode configurar uma política de retenção para excluir automaticamente os dados após um determinado período. Os custos do Log Analytics dependem de dois fatores:

  • Ingestão de Dados: as cobranças são baseadas no volume de dados ingeridos no workspace.
  • Retenção de Dados: os logs armazenados no seu workspace do Log Analytics são mantidos gratuitamente nos primeiros 31 dias. Além desse período de retenção gratuita, há uma taxa para armazenar dados, calculados diariamente, com base na quantidade de dados (em GB) retidos a cada mês.

Para obter uma divisão dos custos associados à ingestão e retenção de dados, visite a página de preços do Azure Monitor.

Formato de log

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 na qual eles aparecem podem variar.

Campo Descrição
TenantId Sua ID de locatário
SourceSystem Azure
HoraGerada [UTC] Carimbo de data/hora quando o log foi gravado, em UTC
Tipo Tipo do log. Sempre AzureDiagnostics
SubscriptionId GUID para a assinatura a que o servidor pertence
ResourceGroup Nome do grupo de recursos ao qual o servidor pertence
ResourceProvider Nome do provedor de recursos. Sempre MICROSOFT.DBFORPOSTGRESQL
ResourceType FlexibleServers
ResourceId URI de recurso
Recurso Nome do servidor
Categoria PostgreSQLLogs
OperationName LogEvent
errorLevel_s Nível de log, exemplo: LOG, ERROR, NOTICE
processId_d ID do processo do back-end do PostgreSQL
sqlerrcode_s Código de erro postgreSQL que segue as convenções do padrão SQL para códigos SQLSTATE
Mensagem Mensagem de log primária
Detalhes Mensagem de log 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)
_ResourceId URI de recurso

Limitações conhecidas

  • Tamanho do evento de log: planos de consulta ou mensagens de log maiores que 65 KB não são capturados nos Logs do Azure Monitor. Esse é um limite do Azure Monitor em toda a plataforma. Como resultado, consultas complexas (por exemplo, aquelas que envolvem exibições aninhadas) podem gerar saída de plano de consulta incompleta ou ausente nos logs do servidor.
  • Outras Restrições: outros limites em toda a plataforma se aplicam aos Logs do Azure Monitor, como cotas de regra de alerta e tamanho do resultado da consulta. Para obter a lista completa, consulte a documentação de limites de serviço do Azure Monitor para obter detalhes.