Compartilhar via


Azure Monitor e Prometheus

Prometheus é uma solução popular de monitoramento e alerta de código aberto amplamente utilizada no ecossistema nativo da nuvem. As organizações usam o Prometheus para monitorar e alertar sobre o desempenho da infraestrutura e das cargas de trabalho. Geralmente, ele é usado em ambientes do Kubernetes.

Você pode usar o Prometheus como um serviço gerenciado pelo Azure ou como um serviço autogerenciado para coletar métricas. As métricas do Prometheus podem ser coletadas de seus clusters do Azure Kubernetes Service (AKS), clusters do Kubernetes habilitados para Azure Arc, máquinas virtuais e conjuntos de dimensionamento de máquinas virtuais.

As métricas do Prometheus são armazenadas em um espaço de trabalho do Azure Monitor. Você pode analisar e visualizar os dados em um workspace usando o Gerenciador de Métricas com Prometheus Query Language (PromQL) e o Espaço Gerenciado do Azure para Grafana.

Importante

O uso do Azure Monitor para gerenciar e hospedar o Prometheus destina-se a armazenar informações sobre a integridade do serviço de computadores e aplicativos do cliente. Não se destina a armazenar dados pessoais. É altamente recomendável que você não envie informações confidenciais (por exemplo, nomes de usuário e números de cartão de crédito) em campos do Prometheus hospedados no Azure Monitor, como nomes de métrica, nomes de rótulo ou valores de rótulo.

Serviço Gerenciado do Azure Monitor para Prometheus

O serviço gerenciado do Azure Monitor para Prometheus é um componente das Métricas do Azure Monitor que fornece um ambiente totalmente gerenciado e escalonável para executar o Prometheus. Ele simplifica a implantação, o gerenciamento e a colocação em escala do Prometheus no AKS, para que você possa se concentrar no monitoramento de seus aplicativos e infraestrutura.

Como um serviço totalmente gerenciado, o serviço gerenciado do Azure Monitor para Prometheus implanta automaticamente o Prometheus no AKS ou no Kubernetes habilitado para Azure Arc. O serviço fornece alta disponibilidade, garantias de contrato de nível de serviço (SLA) e atualizações automáticas de software. Ele fornece um repositório de métricas altamente escalonável que retém dados por até 18 meses.

O serviço gerenciado do Azure Monitor para Prometheus fornece alertas, regras e painéis pré-configurados. Com painéis recomendados pela comunidade Prometheus e integração nativa com o Grafana, você pode obter monitoramento abrangente imediatamente. O serviço gerenciado do Azure Monitor para Prometheus integra-se ao Espaço Gerenciado do Azure para Grafana e também funciona com o Grafana autogerenciado.

O preço é baseado na ingestão e consulta, sem custo adicional de armazenamento. Para obter mais informações, veja a guia Métricas nos preços do Azure Monitor.

Habilitar o serviço gerenciado do Azure Monitor para Prometheus

O serviço gerenciado do Azure Monitor para Prometheus coleta dados do AKS e do Kubernetes habilitado para Azure Arc.

Para habilitar o serviço gerenciado do Azure Monitor para o Prometheus, você deve criar um espaço de trabalho do Azure Monitor para armazenar as métricas. Em seguida, você pode integrar serviços que coletam métricas do Prometheus:

Para habilitar o Prometheus gerenciado para nuvens desconectadas do Microsoft Azure, entre em contato com o suporte.

Prometheus autogerenciado hospedado pelo Azure

Além do serviço gerenciado do Prometheus, você pode instalar e gerenciar a sua própria instância do Prometheus e usar a gravação remota para armazenar métricas em um workspace do Azure Monitor.

Usando a gravação remota, você pode coletar dados de servidores do Prometheus autogerenciado em execução nos seguintes ambientes:

  • Máquinas virtuais do Azure
  • Conjuntos de dimensionamento de máquina virtual do Azure
  • Servidores habilitados para Azure Arc
  • Clusters do Kubernetes autogerenciados hospedados pelo Azure ou habilitados para Azure Arc

Serviços Kubernetes autogerenciados

Envie métricas do Prometheus autogerenciado em clusters Kubernetes. Para obter mais informações sobre gravação remota em workspaces do Azure Monitor para serviços do Kubernetes, confira os seguintes artigos:

Máquinas virtuais e conjuntos de dimensionamento de máquinas virtuais

Envie dados do Prometheus autogerenciado em máquinas virtuais e conjuntos de dimensionamento de máquinas virtuais. As máquinas virtuais podem estar em um ambiente gerenciado pelo Azure ou no local. Para obter mais informações, confira Enviar métricas do Prometheus por meio de máquinas virtuais, conjuntos de dimensionamento ou clusters do Kubernetes para um workspace do Azure Monitor.

Armazenamento de dados

As métricas do Prometheus são armazenadas em um espaço de trabalho do Azure Monitor. Os dados são armazenados em um banco de dados de série temporal que pode ser consultado por meio do PromQL. Você pode armazenar dados de várias fontes de dados do Prometheus em um único espaço de trabalho do Azure Monitor. Para obter mais informações, confira arquitetura do workspace do Azure Monitor.

Os workspaces do Azure Monitor retêm dados por 18 meses.

Consultar e analisar métricas do Prometheus

Os dados do Prometheus são recuperados via PromQL. Você pode escrever suas próprias consultas, usar consultas da comunidade de software livre e usar painéis do Grafana que incluem consultas PromQL. Para obter mais informações, confira Consulta do Prometheus no site do Prometheus.

Os seguintes serviços do Azure oferecem suporte à consulta de métricas do Prometheus em um espaço de trabalho do Azure Monitor:

Gerenciador de métricas do Azure Monitor com PromQL

Use o Metrics Explorer com PromQL (versão prévia) para analisar e visualizar métricas de plataforma e Prometheus. O Metrics Explorer com PromQL está disponível no painel Métricas no workspace do Azure Monitor, onde suas métricas do Prometheus são armazenadas. Para obter mais informações, confira Azure Monitor Metrics Explorer com PromQL.

Captura de tela de uma consulta do PromQL no Azure Monitor Metrics Explorer.

Pastas de trabalho do Azure

Crie gráficos e painéis alimentados pelo serviço gerenciado para Prometheus do Azure Monitor usando pastas de trabalho do Azure e consultas PromQL. Para obter mais informações, confira Consulta de métricas do Prometheus usando pastas de trabalho do Azure.

Integração com o Grafana

Visualize as métricas do Prometheus usando o Espaço Gerenciado do Azure para Grafana. Conecte o seu workspace do Azure Monitor a um workspace do Grafana para que você possa usá-lo como uma fonte de dados em um painel do Grafana. Em seguida, você tem acesso a vários painéis predefinidos que usam métricas do Prometheus. Você também tem a capacidade de criar quantos painéis personalizados quiser. Para obter mais informações, confira Vincular um workspace do Grafana.

API de consulta do Prometheus

Use o PromQL por meio da API REST para consultar métricas do Prometheus armazenadas em um espaço de trabalho do Azure Monitor. Para obter mais informações, confira Consultar métricas do Prometheus usando a API e o PromQL.

Regras e alertas

O Prometheus dá suporte a regras de gravação e regras de alerta usando consultas PromQL. O serviço gerenciado do Azure Monitor para Prometheus implanta automaticamente regras e alertas. As métricas que registram o registro de regras são armazenadas no workspace do Azure Monitor. Painéis ou outras regras podem consultar as métricas.

Você pode criar e gerenciar regras de alerta e de gravação usando Grupos de regras do serviço gerenciado para Prometheus do Azure Monitor. Para o cluster do AKS, um conjunto de regras de alerta e regras de gravação predefinidas do Prometheus ajuda você a começar rapidamente.

Os alertas disparados por regras de alerta podem iniciar ações ou notificações, conforme definido nos grupos de ações configurados para a regra de alerta. Você também pode exibir alertas do Prometheus disparados e solucionados no portal do Azure, juntamente com outros tipos de alerta.

Cotas e limites de serviço

O serviço gerenciado do Azure Monitor para Prometheus tem limites e cotas padrão para ingestão. Quando você atingir os limites de ingestão, a limitação poderá ocorrer. Você pode solicitar um aumento nesses limites. Para saber mais, confira Limites de serviço do Azure Monitor.

Para monitorar e alertar sobre suas métricas de ingestão, veja Monitorar ingestão de métricas do espaço de trabalho do Azure Monitor.

Limitações

As seguintes limitações se aplicam ao serviço gerenciado do Azure Monitor para Prometheus:

  • A frequência mínima para coleta e armazenamento de métricas é de 1 segundo.
  • Durante as atualizações de nó, podem ocorrer lacunas que duram de 1 a 2 minutos em algumas coleções de métricas do coletor de nível de cluster. Essa lacuna ocorre devido a uma ação regular de Serviço de Kubernetes do Azure atualizar os nós no cluster. Esse comportamento não afeta as regras de alerta recomendadas.
  • Os nós gerenciados do Prometheus para Windows não são habilitados automaticamente. Para habilitar o monitoramento de nós e pods do Windows em seus clusters, confira Habilitar a coleção de métricas do Windows (versão prévia).

Diferenciar maiúsculas de minúsculas

O serviço gerenciado para Prometheus do Azure Monitor é um sistema que não diferencia maiúsculas de minúsculas. Ele trata cadeias de caracteres (como nomes de métrica, nomes de rótulo ou valores de rótulo) como a mesma série temporal se forem diferentes de outra série temporal somente em relação às maiúsculas e minúsculas da cadeia de caracteres.

Observação

Esse comportamento é diferente do Prometheus de código aberto nativo, que diferencia maiúsculas de minúsculas. Instâncias do Prometheus autogerenciado em execução em máquinas virtuais do Azure, conjuntos de dimensionamento de máquinas virtuais ou clusters do Serviço de Kubernetes do Azure são sistemas que diferenciam maiúsculas de minúsculas.

No serviço gerenciado para Prometheus, as seguintes séries temporais são consideradas as mesmas:

diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")

Os exemplos anteriores são uma única série temporal em um banco de dados de série temporal. As seguintes considerações se aplicam:

  • Todos os exemplos ingeridos neles são armazenados como se fossem raspados ou ingeridos em uma única série temporal.
  • Se os exemplos anteriores forem ingeridos com o mesmo carimbo de data/hora, um deles será descartado aleatoriamente.
  • O uso de letras maiúsculas e minúsculas armazenadas no banco de dados de séries temporais e retornadas por uma consulta é imprevisível. A mesma série temporal pode retornar maiúsculas e minúsculas diferentes em momentos diferentes.
  • Qualquer nome de métrica ou valor/nome correspondente presente na consulta é recuperado do banco de dados de série temporal por meio de uma comparação que não diferencia maiúsculas de minúsculas. Se houver um valor correspondente que diferencia maiúsculas de minúsculas em uma consulta, ele será tratado automaticamente como um valor correspondente que não diferencia maiúsculas de minúsculas em comparações de cadeia de caracteres.

É uma prática recomendada usar maiúsculas e minúsculas de forma consistente para produzir ou extrair uma série temporal.

O Prometheus de código aberto trata os exemplos anteriores como duas séries temporais diferentes. Todos os exemplos extraídos ou ingeridos neles são armazenados separadamente.

Referências do Prometheus

Veja a seguir links para a documentação do Prometheus: