Coletando informações do Azure com Grafana

Recentemente foi lançado um plugin do Azure Monitor para o Grafana que eu resolvi testar e escrever este post.

Eu segui as orientações deste link e neste artigo vou entrar em detalhes do procedimento.

Criando a VM

Criando o Resource Group

Criando a VM

Abrindo a porta correspondente no NSG

O Grafana utiliza a porta TCP 3000, portanto é necessário liberar esta porta no Network Security Group da VM criada de modo a liberar o acesso à VM nesta porta.

Conectando na VM

Instalando o grafana

Procedimento de instalação seguindo este tutorial.

Adicionar repositório

Adicionar chave do Package Cloud

Atualizar repositórios

Instalar Grafana

Inicializar Grafana

Habilitar no boot

Conectar no serviço

Usar o endereço IP público da VM criada apontando para o a porta 3000 e utilizar o usuário e senha que vem configurados por padrão. Usuário admin e senha admin.

Uma vez verificado que o acesso está ok, vamos ao próximo passo que é a instalação do plugin do Azure Monitor

Instalando o Azure Monitor Plugin

A instalação do plugin será feita seguindo esta documentação.

Uma vez conectado na VM, rodar o comando abaixo:

Em seguida reiniciar o serviço do grafana:

Após isto será possível verificar que o plugin já foi instalado e já aparece como um datasource:

Criando o service principal

O próximo passo é criar um service principal para o plugin de modo que ele possa se conectar ao Azure Active Directory. Para isto basta seguir as intruções deste link.

Ao registrar a aplicação, no meu caso ficou conforme abaixo:

 

 

 

 

 

 

 

Após registrar a aplicação, vamos pegar as informações de Application Id e Authentication Key. Para isto, ainda dentro do App Registration do AAD, vamos procurar pela aplicação criada:

Após clicar na aplicação, basta copiar o Application ID, neste caso, addd1254-cb9b-4589-a99c-ac382ebd33ba

Para gerar a Authentication Key, basta ir em Keys dentro de All Settings:

Ao clicar em salvar, a key será gerada e exibida:

Neste caso, 3NZ4F2FBwm6h8sfF48dE2Owg3si7xHSWtEAnBwAKqjk=

Agora precisamos do Directory ID do AAD, que é obtido nas propriedades do AAD:

* Directory ID omitido por questões de segurança

Por fim, vamos associar a role de Reader para a nossa aplicação. Para isso vá na sua subscription, em seguida acesse o IAM, escolha a opção para adicionar apontando a role Reader e escolha a aplicação criada:

Finalizando a configuração no Grafana

Agora vamos ajustar as configurações no Grafana, adicionando o datasource:

Em seguida vamos preencher com as informações necessárias:

– Subscription ID
– TenantID (ID do AAD)
– ClientID (Application ID)
– Client Secret (Key)

* Neste caso não estou usando o Application Insights. Caso esteja, basta adicionar os dados necessários.

Após salvar é feito um teste. Se estiver tudo ok você deve ver algo assim:

Criando o primeiro dashboard

Agora vamos ao próximo passo:

Tipo: Graph

Clique em Panel Tile:

E ao clicar em Edit esta teremos as opções abaixo:

Em Metrics, você verá que o Azure Monitor foi adicionado como DataSource default. Agora basta criar o gráfico para o recurso desejado:

Neste caso peguei dados de uso de CPU de duas VMs e salvei o dashboard como CPU VMs:

Visualizando:

Espero que tenha sido útil!