Gravação remota do serviço gerenciado do Azure Monitor para Prometheus (versão prévia)
O serviço gerenciado do Azure Monitor para Prometheus destina-se a ser um substituto para o Prometheus autogerenciado para que você não precise gerenciar um servidor do Prometheus nos clusters do Kubernetes. Você também pode 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 nos clusters. Nesse caso, use remote_write para enviar dados do Prometheus autogerenciado ao serviço gerenciado do Azure.
Arquitetura
Você pode configurar o Prometheus em execução no cluster do Kubernetes para gravação remota no Workspace 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 com suporte usando a configuração de gravação remota do Prometheus para ingerir métricas no Workspace do Azure Monitor.
O Azure Monitor oferece um contêiner de proxy reverso (contêiner secundário do Azure Monitor) que fornece uma abstração para ingerir as 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 do Prometheus autogerenciada em execução em seu ambiente. O contêiner de carro lateral do Azure Monitor pode ser usado caso sua autenticação preferencial não tenha suporte por meio da configuração direta.
Versões suportadas
- Versões do Prometheus acima da v2.45 são necessárias para a autenticação de identidade gerenciada.
- Versões do Prometheus acima da v2.48 são necessárias para a autenticação de aplicativo do Microsoft Entra ID.
Configurar gravação remota
A configuração da gravação remota depende da configuração do seu cluster e do tipo de autenticação que você usa.
- A identidade gerenciada é recomendada para o AKS (serviço de Kubernetes do Azure) e o cluster do Kubernetes habilitado para o Azure Arc.
- O Microsoft Entra ID pode ser usado para o AKS (serviço de Kubernetes do Azure) e o cluster do Kubernetes habilitado para o Azure Arc, e é necessário para o cluster do Kubernetes em execução em outra nuvem ou local.
Para obter mais informações sobre como configurar a gravação remota para a identidade gerenciada atribuída pelo usuário e o aplicativo Microsoft Entra ID, veja Configurar gravação remota no Kubernetes para o Prometheus Operator. Essa opção pode ser usada para o Prometheus autogerenciado em execução em qualquer ambiente.
A gravação remota do Prometheus em clusters do Kubernetes também pode ser configurada usando um contêiner sidecar. Veja os artigos a seguir para obter mais informações sobre como configurar a gravação remota para clusters do Kubernetes usando um contêiner sidecar.
- Enviar dados do Prometheus do AKS para o Azure Monitor usando contêiner de carro lateral com autenticação de identidade gerenciada
- Enviar dados do Prometheus do AKS para o Azure Monitor usando o contêiner de carro lateral com a autenticação do Microsoft Entra ID
- Enviar dados do Prometheus para o Azure Monitor usando o contêiner carro lateral com 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 a gravação remota. Os servidores podem ser gerenciados pelo Azure ou estar em qualquer outro ambiente. Para obter mais informações, confira 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 seguintes métodos para verificar se os dados do Prometheus estão sendo enviados ao workspace do Azure Monitor.
Comandos do kubectl
Use o comando a seguir para ver logs do contêiner sidecar. Os dados de gravação remota estarão fluindo se a saída tiver um 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 desse 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
Gerenciador de métricas do Azure Monitor com PromQL
Para verificar se as métricas estão fluindo para o espaço de trabalho do Azure Monitor, selecione Métricas no espaço de trabalho do Azure Monitor no portal do Azure. Use o gerenciador de métricas para consultar as métricas que você está esperando do ambiente autogerenciado do Prometheus. Para obter mais informações, confira Gerenciador de métricas.
Gerenciador do Prometheus no Workspace do Azure Monitor
O Prometheus Explorer fornece uma maneira conveniente de interagir com as métricas do Prometheus dentro do seu ambiente do Azure, aumentando a eficiência do monitoramento e da solução de problemas. Para usar o Prometheus Explorer, acesse o espaço de trabalho do Azure Monitor no portal do Azure e selecione Prometheus Explorer para consultar as métricas que você está esperando do ambiente autogerenciado do Prometheus. Para obter mais informações, confira 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, confira Usar o serviço gerenciado do Azure Monitor para Prometheus como fonte de dados para o Grafana usando a identidade do sistema gerenciada
Solucionar problemas de gravação remota
Se os dados remotos não estiverem aparecendo no seu espaço de trabalho do Azure Monitor, confira Solucionar problemas de gravação remota para obter informações sobre problemas e soluções mais comuns.