Serviço gerenciado do Azure Monitor para gravação remota do Prometheus
O serviço gerenciado do Azure Monitor para Prometheus destina-se a substituir o Prometheus autogerenciado para que você não precise gerenciar um servidor Prometheus em seus clusters Kubernetes. Você também pode optar por usar o serviço gerenciado para centralizar dados de clusters Prometheus autogerenciados para retenção de dados de longo prazo e para criar uma exibição centralizada em seus clusters. Nesse caso, você pode usar remote_write para enviar dados do Prometheus autogerenciado para o serviço gerenciado do Azure.
Arquitetura
Você pode configurar o Prometheus em execução no cluster do Kubernetes para gravar remotamente no Espaço de Trabalho do Azure Monitor. Atualmente, a identidade gerenciada atribuída pelo usuário ou o aplicativo Microsoft Entra ID são os tipos de autenticação suportados usando a configuração de gravação remota do Prometheus para ingerir métricas no Azure Monitor Workspace.
O Azure Monitor também fornece um contêiner de proxy reverso (contêiner de carro lateral do Azure Monitor) que fornece uma abstração para ingerir métricas de gravação remota do Prometheus e ajuda na autenticação de pacotes.
Recomendamos configurar a gravação remota diretamente em sua configuração autogerenciada do Prometheus em execução em seu ambiente. O contêiner do carro lateral do Azure Monitor pode ser usado caso sua autenticação preferida não seja suportada por meio da configuração direta.
Versões suportadas
- São necessárias versões do Prometheus superiores à v2.45 para a autenticação de identidade gerida.
- São necessárias versões do Prometheus superiores à v2.48 para a autenticação da aplicação Microsoft Entra ID.
Configurar gravação remota
A configuração da gravação remota depende da configuração do cluster e do tipo de autenticação que você usa.
- A identidade gerenciada é recomendada para o serviço Kubernetes do Azure (AKS) e o cluster Kubernetes habilitado para Azure Arc.
- O Microsoft Entra ID pode ser usado para o serviço Kubernetes do Azure (AKS) e o cluster Kubernetes habilitado para Azure Arc e é necessário para o cluster Kubernetes em execução em outra nuvem ou local.
Para obter mais informações sobre como configurar a gravação remota para identidade gerenciada atribuída pelo usuário e aplicativo Microsoft Entra ID, consulte Configurar a gravação remota no Kubernetes para o operador Prometheus. Esta opção pode ser usada para Prometheus auto-gerenciado em execução em qualquer ambiente.
A gravação remota para Prometheus em clusters Kubernetes também pode ser configurada usando um contêiner de carro lateral. Consulte os artigos a seguir para obter mais informações sobre como configurar a gravação remota para clusters Kubernetes usando um contêiner de carro lateral.
- Enviar dados do Prometheus do AKS para o Azure Monitor usando o contêiner do carro lateral com autenticação de identidade gerenciada
- Enviar dados do Prometheus do AKS para o Azure Monitor usando o contêiner do carro lateral com autenticação Microsoft Entra ID
- Enviar dados do Prometheus para o Azure Monitor usando o contêiner do carro lateral com a autenticação de ID de carga de trabalho do Microsoft Entra ID
Gravação remota a partir de máquinas virtuais e conjuntos de dimensionamento de máquinas virtuais
Você pode enviar dados do Prometheus de Máquinas Virtuais e Conjuntos de Dimensionamento de Máquinas Virtuais para espaços de trabalho do Azure Monitor usando gravação remota. Os servidores podem ser gerenciados pelo Azure ou em qualquer outro ambiente. Para obter mais informações, consulte Enviar métricas do Prometheus de máquinas virtuais para um espaço de trabalho do Azure Monitor.
Verificar se a gravação remota está funcionando corretamente
Use os métodos a seguir para verificar se os dados do Prometheus estão sendo enviados para seu espaço de trabalho do Azure Monitor.
Comandos Kubectl
Use o comando a seguir para visualizar os logs do contêiner lateral do carro. Os dados de gravação remota estão fluindo se a saída tiver valor diferente de zero para avgBytesPerRequest
e avgRequestDuration
.
kubectl logs <Prometheus-Pod-Name> <Azure-Monitor-Side-Car-Container-Name> --namespace <namespace-where-Prometheus-is-running>
# example: kubectl logs prometheus-prometheus-kube-prometheus-prometheus-0 prom-remotewrite --namespace monitoring
A saída deste comando tem o seguinte formato:
time="2022-11-02T21:32:59Z" level=info msg="Metric packets published in last 1 minute" avgBytesPerRequest=19713 avgRequestDurationInSec=0.023 failedPublishing=0 successfullyPublished=122
Azure Monitor metrics explorer com PromQL
Para verificar se as métricas estão fluindo para o espaço de trabalho do Azure Monitor, no seu espaço de trabalho do Azure Monitor no portal do Azure, selecione Métricas. Use o explorador de métricas para consultar as métricas que você espera do ambiente Prometheus autogerenciado. Para obter mais informações, consulte Explorador de métricas.
Prometheus explorer no Azure Monitor Workspace
O Prometheus Explorer fornece uma maneira conveniente de interagir com as métricas do Prometheus em seu ambiente do Azure, tornando o monitoramento e a solução de problemas mais eficientes. Para usar o explorador Prometheus, vá para seu espaço de trabalho do Azure Monitor no portal do Azure e selecione Prometheus Explorer para consultar as métricas que você espera do ambiente Prometheus autogerenciado. Para obter mais informações, consulte Prometheus explorer.
Grafana
Use consultas PromQL no Grafana e verifique se os resultados retornam os dados esperados. Para obter mais informações sobre como configurar o Grafana para o serviço gerenciado do Azure para Prometheus, consulte Usar o serviço gerenciado do Azure Monitor para Prometheus como fonte de dados para o Grafana usando a identidade do sistema gerenciado
Solucionar problemas de gravação remota
Se os dados remotos não estiverem aparecendo em seu espaço de trabalho do Azure Monitor, consulte Solucionar problemas de gravação remota para problemas e soluções comuns.