Monitorar métricas no Banco de Dados do Azure para PostgreSQL - Servidor Flexível
Artigo
17/12/2024
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.
Sim
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.
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
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 do servidor flexível do Banco de Dados do Azure para Postgres, incluindo recursos como monitoramento, logs, arquivo WAL, replicação etc.
Sim
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 seu banco de dados e para o servidor flexível do Banco de Dados do Azure para Postgres, incluindo recursos como monitoramento, logs, arquivo WAL, replicação etc.
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
Uso da CPU do processo Postmaster (versão prévia)
postmaster_process_cpu_usage_percent
Percentual
Utilização da CPU do processo Postmaster. Não aplicável para SKU com capacidade de intermitência.
Não se aplica
Não
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
Sim
Backlog de conexão TCP (versão prévia)
tcp_connection_backlog
Count
Número de conexões pendentes que excedem a capacidade do servidor PostgreSQL. Aplicável para 8 vCores e superiores.
Estado
Não
^ 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
Para monitorar as métricas do PgBouncer, garanta que o recurso pgbouncer esteja habilitado por meio do parâmetro de servidor pgbouncer.enabled e que o parâmetro de métricas metrics.pgbouncer_diagnostics esteja habilitado.
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
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:
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.
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.
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.
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.
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.
Logs do servidor
O recurso Logs do Servidor no Servidor Flexível do Banco de Dados do Azure para PostgreSQL permite que os usuários habilitem, configurem e baixem logs do servidor, que 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 no servidor flexível do Banco de Dados do Azure para PostgreSQL está desabilitado. No entanto, depois de habilitar o recurso, o servidor flexível do Banco de Dados do Azure para PostgreSQL começa a capturar eventos do tipo de log selecionado e os grava em um arquivo. Em seguida, você pode usar o portal do Azure ou a CLI do Azure para baixar os arquivos para ajudar nos esforços de solução de problemas.
Este artigo descreve como configurar e acessar os alertas de métricas para o Banco de Dados do Azure para PostgreSQL – Servidor Flexível do portal do Azure.
Este artigo descreve como você pode monitorar o Banco de Dados do Azure para PostgreSQL - Servidor Flexível usando as pastas de trabalho do Azure Monitor.
Este artigo descreve os limites no Banco de Dados do Azure para PostgreSQL - Servidor Flexível, como o número de conexões e opções do mecanismo de armazenamento.
Saiba como capturar a saída de rastreamento de seus aplicativos Web do Azure. Exiba um fluxo de log em tempo real e baixe arquivos de log para análise offline.