Partilhar via


Enviar métricas do Prometheus de máquinas virtuais, conjuntos de escala ou clusters do Kubernetes para um espaço de trabalho do Azure Monitor

O Prometheus não se limita ao monitoramento de clusters Kubernetes. Utilize o Prometheus para monitorizar aplicações e serviços em execução nos seus servidores, onde quer que estejam a ser executados. Por exemplo, você pode monitorar aplicativos em execução em Máquinas Virtuais, Conjuntos de Dimensionamento de Máquinas Virtuais ou até mesmo servidores locais. Você também pode enviar métricas do Prometheus para um espaço de trabalho do Azure Monitor a partir do cluster autogerenciado e do servidor Prometheus. Instale o Prometheus em seus servidores e configure a gravação remota para enviar métricas para um espaço de trabalho do Azure Monitor.

Este artigo explica como configurar a gravação remota para enviar dados de uma instância do Prometheus autogerenciada para um espaço de trabalho do Azure Monitor.

Opções de gravação remota

O Prometheus autogerenciado pode ser executado em ambientes Azure e não Azure. A seguir estão as opções de autenticação para gravação remota no espaço de trabalho do Azure Monitor com base no ambiente em que o Prometheus está sendo executado.

Máquinas Virtuais gerenciadas pelo Azure, Conjuntos de Dimensionamento de Máquinas Virtuais e clusters Kubernetes gerenciados pelo Azure

Use a autenticação de identidade gerenciada atribuída pelo usuário para serviços que executam o Prometheus autogerenciado em um ambiente do Azure. Os serviços gerenciados pelo Azure incluem:

  • Máquinas Virtuais do Microsoft Azure
  • Conjuntos de Dimensionamento de Máquinas Virtuais do Azure
  • Máquinas Virtuais habilitadas para Azure Arc
  • Azure Kubernetes Service (AKS)

Para configurar a gravação remota para recursos gerenciados pelo Azure, consulte Gravação remota usando identidade gerenciada atribuída pelo usuário.

Máquinas virtuais e clusters Kubernetes em execução em ambientes que não sejam do Azure.

Se você tiver máquinas virtuais ou um cluster Kubernetes em ambientes que não sejam do Azure e não quiser integrar ao Azure Arc, instale o Prometheus autogerenciado e configure a gravação remota usando a autenticação do aplicativo Microsoft Entra ID. Para obter mais informações, consulte Gravação remota usando a autenticação do aplicativo Microsoft Entra ID.

A integração aos serviços habilitados para Azure Arc permite gerenciar e configurar máquinas virtuais que não sejam do Azure no Azure. Uma vez integrado, configure a gravação remota usando a autenticação de identidade gerenciada atribuída pelo usuário. Para obter mais informações sobre a integração de máquinas virtuais a servidores habilitados para Azure Arc, consulte Servidores habilitados para Arco do Azure e Kubernetes habilitados para Arco do Azure.

Pré-requisitos

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.

Espaço de trabalho do Azure Monitor

Este artigo aborda o envio de métricas do Prometheus para um espaço de trabalho do Azure Monitor. Para criar um espaço de trabalho de monitor do Azure, consulte Gerenciar um espaço de trabalho do Azure Monitor.

Permissões

As permissões de administrador para o cluster ou recurso são necessárias para concluir as etapas neste artigo.

Configurar a autenticação para gravação remota

Dependendo do ambiente em que o Prometheus está sendo executado, você pode configurar a gravação remota para usar a identidade gerenciada atribuída pelo usuário ou a autenticação do aplicativo Microsoft Entra ID para enviar dados para o espaço de trabalho do Azure Monitor.

Use o portal do Azure ou a CLI para criar uma identidade gerenciada atribuída pelo usuário ou um aplicativo Microsoft Entra ID.

Gravação remota usando autenticação de identidade gerenciada atribuída pelo usuário

A autenticação de identidade gerenciada atribuída pelo usuário pode ser usada em qualquer ambiente gerenciado pelo Azure. Se o seu serviço Prometheus estiver sendo executado em um ambiente que não seja do Azure, você poderá usar a autenticação do aplicativo Entra ID.

Para configurar uma identidade gerenciada atribuída pelo usuário para gravação remota no espaço de trabalho do Azure Monitor, conclua as etapas a seguir.

Criar uma identidade gerida atribuída pelo utilizador

Para criar uma identidade gerenciada pelo usuário para usar em sua configuração de gravação remota, consulte Gerenciar identidades gerenciadas atribuídas pelo usuário.

Observe o valor da clientId identidade gerenciada que você criou. Este ID é usado na configuração de gravação remota do Prometheus.

Atribuir a função de Publicador de Métricas de Monitoramento ao aplicativo

Na regra de coleta de dados do espaço de trabalho, atribua a Monitoring Metrics Publisher função à identidade gerenciada.

  1. Na página Visão geral do espaço de trabalho do Azure Monitor, selecione o link Regra de coleta de dados.

    Uma captura de tela mostrando o link da regra de coleta de dados em uma página de espaço de trabalho do Azure Monitor.

  2. Na página da regra de coleta de dados, selecione Controle de acesso (IAM).

  3. Selecione Adicionar e Adicionar atribuição de função. Uma captura de tela mostrando a regra de coleta de dados.

  4. Procure e selecione Monitoring Metrics Publisher e, em seguida, selecione Next. Uma captura de tela mostrando o menu de atribuição de função para uma regra de coleta de dados.

  5. Selecione Identidade gerenciada.

  6. Selecione Selecionar membros.

  7. No menu suspenso Entidade gerenciada, identidade gerenciada atribuída pelo usuário.

  8. Selecione a identidade atribuída pelo usuário que você deseja usar e clique em Selecionar.

  9. Selecione Rever + atribuir para concluir a atribuição de função.

    Uma captura de tela mostrando o menu de seleção de membros para uma regra de coleta de dados.

Atribuir a identidade gerenciada a uma máquina virtual ou a um conjunto de escala de máquina virtual

Importante

Para concluir as etapas nesta seção, você deve ter permissões de proprietário ou administrador de acesso de usuário para a Máquina Virtual ou o Conjunto de Escala de MAchine Virtual.

  1. No portal do Azure, vá para a página do cluster, da Máquina Virtual ou do Conjunto de Dimensionamento de Máquina Virtual.

  2. Selecione a Identidade.

  3. Selecione Usuário atribuído.

  4. Selecione Adicionar.

  5. Selecione a identidade gerenciada atribuída ao usuário que você criou e, em seguida, selecione Adicionar.

    Uma captura de tela mostrando a página adicionar identidade gerenciada atribuída ao usuário.

Atribuir a identidade gerenciada para um Serviço Kubernetes do Azure

Para os serviços Kubernetes do Azure (AKS), a identidade gerenciada deve ser atribuída aos conjuntos de escala da máquina virtual.

O AKS cria um grupo de recursos que contém os conjuntos de escala da máquina virtual. O nome do grupo de recursos está no formato MC_<resource group name>_<AKS cluster name>_<region>. Para cada Conjunto de Escala de Máquina Virtual no grupo de recursos, atribua a identidade gerenciada de acordo com as etapas na seção anterior, Atribua a identidade gerenciada a uma Máquina Virtual ou a um Conjunto de Escala de Máquina Virtual.

Configurar gravação remota

A gravação remota é configurada no arquivo prometheus.ymlde configuração Prometheus ou no Operador Prometheus.

Para obter mais informações sobre como configurar a gravação remota, consulte o Prometheus.io artigo: Configuração. Para obter mais informações sobre como ajustar a configuração de gravação remota, consulte Ajuste de gravação remota.

Se você estiver executando o Prometheus Operator em um cluster Kubernetes, siga as etapas abaixo para enviar dados para seu espaço de trabalho do Azure Monitor.

  1. Se você estiver usando a autenticação do Microsoft Entra ID, converta o segredo usando a codificação base64 e aplique o segredo no cluster do Kubernetes. Salve o seguinte em um arquivo yaml. Ignore esta etapa se estiver usando a autenticação de identidade gerenciada.
apiVersion: v1
kind: Secret
metadata:
  name: remote-write-secret
  namespace: monitoring # Replace with namespace where Prometheus Operator is deployed. 
type: Opaque
data:
  password: <base64-encoded-secret>

Aplique o segredo.

# set context to your cluster 
az aks get-credentials -g <aks-rg-name> -n <aks-cluster-name> 

kubectl apply -f <remote-write-secret.yaml>
  1. Você precisará atualizar os valores para a seção de gravação remota no Prometheus Operator. Copie o seguinte e salve-o como um arquivo yaml. Para os valores do arquivo yaml, consulte a seção abaixo. Consulte a documentação do Operador Prometheus para obter mais detalhes sobre a especificação de escrita remota do Espaço de Trabalho do Azure Monitor no Operador Prometheus.
prometheus:
  prometheusSpec:
    remoteWrite:
    - url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
      azureAd:
# AzureAD configuration.
# The Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'.
        cloud: 'AzurePublic'
        managedIdentity:
          clientId: "<clientId of the managed identity>"
        oauth:
          clientId: "<clientId of the Entra app>"
          clientSecret:
            name: remote-write-secret
            key: password
          tenantId: "<Azure subscription tenant Id>"
  1. Use helm para atualizar sua configuração de gravação remota usando o arquivo yaml acima.
helm upgrade -f <YAML-FILENAME>.yml prometheus prometheus-community/kube-prometheus-stack --namespace <namespace where Prometheus Operator is deployed>

O url parâmetro especifica o ponto de extremidade de ingestão de métricas do espaço de trabalho do Azure Monitor. Ele pode ser encontrado na página Visão geral do seu espaço de trabalho do Azure Monitor no portal do Azure.

Uma captura de tela mostrando o ponto de extremidade de ingestão de métricas para um espaço de trabalho do Azure Monitor.

Use o , ou oauth para autenticação do managed_identityaplicativo Microsoft Entra ID, dependendo da sua implementação. Remova o objeto que não está a utilizar.

Encontre sua ID de cliente para a identidade gerenciada usando o seguinte comando da CLI do Azure:

az identity list --resource-group <resource group name>

Para obter mais informações, consulte az identity list.

Para encontrar seu cliente para autenticação de identidade gerenciada no portal, vá para a página Identidades Gerenciadas no portal do Azure e selecione o nome de identidade relevante. Copie o valor da ID do Cliente da página Visão geral da identidade.

Uma captura de tela mostrando o ID do cliente na página Visão geral da identidade.

Para localizar a ID do cliente para o aplicativo Microsoft Entra ID, use a seguinte CLI ou consulte a primeira etapa na seção Criar um aplicativo Microsoft Entra ID usando o portal do Azure.

$ az ad app list --display-name < application name>

Para obter mais informações, consulte az ad app list.

Nota

Depois de editar o arquivo de configuração, reinicie o Prometheus para que as alterações sejam aplicadas.

Verifique se os dados de gravação remota estão fluindo

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.

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 para verificar se os resultados retornam os dados esperados. Para configurar o Grafana, consulte Obtendo a configuração do Grafana com o Managed Prometheus

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.

Próximos passos