Post

[Azure-To] #19 Monitorando Azure com Grafana [Portal]

Saudações Pessoal!!!

Na programação de hoje o assunto é Monitoramento de Recursos do Azure através do GRAFANA!!!.

Sobre o Grafana

“Dashboard anything. Observe everything” É desta forma que o Grafana se apresenta em seu site oficial https://grafana.com/grafana/

Também chamado por alguns de Power BI do Monitoramento e Observabilidade, esse camarada é uma robusta solução Open Source com grande destaque em áreas como Tecnologia da Informação e Mercado Financeiro devido a sua alta capacidade de se conectar a milhares de fontes de dados, gerar Dashboards e executar ações baseadas em comportamentos.

As informações chegam ao Grafana através de Data Sources e alguns players bem conhecidos da galera são Prometheus, ElasticSearch, Influx DB, MySQL, PostgreSQL, Zabbix e claro os principais Cloud Prividers Azure, AWS e GCP.

O Grafana é um Oceano de possibilidades, visite sempre o Site Oficial e se conecte em comunidades para se aprofundar ainda mais!!!

Objetivo

O objetivo deste artigo é Integrar o Grafana ao Azure para Monitorar Virtual Machine, SQL Database e VNET.

Observação: Este artigo sugere que o Leitor já possua um ambiente Azure com os seguintes recursos compartilhando a mesma VNET:

  • 1 VM Linux (B2S) (Utilizei Ubuntu 20.04)
  • 1 VM Windows 10 (B2S)
  • 1 SQL Database

1. Implantação do Grafana

1.1 - A partir da VM Windows 10, faça conexão SSH com a VM Linux, neste exemplo o nome da VM será VM-Grafana-server e IP Privado 10.10.0.4.

Observação: Os passos abaixo de instalação do Grafana Enterprise seguem a Doc Oficial em https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/

1.2 - Atualizar repositório de pacotes
sudo apt update -y

1.3 - Download e instalação da última versão estável

sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt update -y
sudo apt-get install grafana-enterprise

1.4 - Startando o Grafana Server

sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server

1.5 - Pressione CTRL C para retornar e habilite o Grafana para inicializar durante o Boot.

sudo systemctl enable grafana-server

2. Acessar Painel de Gerenciamento

2.1 - Por padrão, o Grafana utiliza a porta TCP 3000. Então abra o seu navegador e digite o IP do Servidor Linux. Neste exemplo é http://10.10.0.4:3000

Observação: Caso não consiga acessar o Painel Grafana, crie uma regra de entrada para a porta TCP 3000 no NSG do Adaptador de Rede da VM-Grafana!!!

2.2 - Digite admin nos campos Username e Password

2.3 - Welcome to Grafana!!!. Se tudo deu certo nos passos anteriores, o Painel de Gerenciamento será exbido conforme imagem abaixo.

3. Registrar o Grafana no Azure

3.1 - Acessar o Portal do Azure com nível de Privilégio Administrativo na Subscription. Neste exemplo foi utilizado o usuário Owner.

3.2 - Acessar ítem App Registrations em Azure Active Directory.

3.3 - Clique em +New Registration e siga as configurações abaixo.

3.4 - Agora é preciso atribuir uma Role de Contributor a Identidade do Grafana na Subscription.

3.5 - Clique em + Add e selecione + Add Role Assignment e em seguida Privileged Administrator Roles

3.6 - Selecione Contributor e Next.

3.7 - Na Guia Members, selecione User, Group or Service Principal e no ítem + Select Members procure por Grafana.

3.8 - Clique em Review + Assign e confirme se a Coluna Type está como APP

3.9 - A guia Role Assignments será exibida conforme abaixo

4. Vincular as Credenciais do Azure ao Grafana

4.1 - No Azure AD, acesse App Registration, selecione Grafana e copie para um editor de texto de sua preferência os campos Application (client) ID e Directory (tenant) ID

4.2 - No Menu Esquerdo, clique em Certificates & secrets e em Client Secrets selecione + New Client Secret.

4.3 - A função do Secret é gerar uma chave de Autenticação que será utilizada pelo Grafana. O tempo de validade da Secret pode ser customizado. Neste Exemplo configurei para 5 dias.

4.4 - Copie o Campo Value conforme fez no ítem 4.1

5. Vincular Azure ao Grafana

5.1 - Na Console de Gerenciamento do Grafana, clicar na Engrenagem a Esquerda e depois em Data Sources

5.2 - Em Data Source, digite no campo de pesquisa Azure e selecione Azure Monitor

5.3 - Insira nos campos correspondentes os dados informados pelo Azure conforme os ítens 4.1 e 4.4, clique em Load Subscriptions e observe que o Grafana exibirá os dados da subscription. Clique em Save & Test.

6. Criar Dashboard para Monitorar o Servidor Linux-Grafana

6.1 - Conforme próxima imagem, clique em + New Dashboard

6.2 - Clique em Add a new Panel

6.3 - Observe que o Campo Data Source está configurado como Azure Monitor. Clique em Select a Resource e procure pela VM GRAFANA SERVER.

6.4 - Neste exemplo, será monitorado o Processamento da VM através do campo Metric. Selecione Percentage CPU e veja que rapidamente o Painel Superior exibirá o monitoramento da CPU. Clique em Apply no Canto Superior Direito

6.5 - A próxima imagem mostra o resultado da configuração.

7. Criar Dashboard para Monitorar a Virtual Network

7.1 - Clique no Ícone Add Panel conforme imagem e depois em Add a New Panel

7.2 - Em Select a Resource, procure por Network Interfaces e clique em Apply.

7.3 - Em Metric selecione Packets Sent e Apply no canto Superior Direito.

7.4 - Nesta etapa o Grafana já possui 2 Paineis no Dashboard.

8. Criar Dashboard para Monitorar SQL Database

8.1 - Clique novamente no Ícone Add Panel conforme imagem e depois em Add a New Panel

8.2 - Em Select a Resource, procure por SQL Databases e clique em Apply.

8.3 - Em Metric, procure por CPU Percentage.

8.4 - Clique em Apply no canto superior direto para visualizar o Dashboard com os 3 Painéis. Para salvar o Dashboard clique no ícone correspondente conforme imagem!.


Eeeeee chegamos ao fim!!!!
Claro, concordo com você, este artigo não cobriu 5% do que o Grafana pode fazer, mas o objetivo de mostrar como fazer a integração com Azure foi concluído. Deixo como sugestão explorar onde alterar o Título do Painel e opções de Gráficos e claro, caso tenha despertado o interesse, navegar ainda mais no Grafana!!!.

Tkssss pela leitura e Até breve!!! 🍻🚀

Este post está licenciado sob CC BY 4.0 e pelo autor.