Conectar Grafana às métricas do Prometheus no Azure Monitor
Artigo
A maneira mais comum de analisar e apresentar dados do Prometheus é com um painel do Grafana. Você pode recolher métricas do Prometheus no Azure das seguintes maneiras:
Este artigo explica como configurar as métricas do Prometheus hospedadas no Azure como uma fonte de dados para Espaço Gerenciado do Azure para Grafana, Grafana autogerenciado em execução em uma máquina virtual do Azure ou uma instância do Grafana em execução fora do Azure.
Ponto de extremidade da consulta do espaço de trabalho do Azure Monitor
No Azure, os dados do Prometheus são armazenados em um espaço de trabalho do Azure Monitor. Ao configurar a fonte de dados do Prometheus no Grafana, use o Ponto de extremidade da consulta do seu espaço de trabalho do Azure Monitor. Para encontrar o ponto de extremidade da consulta, abra a página de Visão geral do seu espaço de trabalho do Azure Monitor no portal do Azure.
Quando você cria uma instância do Espaço Gerenciado do Azure para Grafana, ela é configurada automaticamente com uma identidade de sistema gerenciada. A identidade tem a função Leitor de Dados de Monitoramento atribuída a ela no nível da assinatura. Essa função permite que a identidade leia qualquer dado de monitoramento da assinatura. Essa identidade é usada para autenticar o Grafana no Azure Monitor. Você não precisa fazer nada para configurar a identidade.
Crie a fonte de dados do Prometheus no Grafana.
Para configurar o Prometheus como uma fonte de dados, siga estas etapas:
Abra o workspace do Espaço Gerenciado do Azure para Grafana no portal do Azure.
Clique em Ponto de extremidade para exibir o workspace do Grafana.
Selecione Conexões e depois Fontes de dados.
Selecione Adicionar fonte de dados
Pesquise e selecione Prometheus.
Cole o ponto de extremidade da consulta do seu espaço de trabalho do Azure Monitor no campo URL do servidor Prometheus.
Em Autenticação, selecione Azure Auth.
Em Autenticação do Azure, selecione Identidade Gerenciada na lista suspensa Autenticação.
Role até a parte inferior da página e selecione Salvar e testar.
Grafana autogerenciado
A seção a seguir descreve como configurar o Grafana autogerenciado em uma máquina virtual do Azure para usar dados do Prometheus hospedados no Azure.
Configurar a identidade do sistema
Use as seguintes etapas para permitir o acesso a todos os workspaces do Azure Monitor em um grupo de recursos ou assinatura:
Abra a página Identidade da sua máquina virtual no portal do Azure.
Defina o Status como Ativado.
Selecione Salvar.
Clique em Atribuições de função do Azure para examinar o acesso existente na assinatura.
Se a função Leitor de Dados de Monitoramento não estiver listada para sua assinatura ou grupo de recursos, selecione + Adicionar atribuição de função
Na lista suspensa Escopo, selecione Assinatura ou Grupo de recursos. Selecionar Assinatura permite acesso a todos os espaços de trabalho do Azure Monitor na assinatura. Selecionar Grupo de recursos permite acesso apenas aos espaços de trabalho do Azure Monitor no grupo de recursos selecionado.
Selecione a assinatura ou o grupo de recursos específico onde seu espaço de trabalho do Azure Monitor está localizado.
Na lista suspensa Função, selecione Leitor de Dados de Monitoramento.
Selecione Salvar.
Configurar o Grafana para Autenticação do Azure
As versões 9.x e superiores do Grafana dão suporte à Autenticação do Azure, mas ela não está habilitada por padrão. Para habilitar a Autenticação do Azure, atualize a configuração do Grafana e reinicie a instância do Grafana. Para encontrar seu grafana.ini arquivo, revise o documento Configurar Grafana do Grafana Labs.
Habilite a Autenticação do Azure usando as etapas a seguir:
Localize e abra o arquivo grafana.ini no seu computador.
Na seção [auth] do arquivo de configuração, altere a configuração azure_auth_enabled para true.
Na seção [azure] do arquivo de configuração, altere a configuração de managed_identity_enabled para true.
Reinicie a instância do Grafana.
Crie a fonte de dados do Prometheus no Grafana
Configure o Prometheus como uma fonte de dados usando as etapas a seguir:
Abra o Grafana no seu navegador.
Selecione Conexões e depois Fontes de dados.
Selecione Adicionar fonte de dados
Pesquise e selecione Prometheus.
Cole o ponto de extremidade da consulta do seu espaço de trabalho do Azure Monitor no campo URL do servidor Prometheus.
Em Autenticação, selecione Azure Auth.
Em Autenticação do Azure, selecione Identidade Gerenciada na lista suspensa Autenticação.
Role até a parte inferior da página e selecione Salvar e testar.
Grafana hospedado fora do Azure
Se a instância do Grafana não estiver hospedada no Azure, você poderá se conectar aos dados do Prometheus no espaço de trabalho do Azure Monitor usando o Microsoft Entra ID.
Configure a autenticação do Microsoft Entra ID usando as etapas a seguir:
Registre um aplicativo com o Microsoft Entra ID.
Conceda ao aplicativo acesso ao workspace do Azure Monitor.
Configure o Grafana auto-hospedado com as credenciais do aplicativo.
Registrar um aplicativo com o Microsoft Entra ID
Para registrar um aplicativo, abra a página “Visão geral” do Active Directory no portal do Azure.
Selecione Registro de aplicativos.
Na página “Registrar um aplicativo”, insira um Nome para o aplicativo.
Selecione Registrar.
Anote a ID do aplicativo (cliente) e a ID do diretório (locatário). Elas são usadas nas configurações de autenticação do Grafana.
Na página de visão geral do aplicativo, selecione Certificados e segredos.
Na guia segredos do cliente, selecione Novo segredo do cliente.
Insira uma Descrição.
Selecione um período de expiração na lista suspensa e clique em Adicionar.
Observação
Crie um processo para renovar o segredo e atualizar as configurações de fonte de dados do Grafana antes da expiração do segredo.
Depois que o segredo expirar, o Grafana perderá a capacidade de consultar dados do seu espaço de trabalho do Azure Monitor.
Copie e salve o Valor do segredo do cliente.
Observação
Os valores de segredo do cliente só podem ser visualizados imediatamente após a criação. Salve o segredo antes de sair da página.
Conceda ao aplicativo acesso ao workspace
Permita que o aplicativo consulte dados no workspace do Azure Monitor.
Abra o workspace do Azure Monitor no portal do Azure.
Na página “Visão geral”, anote o Ponto de extremidade de consulta. O ponto de extremidade de consulta é usado ao configurar a fonte de dados do Grafana.
Selecione IAM (Controle de acesso) .
Selecione Adicionar e, em seguida, Adicionar atribuição de função na página Controle de acesso (IAM).
Na página Adicionar Atribuição de função, pesquise por Monitoramento.
Selecione Leitor de dados de monitoramento e clique na guia Membros.
Você criou o registro do aplicativo e atribuiu a ele acesso a dados de consulta do workspace do Azure Monitor. A próxima etapa é configurar sua fonte de dados do Prometheus no Grafana.
Configurar o Grafana para Autenticação do Azure
O Grafana agora dá suporte à conexão com o Prometheus gerenciado pelo Azure Monitor usando a fonte de dados Prometheus. Para instâncias do Grafana auto-hospedadas, é necessária uma alteração na configuração para usar a opção de Autenticação do Azure no Grafana. Para instâncias do Grafana que não são gerenciadas pelo Azure, faça as seguintes alterações:
As versões 9.x e superiores do Grafana dão suporte à Autenticação do Azure, mas ela não está habilitada por padrão. Para habilitar a Autenticação do Azure, atualize a configuração do Grafana e reinicie a instância do Grafana. Para encontrar seu grafana.ini arquivo, revise o documento Configurar Grafana do Grafana Labs.
Localize e abra o arquivo grafana.ini no seu computador.
Identifique a versão do Grafana.
Para o Grafana 9.0, na seção [feature_toggles], defina prometheus_azure_auth como true.
Para o Grafana 9.1 e versões posteriores, na seção [auth], defina a configuração azure_auth_enabled como true.
Reinicie a instância do Grafana.
Crie a fonte de dados do Prometheus no Grafana
Configure o Prometheus como uma fonte de dados usando as etapas a seguir:
Abra o Grafana no seu navegador.
Selecione Conexões e depois Fontes de dados.
Selecione Adicionar fonte de dados
Pesquise e selecione Prometheus.
Cole o ponto de extremidade da consulta do seu espaço de trabalho do Azure Monitor no campo URL.
Em Autenticação, selecione Azure Auth. Para versões anteriores do Grafana, em Auth, ative Autenticação do Azure
Em Autenticação do Azure, selecione Registro de Aplicativo na lista suspensa Autenticação.
Insira a ID Direta (locatário), a ID do Aplicativo (cliente) e o Segredo do Cliente gerados quando você criou o registro de Aplicativo.
Role até a parte inferior da página e selecione Salvar e testar.
Perguntas frequentes
Esta seção fornece respostas para perguntas comuns.
Estou perdendo todas ou algumas das minhas métricas. Como posso solucionar problemas?
Você pode usar o guia de solução de problemas para ingerir métricas do Prometheus a partir do agente gerenciado aqui.
Por que faltam métricas que têm dois rótulos com o mesmo nome, mas com maiúsculas e minúsculas diferentes?
O Prometheus gerenciado pelo Azure é um sistema que não diferencia maiúsculas de minúsculas. Ele trata as cadeias de caracteres, como nomes de métricas, nomes de rótulos ou valores de rótulos, como a mesma série temporal se elas diferirem de outra série temporal apenas pelo caso da cadeia de caracteres. Para obter mais informações, consulte Visão geral das métricas do Prometheus.
Vejo algumas lacunas nos dados de métrica. Por que isso está ocorrendo?
Durante as atualizações de nó, você pode ver uma lacuna de 1 minuto a 2 minutos nos dados de métrica para métricas coletadas de nossos coletores de nível de cluster. Essa lacuna ocorre porque o nó em que os dados são executados está sendo atualizado como parte de um processo normal de atualização. Esse processo de atualização afeta destinos em todo o cluster, como kube-state-metrics e destinos de aplicativos personalizados especificados. Isso ocorre quando o cluster é atualizado manualmente ou por meio da autenticação automática. Esse comportamento é esperado e ocorre devido à atualização do nó em que ele é executado. Esse comportamento não afeta nenhuma das nossas regras de alerta recomendadas.