Compartilhar via


Monitorar métricas no Banco de Dados do Azure para PostgreSQL

Monitorar os dados dos seus servidores ajuda a solucionar problemas e otimizar sua carga de trabalho. Sua instância de servidor Banco de Dados do Azure para PostgreSQL flexível fornece várias opções de monitoramento para fornecer informações sobre o desempenho do servidor.

Métricas

Banco de Dados do Azure para PostgreSQL fornece várias métricas que fornecem insights sobre o comportamento dos recursos que dão suporte à instância do servidor Banco de Dados do Azure para PostgreSQL flexível. Cada métrica é emitida em um intervalo de um minuto e tem até 93 dias de retenção. É possível configurar alertas nas métricas. Outras opções incluem a configuração de ações automatizadas, a realização de análises avançadas e o arquivamento do histórico. Para obter mais informações, consulte a visão geral Azure Metrics.

Observação

Embora as métricas sejam armazenadas por 93 dias, você só pode consultar (no bloco Métricas) um máximo de 30 dias de dados em qualquer gráfico. Caso veja um gráfico em branco ou se o gráfico exibe apenas parte dos dados de métrica, verifique se a diferença entre as datas de início e término no seletor de tempo não excede o intervalo de 30 dias. Após selecionar um intervalo de 30 dias, você pode deslocar o gráfico para visualizar toda a janela de retenção.

Métricas padrão

As seguintes métricas estão disponíveis para uma instância de servidor Banco de Dados do Azure para PostgreSQL flexível:

Nome de exibição ID da métrica Unidade Description Padrão: habilitada
Conexões ativas active_connections Contagem Número total de conexões com o servidor de banco de dados, incluindo todos os estados de conexão, como ativo, ocioso e outros, conforme visto na exibição pg_stat_activity. Essa figura representa a soma geral das conexões em todos os estados, sem distinguir entre estados específicos. Para obter uma análise detalhada em um estado específico, como conexões ativas, consulte a métrica "Sessões por estado". Yes
Armazenamento de Backup Utilizado backup_storage_used Bytes Quantidade de armazenamento de backup usado. Essa métrica representa a soma do armazenamento consumido por todos os backups completos, backups diferenciais e backups de log que o servidor retém com base no período de retenção de backup definido. A frequência dos backups é gerenciada pelo serviço. Para armazenamento com redundância geográfica, o uso do armazenamento de backup é o dobro do uso do armazenamento com redundância local. Yes
Conexões com falha connections_failed Contagem O número de conexões com falha. Yes
Conexões bem-sucedidas connections_succeeded Contagem O número de conexões bem-sucedidas. Yes
Créditos de CPU consumidos ^ cpu_credits_consumed Contagem Número de créditos usados pelo servidor flexível. Aplica-se à camada com capacidade de intermitência. Yes
Créditos de CPU restantes ^ cpu_credits_remaining Contagem Número de créditos disponíveis para intermitência. Aplica-se à camada com capacidade de intermitência. Yes
Porcentagem da CPU cpu_percent Percent O percentual de CPU em uso. Yes
Tamanho do banco de dados database_size_bytes Bytes Tamanho do banco de dados em bytes. Yes
Profundidade da Fila de Disco ^ disk_queue_depth Contagem Número de operações de E/S pendentes para o disco de dados. Yes
IOPS iops Contagem Número de operações E/S para disco por segundo. Yes
IDs de transação máximas usadas maximum_used_transactionIDs Contagem O número máximo de IDs de transação em uso. Yes
Porcentagem de memória memory_percent Percent Porcentagem de memória em uso. Yes
Saída da Rede network_bytes_egress Bytes Soma total do tráfego de rede de saída no servidor por um período selecionado. Essa métrica inclui o tráfego de saída do banco de dados e de uma instância de servidor flexível do Banco de Dados Azure para Postgres, incluindo recursos como monitoramento, logs, arquivo WAL, replicação e muito mais. Yes
Entrada na Rede network_bytes_ingress Bytes Soma total do tráfego de rede de entrada no servidor por um período selecionado. Essa métrica inclui o tráfego de entrada para o seu banco de dados e para uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL, incluindo recursos como monitoramento, logs, arquivo WAL, replicação e muito mais. Yes
IOPS de leitura ^ read_iops Contagem Número de operações de leitura de E/S de disco de dados por segundo. Yes
Desempenho de leitura ^ read_throughput Bytes Bytes lidos por segundo do disco. Yes
Armazenamento gratuito storage_free Bytes Quantidade de espaço de armazenamento disponível. Yes
Porcentagem de armazenamento storage_percent Porcentagem Porcentagem do espaço de armazenamento usado. O armazenamento usado pelo serviço pode incluir arquivos de banco de dados, registros de transações e registros do servidor. Yes
Armazenamento usado storage_used Bytes Quantidade de espaço de armazenamento usado. O armazenamento usado pelo serviço pode incluir os arquivos de banco de dados, os logs de transações e os logs do servidor. Yes
Armazenamento de log de transações usado txlogs_storage_used Bytes Quantidade de espaço de armazenamento usado pelos logs de transações. Yes
Taxa de transferência de gravação ^ write_throughput Bytes Bytes gravados no disco por segundo. Yes
IOPS de Gravação ^ write_iops Contagem Número de operações de gravação de E/S de disco de dados por segundo. Yes

Observação

As métricas marcadas com ^ são emitidas a cada minuto, mas são processadas e exibidas em lotes de cinco minutos. Esse processo resulta em um atraso de até cinco minutos na visibilidade da métrica. Ao criar alertas nessas métricas, contabilize essa latência para garantir alertas precisos e oportunos.

Métricas aprimoradas

Use métricas aprimoradas para sua instância de servidor flexível Banco de Dados do Azure para PostgreSQL para obter monitoramento refinado e alertas em bancos de dados. Cada métrica é emitida em um intervalo de 1 minuto e tem até 93 dias de retenção. É possível configurar alertas nas métricas. Algumas métricas aprimoradas incluem um parâmetro Dimension que pode ser usado para dividir e filtrar dados de métricas usando uma dimensão como nome ou estado do banco de dados.

Habilitar métricas aprimoradas

  • A maioria dessas novas métricas estão desabilitadas por padrão. A coluna mais à direita nas tabelas a seguir indica se cada métrica está habilitada por padrão ou não. Algumas métricas são habilitadas por padrão.
  • Para habilitar as métricas que não estão habilitadas por padrão, defina o parâmetro metrics.collector_database_activity do servidor como ON. Esse parâmetro é dinâmico e não requer uma reinicialização de instância.
Lista de métricas aprimoradas

Escolha entre as seguintes categorias de métricas aprimoradas:

  • Activity
  • Base de dados
  • Replicação lógica
  • Replication
  • Saturação
  • Tráfego
Activity
Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
Sessões por estado sessions_by_state Contagem Sessões por estado, conforme mostrado na exibição pg_stat_activity. Categorizam os back-ends do cliente em vários estados, como ativos ou ociosos. Estado Não
Sessões por WaitEventType sessions_by_wait_event_type Contagem Sessões pelo tipo de evento pelo qual o back-end do cliente está esperando. Tipo de evento Wait Não
Back-end mais antigo oldest_backend_time_sec Segundos Idade em segundos do back-end mais antigo (independentemente do estado). Não se aplica Não
Consulta mais antiga longest_query_time_sec Segundos Idade em segundos da consulta mais longa que está sendo executada no momento. Não se aplica Não
Transação mais antiga longest_transaction_time_sec Segundos Idade em segundos da transação mais longa (incluindo transações ociosas). Não se aplica Não
Xmin mais antigo oldest_backend_xmin Contagem O valor real do xmin mais antigo. Se xmin não estiver aumentando, isso indica que existem algumas transações de longa duração que podem impedir que tuplas inativas sejam removidas. Não se aplica Não
Idade do xmin mais antiga oldest_backend_xmin_age Contagem Idade em unidades do xmin mais antigo. Indica quantas transações foram realizadas desde o xmin mais antigo. Não se aplica Não
Base de dados
Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
Back-ends numbackends Contagem Número de back-ends conectados a esse banco de dados. DatabaseName Não
Deadlocks deadlocks Contagem O número de deadlocks detectados nesse banco de dados. DatabaseName Não
Blocos de disco atingidos blks_hit Contagem O número de vezes em que blocos de disco já foram encontrados no cache do buffer, de modo que não era necessária uma leitura. DatabaseName Não
Blocos de disco lidos blks_read Contagem O número de blocos de disco lidos nesse banco de dados. DatabaseName Não
Arquivos temporários temp_files Contagem Número de arquivos temporários criados por consultas nesse banco de dados. DatabaseName Não
Tamanho dos arquivos temporários temp_bytes Bytes Quantidade total de dados gravados em arquivos temporários por meio de consultas nesse banco de dados. DatabaseName Não
Total de transações xact_total Contagem Número total de transações executadas nesse banco de dados. DatabaseName Não
Transações confirmadas xact_commit Contagem Número de transações neste banco de dados confirmadas. DatabaseName Não
Transações por segundo tps Contagem Número de transações executadas em até um segundo. DatabaseName Não
Transações revertidas xact_rollback Contagem Número de transações neste banco de dados revertidas. DatabaseName Não
Tuplas excluídas tup_deleted Contagem Número de linhas excluídas por consultas neste banco de dados. DatabaseName Não
Tuplas buscadas tup_fetched Contagem Número de linhas buscadas por consultas neste banco de dados. DatabaseName Não
Tuplas inseridas tup_inserted Contagem Número de linhas inseridas por consultas neste banco de dados. DatabaseName Não
Tuplas retornadas tup_returned Contagem Número de linhas retornadas por consultas neste banco de dados. DatabaseName Não
Tuplas atualizadas tup_updated Contagem Número de linhas atualizadas por consultas neste banco de dados. DatabaseName Não
Replicação lógica
Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
Atraso máximo de replicação lógica logical_replication_delay_in_bytes Bytes Atraso máximo em todos os slots de replicação lógica. Não se aplica Yes
Status de sincronização do slot de replicação lógica (preliminar) logical_replication_slot_sync_status Contagem Indica se os slots de replicação lógica são sincronizados entre o primário e o de espera em um ambiente de alta disponibilidade (HA).

1 → Slots são sincronizados entre primário e em espera.
0 → Slots não são sincronizados no modo de espera.
Slot de Replicação Lógica Não
Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
Atraso máximo de replicação lógica logical_replication_delay_in_bytes Bytes Atraso máximo em todos os slots de replicação lógica. Não se aplica Yes
Status de sincronização do slot de replicação lógica (preliminar) logical_replication_slot_sync_status Contagem Indica se os slots de replicação lógica são sincronizados entre o primário e o de espera em um ambiente de alta disponibilidade (HA).

1 → Slots são sincronizados entre primário e em espera.
0 → Slots não são sincronizados no modo de espera.

Fornece um sinal de preparação para failover para replicação lógica. Um valor de 0 indica que o sistema pode não ser seguro para failover.

Pré-requisito: Verifique se o parâmetro metrics.collector_database_activity do servidor está definido para on emitir essa métrica.

Para cenários de HA e considerações de failover, consulte suporte à replicação lógica com HA.
Slot de Replicação Lógica Não
Replicação de leitura
Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
Atraso máximo de replicação física physical_replication_delay_in_bytes Bytes Atraso máximo em todos os slots de replicação física assíncrona. Não se aplica Yes
Retardo de réplica de leitura physical_replication_delay_in_seconds Segundos Atraso da réplica de leitura em segundos. Não se aplica Yes
Saturação
Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
Porcentagem consumida de largura de banda de disco ^ disk_bandwidth_consumed_percentage Percent Porcentagem da largura de banda do disco de dados consumida por minuto. Não se aplica Yes
Porcentagem consumida de IOPS de disco ^ disk_iops_consumed_percentage Percent Porcentagem da E/S do disco de dados consumida por minuto. Não se aplica Yes
Uso da CPU do Processo do Postmaster postmaster_process_cpu_usage_percent Percent Utilização da CPU do processo Postmaster. Não aplicável para SKU com capacidade de intermitência. Não se aplica Não

Observação

As métricas marcadas com ^ são emitidas a cada minuto, mas são processadas e exibidas em lotes de cinco minutos. Esse processo resulta em um atraso de até cinco minutos na visibilidade da métrica. Ao criar alertas nessas métricas, contabilize essa latência para garantir alertas precisos e oportunos.

Tráfego
Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
Máximo de Conexões ** max_connections Contagem O número máximo de conexões. Não se aplica Yes
Backlog de conexão TCP tcp_connection_backlog Contagem Número de conexões TCP pendentes aguardando para serem processadas pelo servidor. Não se aplica Não

** Max Connections representa o valor configurado para o parâmetro do servidor max_connections. O sistema sonda essa métrica a cada 30 minutos.

Considerações sobre o uso de métricas aprimoradas
  • As métricas aprimoradas que usam a dimensão DatabaseName têm um limite de 50 bancos de dados.
  • Na SKU Com capacidade de intermitência, o limite é de 10 bancos de dados para métricas que usam a dimensão DatabaseName.
  • O limite de dimensão DatabaseName aplica-se à coluna do identificador de banco de dados (datid) do modo de exibição do sistema pg_stat_database, que reflete a ordem de criação do banco de dados.
  • O DatabaseName na dimensão de métricas não diferencia maiúsculas de minúsculas. Isso significa que, depois de consultar a visualização pg_stat_database, filtrar as linhas nas quais datname é template1 ou template0, ordenando por datid e limitando as primeiras 50 linhas retornadas (ou 10 no caso de SKU Com capacidade de intermitência ), as métricas para os nomes de banco de dados nesse conjunto de resultados, que são iguais, exceto pela capitalização (por exemplo, contoso_database e Contoso_database), são mescladas e podem não exibir dados precisos.

Métricas do Vácuo Automático

Use métricas de vácuo automático para monitorar e ajustar o desempenho do vácuo automático para sua instância de servidor flexível Banco de Dados do Azure para PostgreSQL. Cada métrica é emitida em um intervalo de 30 minutos e tem até 93 dias de retenção. Você pode criar alertas para métricas específicas e pode dividir e filtrar dados de métricas usando a dimensão DatabaseName.

Como habilitar métricas de vácuo automático

  • As métricas de vácuo automático estão desabilitadas por padrão.
  • Para habilitar essas métricas, defina o parâmetro do servidor metrics.autovacuum_diagnostics como ON.
  • Esse parâmetro é dinâmico, portanto, a reinicialização da instância não é necessária.

Lista de métricas de vácuo automático

Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
Contador de análise de tabelas do usuário analyze_count_user_tables Contagem Número de vezes que as tabelas exclusivas para o usuário são analisadas manualmente neste banco de dados. DatabaseName Não
Tabelas de Usuário do AutoAnalyze Counter autoanalyze_count_user_tables Contagem Número de vezes que as tabelas restritas ao usuário são analisadas pelo daemon de vácuo automático neste banco de dados DatabaseName Não
Contador de vácuo automático de tabelas do usuário autovacuum_count_user_tables Contagem Número de vezes que as tabelas restritas ao usuário são limpas pelo daemon autovacuum neste banco de dados. DatabaseName Não
Porcentagem de Sobrecarga bloat_percent Percent Percentual estimado de sobrecarga para tabelas somente do usuário. DatabaseName Não
Estimativa de linhas mortas de tabelas do usuário n_dead_tup_user_tables Contagem O número estimado de linhas mortas nas tabelas somente do usuário nesse banco de dados. DatabaseName Não
Estimativa de linhas dinâmicas de tabelas do usuário n_live_tup_user_tables Contagem O número estimado de linhas dinâmicas nas tabelas somente do usuário nesse banco de dados. DatabaseName Não
Modificações estimadas das tabelas de usuários n_mod_since_analyze_user_tables Contagem O número estimado de linhas modificadas desde que as tabelas somente do usuário foram analisadas pela última vez. DatabaseName Não
Tabelas de usuário analisadas tables_analyzed_user_tables Contagem Número de tabelas somente de usuário que são analisadas neste banco de dados. DatabaseName Não
Tabelas do usuário analisadas automaticamente tables_autoanalyzed_user_tables Contagem Número de tabelas exclusivas de usuário que são analisadas pelo daemon autovacuum neste banco de dados. DatabaseName Não
Tabelas do usuário que passaram por vácuo automático tables_autovacuumed_user_tables Contagem Número de tabelas exclusivas para usuários que são limpas pelo daemon de vácuo automático neste banco de dados DatabaseName Não
Contador de tabelas do usuário tables_counter_user_tables Contagem O número de tabelas somente do usuário nesse banco de dados. DatabaseName Não
Tabelas do usuário que passaram por vácuo tables_vacuumed_user_tables Contagem Número de tabelas restritas ao usuário que são limpas (removidas) neste banco de dados. DatabaseName Não
Tabelas de usuário do contador de vácuo vacuum_count_user_tables Contagem Número de vezes que as tabelas exclusivas para o usuário são limpas manualmente neste banco de dados (sem contar VACUUM FULL). DatabaseName Não

Considerações sobre o uso de métricas de vácuo automático

  • As métricas do Vácuo Automático que usam a dimensão DatabaseName têm um limite de 30 bancos de dados .
  • Na SKU Com capacidade de intermitência, o limite é de 10 bancos de dados para métricas que usam a dimensão DatabaseName.
  • O limite de dimensão DatabaseName se aplica à coluna OID, que reflete a ordem de criação do banco de dados.

Métricas do PgBouncer

Use as métricas do PgBouncer para monitorar o desempenho do processo PgBouncer. Essas métricas incluem detalhes sobre conexões ativas, conexões ociosas, total de conexões em pool e o número de pools de conexões. Cada métrica é emitida em um intervalo de um minuto e tem até 93 dias de retenção. Você pode configurar alertas nas métricas e acessar as novas dimensões de métricas para dividir e filtrar dados de métricas pelo nome do banco de dados.

Como habilitar as métricas do PgBouncer

  • Para monitorar as métricas do PgBouncer, verifique se o recurso pgbouncer está habilitado por meio do parâmetro pgbouncer.enabled de servidor e habilite o parâmetro metrics.pgbouncer_diagnosticsde métricas.
  • Esses parâmetros são dinâmicos e não exigem uma reinicialização de instância.
  • As métricas do PgBouncer estão desabilitadas por padrão.

Lista de métricas do PgBouncer

Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
Conexões de cliente ativas client_connections_active Contagem Conexões de clientes que estão associadas a uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. DatabaseName Não
Aguardando conexões de cliente client_connections_waiting Contagem Conexões de clientes que estão aguardando por uma conexão com uma instância flexível do servidor Azure Database para PostgreSQL para atendê-las. DatabaseName Não
Conexões de servidor ativas server_connections_active Contagem Conexões com uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL que estão em uso por conexões de clientes. DatabaseName Não
Conexões de servidor ociosas server_connections_idle Contagem Conexões com uma instância de servidor Banco de Dados do Azure para PostgreSQL flexível que estão ociosas e prontas para atender a uma nova conexão de cliente. DatabaseName Não
Total de conexões em pool total_pooled_connections Contagem O número atual de conexões agrupadas. DatabaseName Não
Número de pools de conexões num_pools Contagem O número total de pools de conexão. DatabaseName Não

Considerações sobre o uso das métricas do PgBouncer

  • As métricas do PgBouncer que usam a dimensão DatabaseName têm um limite de 30 bancos de dados .
  • Na SKU Burstable, o limite é de 10 bancos de dados que usam a dimensão DatabaseName.
  • O limite da dimensão DatabaseName é aplicado à coluna OID, que reflete a ordem de criação do banco de dados.

Métricas de disponibilidade do banco

A métrica is-db-alive é uma métrica de disponibilidade do servidor de banco de dados para uma instância de servidor Banco de Dados do Azure para PostgreSQL flexível. Ele retorna 1 para disponível e 0 para não disponível. Cada métrica é emitida em uma frequência de um minuto e tem até 93 dias de retenção. Você pode configurar alertas na métrica.

Nome de exibição ID da métrica Unidade Description Dimensão Padrão: habilitada
O banco de dados está ativo is_db_alive Contagem Indica se o banco de dados está ativo ou não. N/A Yes

Considerações ao usar as métricas de disponibilidade do banco de dados

  • Agregue essa métrica com MAX() para determinar se o servidor estava ativo ou inativo no último minuto.
  • Agregar essas métricas com qualquer frequência desejada (5m, 10m, 30m e assim por diante) para atender aos seus requisitos de alerta e evitar qualquer falso positivo.
  • Outras agregações possíveis são AVG() e MIN().

Filtrar e dividir em métricas de dimensão

Nas tabelas anteriores, algumas métricas têm dimensões como DatabaseName ou State. Você pode usar a filtragem e a divisão para as métricas que têm dimensões. Esses recursos mostram como vários segmentos métricos (ou valores de dimensão) afetam o valor geral da métrica. Você pode usá-los para identificar possíveis exceções.

  • Filtragem: use a filtragem para escolher quais valores de dimensão estão incluídos no gráfico. Por exemplo, você pode querer mostrar conexões ociosas quando vê a métrica Sessions-by-State no gráfico. Você definiu o filtro para Ocioso na dimensão Estado.
  • Divisão: use a divisão para controlar se o gráfico exibe linhas separadas para cada valor de uma dimensão ou se agrega os valores em uma única linha. Por exemplo, você pode ver uma linha para uma métrica Sessions-by-State em todas as sessões. Você pode ver linhas separadas em cada sessão agrupadas por valor de Estado. Aplicar divisão na dimensão do Estado para ver linhas separadas.

O exemplo a seguir demonstra a divisão pela dimensão do Estado e a filtragem em valores de Estado específicos:

Captura de tela que mostra um exemplo de divisão e filtragem em métricas e dimensões.

Para obter mais informações sobre como configurar gráficos para métricas dimensionais, consulte Exemplos de gráficos de métricas.

Visualização de métricas

Você pode usar várias opções para visualizar Azure Monitor métricas. Para a maioria das necessidades de monitoramento de rotina, os painéis do Grafana inseridos e o Metrics Explorer fornecem visibilidade pronta para uso sem configuração adicional. Considere o Espaço Gerenciado do Azure para Grafana para dashboards e alertas em ambientes cruzados, multinuvem ou altamente personalizados.

Componente Description Treinamento e configuração necessários
Página de visão geral A maioria dos serviços Azure inclui uma página Overview no portal Azure com uma seção Monitor que mostra métricas recentes e comumente usadas. Essa exibição destina-se a uma verificação rápida de integridade e desempenho de um servidor postgreSQL Azure individual. As métricas da plataforma são coletadas automaticamente.
Não é necessária nenhuma configuração.
Metrics Explorer Use o Metrics Explorer para analisar interativamente Azure Monitor métricas e criar alertas baseados em métricas. Ele fornece recursos flexíveis de filtragem, agregação e visualização. – As métricas de plataforma para recursos de Azure estão disponíveis automaticamente.
- Nenhuma configuração adicional necessária após a habilitação da coleta de dados.
- As métricas de convidado exigem o agente de Azure Monitor (somente VMs).
- As métricas de aplicativo exigem o Application Insights.
Painéis do Grafana inseridos (portal Azure) Os painéis do Grafana predefinidos são inseridos diretamente no portal Azure para Banco de Dados do Azure para PostgreSQL sem custo adicional e sem nenhuma configuração. Use esses painéis para monitoramento rápido e interno de seus servidores PostgreSQL. Para obter detalhes, consulte Embedded Grafana dashboards in Azure portal. Não é necessária nenhuma configuração.
Os painéis estão disponíveis imediatamente no portal do Azure.
Espaço Gerenciado do Azure para Grafana Use Espaço Gerenciado do Azure para Grafana para cenários avançados, como plug-ins estendidos, autenticação e provisionamento avançados, controle multilocatário refinado e conectividade de várias nuvens. Todas as distribuições do Grafana incluem o Azure Monitor data source plug-in, permitindo painéis ricos e correlações entre métricas. É recomendável familiaridade com os conceitos do Grafana.
A configuração pode ser simplificada usando o painel Grafana Azure PostgreSQL predefinido, que permite o monitoramento em várias instâncias do Azure PostgreSQL Flexible Server com configuração mínima.

Painéis do Grafana inseridos no portal Azure

Os painéis do Grafana predefinidos são inseridos diretamente no portal de Azure para Banco de Dados do Azure para PostgreSQL sem custo adicional e sem a necessidade de instalação. Esses dashboards são atualizados quase em tempo real para fornecer visibilidade sobre a integridade e o desempenho do servidor.

Os painéis visualizam as principais métricas da plataforma Azure Monitor, incluindo:

  • Disponibilidade
  • Conexões
  • CPU
  • Memória
  • Armazenamento
  • WAL
  • E/S de disco
  • Rede
  • Transactions

Quando você define as configurações de diagnóstico para transmitir logs do PostgreSQL para Azure Monitor Logs, os painéis podem exibir métricas e logs lado a lado. Essa funcionalidade permite correlacionar picos de desempenho com consultas específicas. Para obter mais informações sobre como habilitar o streaming de log, consulte logs de recursos do Banco de Dados do Azure para PostgreSQL.

Os painéis integrados são recursos do Azure com escopo para uma assinatura e um grupo de recursos, e o acesso é regido pelo controle de acesso baseado em função do Azure (RBAC). Você pode exportar e implantar dashboards em ambientes usando modelos de Azure Resource Manager.

Banco de Dados do Azure para PostgreSQL logs de atividades de recursos

Esses logs são provenientes de operações no nível do plano de dados.

O sistema não coleta automaticamente esses logs. Para coletar esses logs em um local externo com suporte, você deve configurar o sistema. A ingestão, a retenção e a consulta subsequente têm custos associados.

Esses logs são organizados em categorias e essas categorias são agrupadas em grupos de categorias.

Os logs abaixo mencionados podem ser transmitidos para um destino externo, como um workspace do Log Analytics, uma Storage Account, um hub de eventos ou uma solução de parceiro através da utilização de Configurações de Diagnóstico.

Descrição: logs do servidor PostgreSQL.
Frequência de execução: 10 segundos.
Nome da categoria: PostgreSQLLogs.
Nome de exibição: Logs do Servidor PostgreSQL.
Incluído no grupo de categorias: auditoria e allLogs.
Tabela específica do recurso: PGSQLServerLogs.
Valor da coluna Categoria quando transmitida para a AzureDiagnostics: PostgreSQLLogs.
Função para concatenar eventos do AzureDiagnostics e da tabela específica do recurso: _PGSQL_GetPostgresServerLogs.
Requisitos adicionais: Nenhum.

Descrição: instantâneo de sessões ativas do PostgreSQL mostrando detalhes das conexões de banco de dados atuais e suas atividades, incluindo metadados de sessão, tempo e estados de espera.
Frequência de execução: 5 minutos.
Nome da categoria: PostgreSQLFlexSessions.
Nome de exibição: dados de Sessões postgreSQL.
Incluído no grupo de categorias: auditoria e allLogs.
Tabela específica do recurso: PGSQLPgStatActivitySessions.
Valor da coluna Categoria quando transmitido para AzureDiagnostics: PostgreSQLFlexSessions.
Função para concatenar eventos do AzureDiagnostics e da tabela específica do recurso: _PGSQL_GetPgStatActivitySessions.
Requisitos adicionais: Nenhum.

Descrição: Estatísticas detalhadas de desempenho de consulta do repositório de consultas PostgreSQL.
Frequência de execução: 5 minutos quando pg_qs.interval_length_minutes estiver entre 1 e 5. Número de minutos especificado em pg_qs.interval_length_minutes, quando pg_qs.interval_length_minutes é maior que 5 minutos.
Nome da categoria: PostgreSQLFlexQueryStoreRuntime.
Display name: PostgreSQL Repositório de Consultas Runtime.
Incluído no grupo de categorias: auditoria e allLogs.
Tabela específica do recurso: PGSQLQueryStoreRuntime.
Valor da coluna Categoria quando transmitido para AzureDiagnostics: PostgreSQLFlexQueryStoreRuntime.
Função para concatenar eventos do AzureDiagnostics e da tabela específica do recurso: _PGSQL_GetQueryStoreRuntime.
Requisitos adicionais: pg_qs.query_capture_mode devem ser definidos como ou topall.

Descrição: quais consultas estavam aguardando quais eventos de espera e por quanto tempo.
Frequência de execução: 5 minutos quando pg_qs.interval_length_minutes estiver entre 1 e 5. Número de minutos especificado em pg_qs.interval_length_minutes, quando pg_qs.interval_length_minutes é maior que 5 minutos.
Nome da categoria: PostgreSQLFlexQueryStoreWaitStats.
Nome de exibição: PostgreSQL Repositório de Consultas Wait Statistics.
Incluído no grupo de categorias: auditoria e allLogs.
Tabela específica do recurso: PGSQLQueryStoreWaits.
Valor da coluna Category quando transmitida para a AzureDiagnostics: PostgreSQLFlexQueryStoreWaitStats.
Função para concatenar eventos do AzureDiagnostics e da tabela específica do recurso: _PGSQL_GetQueryStoreWaits.
Requisitos adicionais: pg_qs.query_capture_mode deve ser definido como top ou all, e pgms_wait_sampling.query_capture_mode deve ser definido como on.

Descrição: estatísticas agregadas no nível do esquema sobre todas as tabelas no banco de dados, resumindo as métricas de atividade e manutenção da tabela.
Frequência de execução: 30 minutos.
Nome da categoria: PostgreSQLFlexTableStats.
Nome de exibição: PostgreSQL Autovacuum e estatísticas do esquema.
Incluído no grupo de categorias: auditoria e allLogs.
Tabela específica do recurso: PGSQLAutovacuumStats.
Valor da coluna Categoria quando transmitido para AzureDiagnostics: PostgreSQLFlexTableStats.
Função para concatenar eventos do AzureDiagnostics e da tabela específica do recurso: _PGSQL_GetAutovacuumStats.
Requisitos adicionais: Nenhum.

Descrição: exibição no nível do banco de dados da ID da transação (XID) e da idade do ID multixact e do risco de encapsulamento, juntamente com limites para ações de vácuo de emergência e de vácuo de emergência.
Frequência de execução: 30 minutos.
Nome da categoria: PostgreSQLFlexDatabaseXacts.
Nome de exibição: Transações restantes do PostgreSQL.
Incluído no grupo de categorias: auditoria e allLogs.
Tabela específica do recurso: PGSQLDbTransactionsStats.
Valor da coluna Category quando transmitida para AzureDiagnostics: PostgreSQLFlexDatabaseXacts.
Função para concatenar eventos do AzureDiagnostics e da tabela específica do recurso: _PGSQL_GetDbTransactionsStats.
Requisitos adicionais: Nenhum.

Descrição: logs internos do PgBouncer.
Frequência de execução: 10 segundos.
Nome da categoria: N/A.
Nome de exibição: N/A.
Incluído no grupo de categorias: auditoria e allLogs.
Tabela específica do recurso: PGSQLPgBouncer.
Valor da coluna Category quando enviada para AzureDiagnostics: PostgreSQLFlexPGBouncer.
Função para concatenar eventos do AzureDiagnostics e da tabela específica do recurso: _PGSQL_GetPgBouncerLogs.
Requisitos adicionais: o PgBouncer interno deve ser habilitado no servidor definindo pgbouncer.enabled como on.

Visualização de logs

Componente Description Treinamento e configuração necessários
Log Analytics Usando Log Analytics, você pode criar consultas de log para trabalhar interativamente com dados de log e criar alertas de consulta de log. Você precisa de algum treinamento para se familiarizar com a linguagem de consulta, mas pode usar consultas predefinidas para requisitos comuns.

Logs do servidor

O recurso Logs do Servidor na sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL permite habilitar, configurar e baixar os logs do servidor. Esses logs são essenciais para solucionar problemas e executar análises históricas da atividade do servidor. Por padrão, o recurso de logs de servidor está desabilitado. No entanto, depois de habilitar o recurso, sua instância de servidor Banco de Dados do Azure para PostgreSQL flexível começará a capturar eventos do tipo de log selecionado e os gravará em um arquivo. Em seguida, você pode usar o portal Azure ou o CLI do Azure para baixar os arquivos para ajudar nos esforços de solução de problemas.

Retenção de logs de servidor

Os logs de servidor têm uma retenção mínima de um dia e uma retenção máxima de sete dias. Se você exceder esse limite, os logs mais antigos serão excluídos para abrir espaço para novos logs. Para obter detalhes sobre como habilitar e gerenciar logs do servidor, veja Configurar captura de logs do servidor PostgreSQL e logs de atualização de versão principal.