Salve rapa!
No post de hoje, vou mostrar como integrar o Azure Monitor ao Grafana, uma das ferramentas mais importantes no campo da observabilidade.
Então bora lá…
Observação: durante o tutorial, algumas partes das imagens serão borradas por questões de segurança.
1° Etapa – Configurar App registration no Microsoft Entra ID
O App Registration no Microsoft Entra ID é utilizado para permitir que aplicações, como o Grafana, acessem de forma segura os recursos e serviços do Azure. Através dele, geramos uma identidade única com permissões específicas, que autoriza o Grafana a consultar métricas e logs do Azure Monitor.
Após fazer login no portal do Azure, acesse o Microsoft Entra ID.
Acesse Registro de Aplicativos e crie um novo aplicativo.
Crie um nome que facilite a identificação da finalidade do aplicativo.
Defina se o aplicativo será usado apenas para o tenant atual ou será multi-tenant. Neste caso, vou criar apenas para o tenant atual.
Após concluir o registro do aplicativo, acesse-o e, na seção Overview, anote as informações do ID do Aplicativo (Cliente) e ID do Diretório, pois elas serão necessárias para concluir a integração com o Grafana.
Agora, vamos criar uma secret.
A secret criada dentro do App Registration no Microsoft Entra ID atua como uma credencial, permitindo a autenticação segura entre o Grafana e o Azure. Ela funcionará como uma ‘senha’ para o aplicativo.
Acesse Certificados e Segredos e clique em Novo segredo do Cliente.
Nomeie a secret e defina seu período de validade.
Agora, anote o valor da secret, que também será utilizado na integração. É importante destacar que o valor da secret só pode ser visualizado no momento de sua criação e não poderá ser consultado novamente após sair da tela.
2° Etapa – Liberar Permissão no Recurso
Agora, vamos conceder as permissões ao aplicativo criado para o recurso ao qual nosso Grafana precisa ter acesso. Neste exemplo, vou liberar as permissões para toda a minha assinatura.
Acesse o recurso escolhido e vá em IAM (Controle de Acesso).
Clique em Adicionar e selecione a opção Atribuição de Função.
Na aba Função, selecione as permissões que o aplicativo precisará para executar sua função. Neste exemplo, a função Leitor será suficiente, pois o Grafana apenas precisará ler os dados para criar os dashboards.
Na aba Membros, procure pelo nome que você atribuiu ao aplicativo.
Após selecionar o aplicativo, avance para a última etapa e conclua a atribuição.
Com essa etapa concluída, seu aplicativo agora tem permissão de leitura em toda a assinatura.
3° Etapa – Configurar Data Source do Azure no Grafana
Agora, vamos para a última etapa, que é configurar o Data Source do Azure Monitor no Grafana para usá-lo como fonte dos painéis.
Após fazer login no Grafana, vá em Connections > Data Source.
Clique em Add new data source.
Pesquise por ‘Azure’ e selecione a opção Azure Monitor.
Agora, configure o Data Source da seguinte forma:
- Name: Nome do Data Source que será utilizado.
- Directory (tenant) ID: ID do Diretório coletado na 1ª etapa.
- Application (client) ID: ID do Aplicativo coletado na 1ª etapa.
- Client Secret: O valor da Secret gerada e coletada na 1ª etapa.
Clique em Load Subscription para carregar sua assinatura. Se a assinatura não aparecer, isso pode indicar dois possíveis problemas:
- As informações fornecidas estão incorretas.
- O aplicativo criado não tem as permissões necessárias.
Se a assinatura aparecer, clique em Salvar e Testar.
Se tudo estiver correto, uma mensagem de sucesso será exibida, e você estará pronto para criar dashboards utilizando o Data Source do Azure Monitor.
Observação: Em alguns casos, o teste pode retornar um erro indicando que não foi encontrado nenhum Log Analytics. Isso não significa, necessariamente, que a conexão está incorreta, mas apenas que o Data Source não encontrou logs na assinatura para usar como fonte de dados. Outros itens que não dependem disso ainda podem ser monitorados normalmente.
Otimo artigo @vitor