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.
Este artigo explica como configurar a gravação remota para enviar dados de uma instância autogerenciada do Prometheus para um espaço de trabalho do Azure Monitor.
Opções para 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 em um 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
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
- Azure Kubernetes Service (AKS)
Para configurar a gravação remota para recursos gerenciados pelo Azure, consulte Gravação remota usando autenticação de identidade gerenciada atribuída pelo usuário, mais adiante neste artigo.
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, ou se tiver integrado ao Azure Arc, instale o Prometheus autogerenciado e configure a gravação remota usando a autenticação de aplicativo Microsoft Entra. Para obter mais informações, consulte Gravação remota usando a autenticação de aplicativo Microsoft Entra mais adiante neste artigo.
A integração a servidores habilitados para Azure Arc permite gerenciar e configurar máquinas virtuais que não sejam do Azure no Azure. Para obter mais informações, consulte Servidores habilitados para Arco do Azure e Kubernetes habilitados para Arco do Azure. Os servidores habilitados para Azure Arc oferecem suporte apenas à autenticação Microsoft Entra.
Nota
Não há suporte para identidades gerenciadas atribuídas pelo sistema para gravação remota em espaços de trabalho do Azure Monitor. Use uma identidade gerenciada atribuída pelo usuário ou autenticação de aplicativo Microsoft Entra.
Pré-requisitos
Versões suportadas
- As versões do Prometheus posteriores à 2.45 são necessárias para a autenticação de identidade gerenciada.
- As versões do Prometheus posteriores à 2.48 são necessárias para a autenticação do aplicativo Microsoft Entra.
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 uma identidade gerenciada atribuída pelo usuário ou a autenticação de aplicativo Microsoft Entra para enviar dados para um espaço de trabalho do Azure Monitor.
Use o portal do Azure ou a CLI do Azure para criar uma identidade gerenciada atribuída pelo usuário ou um aplicativo Microsoft Entra.
- Gravação remota usando uma identidade gerenciada atribuída pelo usuário
- Aplicação Microsoft Entra ID
- CLI do Azure
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 de aplicativo Microsoft Entra.
Para configurar uma identidade gerenciada atribuída pelo usuário para gravação remota em um 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 de para a identidade gerenciada clientId
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 função Editor de Métricas de Monitoramento à identidade gerenciada:
No painel de visão geral do espaço de trabalho do Azure Monitor, selecione o link Regra de coleta de dados.
Na página da regra de coleta de dados, selecione Controle de acesso (IAM).
Selecione Adicionar>Adicionar atribuição de função.
Procure e selecione Monitoring Metrics Publisher e, em seguida, selecione Next.
Selecione Identidade gerenciada.
Escolha Selecionar membros.
Na lista suspensa Identidade gerenciada, selecione Identidade gerenciada atribuída pelo usuário.
Selecione a identidade atribuída pelo usuário que você deseja usar e escolha Selecionar.
Selecione Rever + atribuir para concluir a atribuição de função.
Atribuir a identidade gerenciada a uma máquina virtual ou a um conjunto de dimensionamento 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 dimensionamento da máquina virtual.
No portal do Azure, vá para a página do cluster, máquina virtual ou conjunto de escala de máquina virtual.
Selecione a Identidade.
Selecione Usuário atribuído.
Selecione Adicionar.
Selecione a identidade gerenciada atribuída pelo usuário que você criou e selecione Adicionar.
Atribuir a identidade gerenciada para o Serviço Kubernetes do Azure
Para o Serviço Kubernetes do Azure, a identidade gerenciada deve ser atribuída a conjuntos de dimensionamento de 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 escala de máquina virtual definida 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.yml
de configuração Prometheus ou no Prometheus Operator.
Para obter mais informações sobre como configurar a gravação remota, consulte este Prometheus.io artigo: Configuração. Para obter informações sobre como ajustar a configuração de gravação remota, consulte Ajuste de gravação remota.
- Configurar a gravação remota para Prometheus em execução em máquinas virtuais
- Configurar a gravação remota no Kubernetes para o Prometheus Operator
Para enviar dados para seu espaço de trabalho do Azure Monitor, adicione a seguinte seção ao arquivo de configuração (prometheus.yml
) de sua instância Prometheus autogerenciada:
remote_write:
- url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
# Microsoft Entra ID configuration.
# The Azure cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'.
azuread:
cloud: 'AzurePublic'
managed_identity:
client_id: "<client-id of the managed identity>"
oauth:
client_id: "<client-id from the Entra app>"
client_secret: "<client secret from the Entra app>"
tenant_id: "<Azure subscription tenant Id>"
O url
parâmetro especifica o ponto de extremidade de ingestão de métricas do espaço de trabalho do Azure Monitor. Você pode encontrá-lo no painel de visão geral do seu espaço de trabalho do Azure Monitor no portal do Azure.
Use um ou managed_identity
oauth
para autenticação de aplicativo Microsoft Entra, 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 Identidades Gerenciadas no portal do Azure e selecione o nome de identidade relevante. Copie o valor da ID do Cliente do painel Visão geral da identidade gerenciada.
Para localizar a ID do cliente para o aplicativo Microsoft Entra ID, use o seguinte comando da CLI do Azure (ou consulte a primeira etapa na seção Gravação remota anterior usando a autenticação do aplicativo Microsoft Entra):
$ 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 aplicar as alterações.
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 com Prometheus Query Language (PromQL) para consultar as métricas que você espera do ambiente Prometheus autogerenciado. Para obter mais informações, consulte Azure Monitor metrics explorer with PromQL.
Prometheus explorer no espaço de trabalho do Azure Monitor
O explorador do Prometheus fornece uma maneira conveniente de interagir com as métricas do Prometheus em seu ambiente do Azure, para que o monitoramento e a solução de problemas sejam mais eficientes. Para usar o Prometheus explorer, vá para seu espaço de trabalho do Azure Monitor no portal do Azure e selecione Prometheus Explorer. Em seguida, você pode consultar as métricas que espera do ambiente Prometheus autogerenciado.
Para obter mais informações, consulte Consultar métricas do Prometheus usando pastas de trabalho do Azure.
Grafana
Use consultas PromQL no Grafana para verificar se os resultados retornam os dados esperados. Para configurar o Grafana, consulte o artigo sobre como configurar o Grafana com o Prometheus 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.