3 minuto(s) de leitura

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

rmartins@jarvis:~$ az group create --name rg-grafana --location eastus

Criando a VM

rmartins@jarvis:~$ az vm create --resource-group rg-grafana --name grafana-server --image UbuntuLTS --location eastus --generate-ssh-keys

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.

rmartins@jarvis:~$ az network nsg list -g rg-grafana -o table

Location    Name               ProvisioningState    ResourceGroup    ResourceGuid
----------  -----------------  -------------------  ---------------  ------------------------------------
eastus      grafana-serverNSG  Succeeded            rg-grafana       9bfbd4f6-95ad-48c9-a3b7-d68af0d707f5

rmartins@jarvis:~$ az network nsg rule create --resource-group rg-grafana --nsg-name grafana-serverNSG --name allow-grafana --description "Allow access to port 3000 for HTTPS" --access Allow --protocol Tcp --direction Inbound --priority 102 --source-address-prefix "*"  --source-port-range "*" --destination-address-prefix "*" --destination-port-range "3000"

Conectando na VM

rmartins@jarvis:~$ az vm show --resource-group rg-grafana --name grafana-server -d --query publicIps -otsv

rmartins@jarvis:~$ ssh rmartins@[PublicIP] -i /home/rmartins/.ssh/id_rsa

Instalando o grafana

Procedimento de instalação seguindo este tutorial.

Adicionar repositório

rmartins@grafana-server:~$ sudo sh -c 'echo "deb https://packagecloud.io/grafana/stable/debian/ jessie main" >> /etc/apt/sources.list'

Adicionar chave do Package Cloud

rmartins@grafana-server:~$ sudo curl https://packagecloud.io/gpg.key | sudo apt-key add -

Atualizar repositórios

rmartins@grafana-server:~$ sudo apt-get update

Instalar Grafana

rmartins@grafana-server:~$ sudo apt-get install grafana

Inicializar Grafana

rmartins@grafana-server:~$ sudo systemctl daemon-reload
rmartins@grafana-server:~$ sudo systemctl start grafana-server
rmartins@grafana-server:~$ sudo systemctl status grafana-server

Habilitar no boot

rmartins@grafana-server:~$ sudo systemctl enable grafana-server.service

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:

rmartins@grafana-server:~$ sudo grafana-cli plugins install grafana-azure-monitor-datasource

Em seguida reiniciar o serviço do grafana:

rmartins@grafana-server:~$ sudo systemctl restart grafana-server

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!

Deixe um comentário