Monitorar métricas no Banco de Dados do Azure para PostgreSQL - Servidor Flexível

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Flexível

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

Métricas

O servidor flexível do Banco de Dados do Azure para PostgreSQL fornece várias métricas que fornecem informações sobre o comportamento dos recursos que dão suporte à instância flexível do servidor do Banco de Dados do Azure para PostgreSQL. Cada métrica é emitida em um intervalo de 1 minuto e tem até 93 dias de histórico. Pode configurar alertas relacionados com as 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, veja Descrição geral das Métricas do Azure.

Nota

Embora as métricas sejam armazenadas por 93 dias, você só pode consultar (no bloco Métricas) por um máximo de 30 dias de dados em qualquer gráfico. Se vir um gráfico em branco ou se o gráfico apresentar apenas parte dos dados métricos, verifique se a diferença entre as datas de início e de fim no seletor de horas não excede o intervalo de 30 dias. Depois de selecionar um intervalo de 30 dias, pode deslocar o gráfico para ver a janela de retenção completa.

Métricas padrão

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

Nome a apresentar ID da métrica Unidade Description Padrão ativado
Conexões ativas active_connections Count 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 pg_stat_activity exibição. Este valor representa a soma global das conexões em todos os estados, sem distinguir entre estados específicos. Para obter uma análise aprofundada sobre um estado específico, como conexões ativas, consulte a métrica 'Sessões por estado'. Sim
Armazenamento de backup usado 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 retidos com base no período de retenção de backup definido para o servidor. 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. Sim
Conexões com falha connections_failed Count Número de conexões com falha. Sim
Conexões bem-sucedidas connections_succeeded Count Número de conexões bem-sucedidas. Sim
Créditos de CPU consumidos cpu_credits_consumed Count Número de créditos utilizados pelo servidor flexível. Aplica-se ao nível Burstable. Sim
Créditos de CPU restantes cpu_credits_remaining Count Número de créditos disponíveis para rebentar. Aplica-se ao nível Burstable. Sim
Percentagem de CPU cpu_percent Percentagem Percentagem de CPU em utilização. Sim
Tamanho do banco de dados (visualização) database_size_bytes Bytes Tamanho do banco de dados em bytes. Sim
Profundidade da fila de disco disk_queue_depth Count Número de operações de E/S pendentes para o disco de dados. Sim
IOPS iops Count Número de operações de E/S em disco por segundo. Sim
Máximo de IDs de transação usados maximum_used_transactionIDs Count Número máximo de IDs de transação em uso. Sim
Percentagem de memória memory_percent Percentagem Percentagem de memória em utilização. Sim
Saída de rede network_bytes_egress Bytes Quantidade de tráfego de rede de saída. Sim
Entrada de rede network_bytes_ingress Bytes Quantidade de tráfego de rede de entrada. Sim
Ler IOPS read_iops Count Número de operações de leitura de E/S do disco de dados por segundo. Sim
Taxa de transferência de leitura read_throughput Bytes Bytes lidos por segundo do disco. Sim
Armazenamento Grátis storage_free Bytes Quantidade de espaço de armazenamento disponível. Sim
Percentagem de armazenamento storage_percent Percentagem Porcentagem do espaço de armazenamento usado. O armazenamento usado pelo serviço pode incluir arquivos de banco de dados, logs de transações e logs do servidor. Sim
Armazenamento usado storage_used Bytes Quantidade de espaço de armazenamento utilizado. O armazenamento usado pelo serviço pode incluir os arquivos de banco de dados, os logs de transações e os logs do servidor. Sim
Armazenamento de log de transações usado txlogs_storage_used Bytes Quantidade de espaço de armazenamento usada pelos logs de transações. Sim
Taxa de transferência de gravação write_throughput Bytes Bytes gravados no disco por segundo. Sim
Escrever IOPS write_iops Count Número de operações de gravação de E/S do disco de dados por segundo. Sim

Métricas aprimoradas

Você pode usar métricas aprimoradas para o servidor flexível do Banco de Dados do Azure para PostgreSQL para obter monitoramento e alertas refinados em bancos de dados. Pode configurar alertas relacionados com as métricas. Algumas métricas aprimoradas incluem um Dimension parâmetro que você pode usar para dividir e filtrar dados de métricas usando uma dimensão como nome ou estado do banco de dados.

Habilitando métricas aprimoradas

  • A maioria dessas novas métricas é desativada por padrão. No entanto, existem algumas exceções, que são ativadas por padrão. A coluna mais à direita nas tabelas a seguir indica se cada métrica está habilitada por padrão ou não.
  • Para habilitar as métricas que não estão habilitadas por padrão, defina o parâmetro metrics.collector_database_activity server como ON. Esse parâmetro é dinâmico e não requer uma reinicialização da instância.
Lista de métricas aprimoradas

Você pode escolher entre as seguintes categorias de métricas aprimoradas:

  • Atividade
  • Base de Dados
  • Replicação lógica
  • Replicação
  • Saturação
  • Trânsito
Atividade
Nome a apresentar ID da métrica Unidade Description Dimensão Padrão ativado
Sessões por Estado sessions_by_state Count Sessões por estado, conforme mostrado na pg_stat_activity exibição. Ele categoriza os backends do cliente em vários estados, como ativo ou ocioso. Estado Não
Sessões por WaitEventType sessions_by_wait_event_type Count Sessões pelo tipo de evento pelo qual o back-end do cliente está esperando. Tipo de evento de espera Não
Backend mais antigo oldest_backend_time_sec Segundos Idade em segundos do backend mais antigo (independentemente do estado). Não se aplica Não
Consulta mais antiga longest_query_time_sec Segundos Envelheça em segundos a consulta mais longa que está em execução 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
Mais antigo xmin oldest_backend_xmin Count O valor real do mais antigo xmin. Se xmin não estiver aumentando, isso indica que existem algumas transações de longa duração que podem potencialmente impedir que tuplas mortas sejam removidas. Não se aplica Não
Idade xmin mais antiga oldest_backend_xmin_age Count Idade em unidades dos mais velhos xmin. Indica quantas transações passaram desde a mais antiga xmin. Não se aplica Não
Base de Dados
Nome a apresentar ID da métrica Unidade Description Dimensão Padrão ativado
Back-ends numbackends Count Número de back-ends conectados a esse banco de dados. DatabaseName Não
Impasses deadlocks Count Número de deadlocks detetados neste banco de dados. DatabaseName Não
Blocos de disco atingidos blks_hit Count Número de vezes que os blocos de disco já foram encontrados no cache do buffer, de modo que uma leitura não foi necessária. DatabaseName Não
Leitura de blocos de disco blks_read Count Número de blocos de disco que foram lidos neste banco de dados. DatabaseName Não
Arquivos temporários temp_files Count Número de arquivos temporários que foram criados por consultas neste banco de dados. DatabaseName Não
Tamanho dos arquivos temporários temp_bytes Bytes Quantidade total de dados gravados em arquivos temporários por consultas neste banco de dados. DatabaseName Não
Total de Transações xact_total Count Número total de transações executadas neste banco de dados. DatabaseName Não
Transações Comprometidas xact_commit Count Número de transações nesta base de dados que foram autorizadas. DatabaseName Não
Transações por segundo (Pré-visualização) tps Count Número de transações executadas em um segundo. DatabaseName Não
Transações revertidas xact_rollback Count Número de transações neste banco de dados que foram revertidas. DatabaseName Não
Tuplas Suprimidas tup_deleted Count Número de linhas que foram excluídas por consultas neste banco de dados. DatabaseName Não
Tuplas Buscadas tup_fetched Count Número de linhas que foram buscadas por consultas neste banco de dados. DatabaseName Não
Tuplas inseridas tup_inserted Count Número de linhas que foram inseridas por consultas neste banco de dados. DatabaseName Não
Tuplas devolvidas tup_returned Count Número de linhas que foram retornadas por consultas neste banco de dados. DatabaseName Não
Tuplas Atualizadas tup_updated Count Número de linhas que foram atualizadas por consultas neste banco de dados. DatabaseName Não
Replicação lógica
Nome a apresentar ID da métrica Unidade Description Dimensão Padrão ativado
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 Sim
Replicação
Nome a apresentar ID da métrica Unidade Description Dimensão Padrão ativado
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 Sim
Ler atraso da réplica physical_replication_delay_in_seconds Segundos Leia o atraso da réplica em segundos. Não se aplica Sim
Saturação
Nome a apresentar ID da métrica Unidade Description Dimensão Padrão ativado
Percentagem de largura de banda do disco consumida disk_bandwidth_consumed_percentage Percentagem Percentagem de largura de banda do disco de dados consumida por minuto. Não se aplica Sim
Porcentagem de IOPS de disco consumida disk_iops_consumed_percentage Percentagem Porcentagem de E/S de disco de dados consumida por minuto. Não se aplica Sim
Trânsito
Nome a apresentar ID da métrica Unidade Description Dimensão Padrão ativado
Conexões máximas ^ max_connections Count Número máximo de ligações. Não se aplica Sim

^ Max Connections representa o valor configurado para o max_connections parâmetro server. Essa métrica é pesquisada 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 Burstable, o limite é de 10 bancos de dados para métricas que usam a dimensão DatabaseName.
  • O limite de dimensão DatabaseName é aplicado na coluna identificador de banco de dados (datid) da exibição do sistema pg_stat_database, que reflete a ordem de criação do banco de dados.
  • A DatabaseName dimensão na métrica não diferencia maiúsculas de minúsculas. Isso significa que, depois de consultar pg_stat_database a exibição, filtrar as linhas em que datname está ou template1template0, ordenar por datid, e limitar as linhas retornadas às primeiras 50 (ou 10 no caso do Burstable SKU), as métricas para nomes de banco de dados nesse conjunto de resultados, que são as mesmas, exceto para maiúsculas e minúsculas (por exemplo, contoso_database e Contoso_database) serão mescladas e podem não mostrar dados precisos.

Métricas de vácuo automático

As métricas de vácuo automático podem ser usadas para monitorar e ajustar o desempenho do autovacuum para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. 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 dividir e filtrar dados de métricas usando a DatabaseName dimensão.

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

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

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

Nome a apresentar ID da métrica Unidade Description Dimensão Padrão ativado
Analisar tabelas de usuário do contador analyze_count_user_tables Count Número de vezes que tabelas somente para usuários foram analisadas manualmente neste banco de dados. DatabaseName Não
AutoAnalyze Counter User Tables autoanalyze_count_user_tables Count Número de vezes que tabelas somente para usuários foram analisadas pelo daemon de vácuo automático neste banco de dados. DatabaseName Não
Tabelas de usuário do contador AutoVacuum autovacuum_count_user_tables Count Número de vezes que tabelas somente de usuário foram aspiradas pelo daemon de vácuo automático neste banco de dados. DatabaseName Não
Percentagem de inchaço (Pré-visualização) bloat_percent Percentagem Porcentagem estimada de inchaço para tabelas somente do usuário. DatabaseName Não
Tabelas de usuário estimadas de linhas mortas n_dead_tup_user_tables Count Número estimado de linhas mortas para tabelas somente de usuário neste banco de dados. DatabaseName Não
Tabelas de usuário estimadas de linhas em tempo real n_live_tup_user_tables Count Número estimado de linhas ativas para tabelas somente de usuário neste banco de dados. DatabaseName Não
Modificações estimadas Tabelas do usuário n_mod_since_analyze_user_tables Count Número estimado de linhas que foram modificadas desde que as tabelas somente para o usuário foram analisadas pela última vez. DatabaseName Não
Tabelas de usuários analisadas tables_analyzed_user_tables Count Número de tabelas somente de usuário que foram analisadas neste banco de dados. DatabaseName Não
Tabelas de usuário analisadas automaticamente tables_autoanalyzed_user_tables Count Número de tabelas somente de usuário que foram analisadas pelo daemon autovacuum neste banco de dados. DatabaseName Não
Tabelas de usuário AutoVacuumed tables_autovacuumed_user_tables Count Número de tabelas somente de usuário que foram aspiradas pelo daemon autovacuum neste banco de dados. DatabaseName Não
Contador de tabelas do usuário tables_counter_user_tables Count Número de tabelas somente de usuário neste banco de dados. DatabaseName Não
Tabelas de usuário aspiradas tables_vacuumed_user_tables Count Número de tabelas somente de usuário que foram aspiradas neste banco de dados. DatabaseName Não
Mesas de usuário do contador de vácuo vacuum_count_user_tables Count Número de vezes que tabelas somente para usuários foram aspiradas 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 de vácuo automático 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 para métricas que usam a dimensão DatabaseName.
  • O limite de dimensão DatabaseName é aplicado na coluna OID, que reflete a ordem de criação do banco de dados.

Métricas do PgBouncer

Você pode usar métricas PgBouncer para monitorar o desempenho do processo PgBouncer, incluindo detalhes para conexões ativas, conexões ociosas, total de conexões agrupadas e o número de pools de conexões. Cada métrica é emitida em um intervalo de 1 minuto e tem até 93 dias de histórico. Os clientes podem configurar alertas sobre as métricas e também acessar as novas dimensões de métricas para dividir e filtrar dados de métricas por nome de banco de dados.

Como ativar as métricas do PgBouncer

  • As métricas do PgBouncer são desativadas por padrão.
  • Para que as métricas do PgBouncer funcionem, os parâmetros pgbouncer.enabled do servidor devem metrics.pgbouncer_diagnostics estar habilitados.
  • Esses parâmetros são dinâmicos e não exigem uma reinicialização da instância.

Lista de métricas do PgBouncer

Nome a apresentar ID da métrica Unidade Description Dimensão Padrão ativado
Conexões de cliente ativas client_connections_active Count Conexões de clientes associados a um Banco de Dados do Azure para PostgreSQL - Conexão de Servidor Flexível. DatabaseName Não
Aguardando conexões de cliente client_connections_waiting Count Conexões de clientes que estão aguardando um Banco de Dados do Azure para PostgreSQL - Conexão de Servidor Flexível para atendê-los. DatabaseName Não
Conexões ativas do servidor server_connections_active Count Conexões com o Banco de Dados do Azure para PostgreSQL - Servidor flexível que estão em uso por uma conexão de cliente. DatabaseName Não
Conexões de servidor ociosas server_connections_idle Count Conexões com o Banco de Dados do Azure para PostgreSQL - Servidor flexível que está ocioso e pronto para atender a uma nova conexão de cliente. DatabaseName Não
Total de conexões agrupadas total_pooled_connections Count Número atual de conexões agrupadas. DatabaseName Não
Número de pools de conexões num_pools Count Número total de pools de conexões. DatabaseName Não

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

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

Métrica de disponibilidade do banco de dados

Is-db-alive é uma métrica de disponibilidade do servidor de banco de dados para o Banco de Dados do Azure para servidor flexível PostgreSQL que retorna [1 for available] e [0 for not-available]. Cada métrica é emitida com uma frequência de 1 minuto e tem até 93 dias de retenção. Os clientes podem configurar alertas na métrica.

Nome a apresentar ID da métrica Unidade Description Dimensão Padrão ativado
O banco de dados está ativo is_db_alive Count Indica se o banco de dados está ativo ou não. N/A Sim

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

  • Agregar essa métrica com MAX() permitirá que os clientes determinem se o servidor foi para cima ou para baixo no último minuto.
  • Os clientes têm a opção de agregar ainda mais essas métricas com qualquer frequência desejada (5m, 10m, 30m, etc.) 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 métricas de dimensão

Nas tabelas anteriores, algumas métricas têm dimensões como DatabaseName ou State. Você pode usar filtragem e 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 valores atípicos.

  • Filtragem: use a filtragem para escolher quais valores de dimensão serão incluídos no gráfico. Por exemplo, talvez você queira mostrar conexões ociosas ao criar um gráfico da Sessions-by-State métrica. Você define o filtro para Inativo 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 Sessions-by-State métrica em todas as sessões. Você pode ver linhas separadas para cada sessão agrupadas por valor de Estado. Aplique a divisão na dimensão Estado para ver linhas separadas.

O exemplo a seguir demonstra a divisão pela dimensão State e a filtragem em valores State 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 métricos.

Visualização de métricas

Há várias opções para visualizar as métricas do Azure Monitor.

Componente Description Formação e/ou configuração necessárias
Página de descrição geral A maioria dos serviços do Azure tem uma página Visão geral no portal do Azure que inclui uma seção Monitor com gráficos que mostram métricas críticas recentes. Estas informações destinam-se aos proprietários de serviços individuais para avaliar rapidamente o desempenho do recurso. Esta página é baseada em métricas da plataforma que são coletadas automaticamente. Não é necessária qualquer configuração.
Explorador de métricas Você pode usar o Metrics Explorer para trabalhar interativamente com dados de métricas e criar alertas de métricas. Você precisa de treinamento mínimo para usar o Metrics Explorer, mas deve estar familiarizado com as métricas que deseja analisar. - Uma vez configurada a recolha de dados, não é necessária qualquer outra configuração.
- As métricas da plataforma para recursos do Azure estão automaticamente disponíveis.
- As métricas de convidado para máquinas virtuais estão disponíveis depois que um agente do Azure Monitor é implantado na máquina virtual.
- As métricas do aplicativo ficam disponíveis após a configuração do Application Insights.
Grafana Você pode usar o Grafana para visualizar e alertar sobre métricas. Todas as versões do Grafana incluem o plug-in de fonte de dados do Azure Monitor para visualizar suas métricas e logs do Azure Monitor. Para se familiarizar com os painéis Grafana, é necessário algum treinamento. No entanto, você pode simplificar o processo baixando um painel de monitoramento de grafana de servidor flexível do Banco de Dados do Azure para PostgreSQL, que permite o monitoramento fácil de todas as instâncias de servidor flexíveis do Banco de Dados do Azure para PostgreSQL em sua organização.

Registos

Além das métricas, você pode usar o Banco de Dados do Azure para servidor flexível PostgreSQL para configurar e acessar o Banco de Dados do Azure para logs padrão do PostgreSQL. Para obter mais informações, consulte Conceitos de registro.

Visualização de logs

Componente Description Formação e/ou configuração necessárias
Log Analytics Com o Log Analytics, você pode criar consultas de log para trabalhar interativamente com dados de log e criar alertas de consulta de log. Algum treinamento é necessário para que você se familiarize com a linguagem de consulta, embora você possa usar consultas pré-criadas para requisitos comuns.

Próximos passos