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

Monitorar os dados dos 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 seu 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 suportam a instância de servidor flexível do de 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. É 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 das métricas no Microsoft Azure.

Observação

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 um único 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. Depois de selecionar um intervalo de 30 dias, você pode fazer uma panorâmica do 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 de exibição ID da métrica Unidade Descrição Padrão: habilitada
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 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
Backup do Microsoft Azure 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 Contagem O número de conexões com falha. Sim
Conexões com êxito connections_succeeded Contagem O número de conexões bem-sucedidas. Sim
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. Sim
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. Sim
Porcentagem de CPU cpu_percent Porcentagem O percentual de CPU em uso. Yes
Tamanho do banco de dados (versão prévia) 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. Sim
IOPS iops Contagem Número de operações E/S para disco por segundo. Sim
Máximo de IDs de transação usadas maximum_used_transactionIDs Contagem O número máximo de IDs de transação em uso. Sim
Porcentagem de memória memory_percent Porcentagem Porcentagem de memória em uso. Sim
Saída da rede network_bytes_egress Bytes Quantidade de tráfego de rede de saída. Sim
Entrada na rede network_bytes_ingress Bytes Quantidade de tráfego de rede de entrada. Sim
IOPS de leitura read_iops Contagem Número de operações de leitura de E/S de disco de dados por segundo. Sim
Taxa de transferência de leitura read_throughput Bytes Bytes lidos por segundo do disco. Sim
Livre para armazenamento storage_free Bytes Quantidade de espaço de armazenamento disponível. Sim
Porcentagem de armazenamento storage_percent Percentual 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. Sim
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 registros de transações e os registros do servidor. Sim
Armazenamento de log de transações usado txlogs_storage_used Bytes Quantidade de espaço de armazenamento usado pelos logs de transações. Sim
Taxa de transferência de gravação write_throughput Bytes Bytes gravados no disco por segundo. Sim
IOPS de Gravação write_iops Contagem Número de operações de gravação de E/S de 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 detalhados no bancos de dados. É 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. No entanto, há algumas exceções que são habilitadas 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 do servidor metrics.collector_database_activity como ON. Esse parâmetro é dinâmico e não requer uma reinicialização de instância.
Lista de métricas aprimoradas

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

  • Atividade
  • Banco de dados
  • Replicação lógica
  • Replicação
  • Saturação
  • Tráfego
Atividade
Nome de exibição ID da métrica Unidade Descrição Dimensão Padrão: habilitada
Sessões por estado sessions_by_state Count 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 Count Sessões pelo tipo de evento pelo qual o back-end do cliente está esperando. Tipo de evento Wait Não
Backup 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 Count 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 de xmin mais antigo oldest_backend_xmin_age Count Idade em unidades da mais antiga xmin. Indica quantas transações foram realizadas desde a mais antiga xmin. Não se aplica No
Banco de dados
Nome de exibição ID da métrica Unidade Descrição Dimensão Padrão: habilitada
Back-ends numbackends Count Número de back-ends conectados a esse banco de dados. DatabaseName Não
Deadlocks deadlocks Count O número de deadlocks detectados nesse banco de dados. DatabaseName Não
Blocos de disco encontrados blks_hit Count 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 Count O número de blocos de disco lidos nesse banco de dados. DatabaseName Não
Arquivos temporários temp_files Count 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 Count Número total de transações executadas nesse banco de dados. DatabaseName Não
Transações confirmadas xact_commit Count O número de transações confirmadas nesse banco de dados . DatabaseName Não
Transações por segundo (versão prévia) tps Count Número de transações executadas em até um segundo. DatabaseName Não
Transações revertidas xact_rollback Count O número de transações revertidas nesse banco de dados. DatabaseName Não
Tuplas excluídas tup_deleted Count O número de linhas excluídas por consultas nesse banco de dados. DatabaseName Não
Tuplas buscadas tup_fetched Count O número de linhas buscadas por consultas nesse banco de dados. DatabaseName Não
Tuplas inseridas tup_inserted Count O número de linhas inseridas por consultas nesse banco de dados. DatabaseName Não
Tuplas retornadas tup_returned Count O número de linhas retornadas por consultas nesse banco de dados. DatabaseName Não
Tuplas atualizadas tup_updated Count O número de linhas atualizadas por consultas nesse banco de dados. DatabaseName No
Replicação lógica
Nome de exibição ID da métrica Unidade Descrição 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 Sim
Replicação
Nome de exibição ID da métrica Unidade Descrição Dimensão Padrão: habilitada
Retardo 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 Sim
Saturação
Nome de exibição ID da métrica Unidade Descrição Dimensão Padrão: habilitada
Percentual Consumido de Largura de Banda do Disco disk_bandwidth_consumed_percentage Porcentagem Porcentagem da largura de banda do disco de dados consumida por minuto. Não se aplica Sim
Percentual Consumido de IOPS do Disco disk_iops_consumed_percentage Porcentagem Porcentagem da E/S do disco de dados consumida por minuto. Não se aplica Sim
Tráfego
Nome de exibição ID da métrica Unidade Descrição 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

^ Max Connections representa o valor configurado para o parâmetro do servidor max_connections. Esta métrica é agrupada 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 do 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.
  • O DatabaseName na dimensão de métricas não diferencia maiúsculas de minúsculas. Isso significa que, depois de consultar o modo de exibição pg_stat_database, filtrar linhas em que datname é template1 ou template0, ordenando por datid, e limitar as linhas retornadas às primeiras 50 (ou 10 no caso de SKU com capacidade de intermitência), as métricas para nomes de banco de dados nesse conjunto de resultados, que são as mesmas, exceto por caso (por exemplo, contoso_database e Contoso_database) serão mescladas e poderão não mostrar dados precisos.

Métricas do Vacuum Automático

As métricas do Vácuo automático podem ser usadas para monitorar e ajustar o desempenho do vácuo automático 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 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 Descrição Dimensão Padrão: habilitada
Contador de análise de tabelas do usuário analyze_count_user_tables Count O número de vezes em que as tabelas somente do usuário foram analisadas manualmente neste banco de dados. DatabaseName Não
Contador de análise automática de tabelas do usuário autoanalyze_count_user_tables Count O número de vezes em que as tabelas somente do usuário foram analisadas pelo daemon de vácuo automático nesse banco de dados. DatabaseName Não
Contador de vácuo automático de tabelas do usuário autovacuum_count_user_tables Count O número de vezes em que as tabelas somente do usuário foram aspiradas pelo daemon de vácuo automático nesse banco de dados. DatabaseName Não
Porcentagem de sobrecarga (versão prévia) bloat_percent Percentual 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 Count 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 Count O número estimado de linhas dinâmicas nas tabelas somente do usuário nesse banco de dados. DatabaseName Não
Estimativa de modificações de tabelas do usuário n_mod_since_analyze_user_tables Count O número estimado de linhas modificadas desde que as tabelas somente do usuário foram analisadas pela última vez. DatabaseName Não
Tabelas do usuário analisadas tables_analyzed_user_tables Count O número de tabelas somente do usuários analisadas nesse banco de dados. DatabaseName Não
Tabelas do usuário analisadas automaticamente tables_autoanalyzed_user_tables Count O número de tabelas somente do usuário analisadas pelo daemon de vácuo automático nesse banco de dados. DatabaseName Não
Tabelas do usuário que passaram por vácuo automático tables_autovacuumed_user_tables Count O número de tabelas somente do usuário aspiradas pelo daemon de vácuo automático nesse banco de dados. DatabaseName Não
Contador de tabelas do usuário tables_counter_user_tables Count 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 Count O número de tabelas somente do usuário aspiradas nesse banco de dados. DatabaseName Não
Contador do vácuo de tabelas do usuário vacuum_count_user_tables Count O número de vezes em que as tabelas somente do usuário foram aspiradas manualmente neste banco de dados (sem contar VACUUM FULL). DatabaseName No

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 Burstable, o limite é de 10 bancos de dados para métricas que usam a dimensão DatabaseName.
  • O limite da 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 as métricas do PgBouncer para monitorar o desempenho do processo do PgBouncer, incluindo detalhes de 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 minutos 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 das métricas para dividir e filtrar os dados das métricas pelo nome do banco de dados.

Como habilitar métricas do PgBouncer

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

Lista de métricas do PgBouncer

Nome de exibição ID da métrica Unidade Descrição Dimensão Padrão: habilitada
Conexões de cliente ativas client_connections_active Count Conexões de clientes associados a uma conexão do Banco de Dados do Azure para PostgreSQL – Servidor Flexível. DatabaseName Não
Conexões aguardando clientes client_connections_waiting Count Conexões de clientes que estão aguardando uma conexão do servidor flexível do Banco de Dados do Azure para PostgreSQL para atendê-los. DatabaseName Não
Conexões de servidor ativas server_connections_active Count Conexões com o servidor flexível do Banco de Dados do Azure para PostgreSQL que estão sendo usadas por uma conexão de cliente. DatabaseName Não
Conexões de servidor ociosas server_connections_idle Count Conexões ao Banco de Dados do Azure para PostgreSQL – Servidor Flexível que estão ociosas e prontas para atender uma nova conexão do cliente. DatabaseName Não
Total de conexões em pool total_pooled_connections Count O número atual de conexões agrupadas. DatabaseName Não
Número de pools de conexões num_pools Count O número total de pools de conexão. DatabaseName No

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 possuem 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

Is-db-alive é uma métrica de disponibilidade do servidor de banco de dados para o servidor flexível do Banco de Dados do Azure para 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 de exibição ID da métrica Unidade Descrição Dimensão Padrão: habilitada
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

  • A agregação dessa métrica com MAX() permitirá que os clientes determinem se o servidor esteve ativo ou inativo 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 às suas necessidades 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 mostrando um exemplo de divisão e filtragem de 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

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

Componente Descrição Treinamento e/ou configuração necessários
Página de visão geral A maioria dos serviços do Azure tem uma página de visão geral no portal do Azure que inclui uma seção do Monitor com gráficos que mostram métricas críticas recentes. Essa informação serve para que os proprietários de serviços individuais avaliem rapidamente o desempenho do recurso. Esta página é baseada em métricas de plataforma coletadas automaticamente. Nenhuma configuração é necessária.
Metrics Explorer Você pode usar o Metrics Explorer para trabalhar interativamente com dados de métrica e criar alertas de métrica. Você precisa de um treinamento mínimo para usar o Metrics Explorer, mas é necessário estar familiarizado com as métricas que serão analisadas. - Após configurar a coleta de dados, nenhuma outra configuração será necessária.
– As métricas de plataforma para os recursos do Azure são disponibilizadas automaticamente.
– As métricas de convidado para uma máquina virtual são disponibilizadas depois que um agente do Azure Monitor é implantado nela.
– As métricas do aplicativo são disponibilizadas 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 do Grafana, é necessário um treinamento. No entanto, você pode simplificar o processo baixando um painel de monitoramento do Grafana do servidor flexível do Banco de Dados do Azure para PostgreSQL predefinido, o que permite o monitoramento fácil de todas as instâncias de servidor flexível do Banco de Dados do Azure para PostgreSQL na sua organização.

Logs

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

Visualização de logs

Componente Descrição Treinamento e/ou configuração necessários
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. É necessário algum treinamento para que você se familiarize com a linguagem de consulta, ainda assim você pode usar consultas predefinidas para requisitos comuns.

Próximas etapas