Group Panel com Grafana

Group Panel com Grafana

Um dos dos pilares do DevOps é a monitoração contínua de nossa infraestrutura e de nossos serviços. Através do monitoramento, podemos extrair informações importantes sobre a saúde de nossos componentes, visando assim, realizar um atendimento dentro dos SLA’s estabelecidos e ainda ser preditivo com a execução de um capacity planning dos recursos.

Existem ferramentas que nos auxiliam na monitoração, como por exemplo o Prometheus, que coleta métricas dos exporters e também o Grafana, que com base nas informações coletadas pelo Prometheus, pode montar gráficos e dashboards analíticas de fácil entendimento.

Dentro do Grafana, podemos montar painéis com uma arquitetura “Top-Down“, ou seja, podemos criar um painel com métricas e painéis dentro dele. Em outras palavras, podemos ter painéis que são ramificados.

Um exemplo de um dashboard criado com Group Panel:

Como podemos ver, caso algo não esteja de acordo com nossos tresholds os grupos irão ter uma coloração diferente.

Hands On!

Aqui partiremos do ponto em que o Prometheus já está realizando a coleta de métricas e também está configurado como datasource para alimentação do nosso Grafana.

Por essa função se tratar de um plugin, primeiramente iremos fazer a instalação dele através do comando “grafana-cli“. Podemos realizar a instalação rodando o comando da seguinte forma:

grafana-cli plugins install blackmirror1-statusbygroup-panel

Caso você esteja utilizando o grafana como container, será necessário passar a variável GF_INSTALL_PLUGINS passando quais plugins serão carregados dentro do container. Exemplo de execução de um container simples com o plugin carregado:

docker run -d -p 3000:3000 --name=grafana -e "GF_INSTALL_PLUGINS=blackmirror1-statusbygroup-panel" grafana/grafana

Agora que temos o plugin instalado em nosso Grafana, podemos acessar seu Dashboard através do navegador, para criarmos nosso painel.

Clique no botão “Add panel“, dentro do dashboard.

Temos então um novo painel criado, mas ele ainda não mostra muita coisa para gente. Vamos realizar a configuração deste painel.

Criando a query

Através da query vamos dizer quais dados serão monitorados.

Agora vamos clicar em “Add Query“.

Irão aparecer algumas informações que teremos que preencher.

  • (1) Query: Nesta opção, deve ser selecionado Prometheus.
  • (2) Metrics: Aqui deve ser posto qual é a query irá coletar os dados.
  • (3) Legend: Neste campo, deve ser colocado um “alias” único para a query.

No exemplo de coleta de métricas, estamos coletando a utilização de CPU por cada exporter.

Query:

sum by(instance) (rate(process_cpu_seconds_total[5m])) * 100

Após ter preenchido todas as informações, podemos ir na opção “(4) Visualization“.

Ajustando a visualização

Nesta aba, podemos definir questões quanto à visualização de nosso painel. Para iniciar o processo, iremos ajustar o tipo do painel, para isso clique em (1) Visualization, após clicar, poderemos selecionar o tipo do painel que queremos, então vamos clicar em (2) Status By Group Panel.

Agora que temos o painel pré configurado, podemos definir algumas informações sobre ele.

Display Settings

  • (1) Alias: Lembram do alias único que definimos no passo anterior? Este campo será preenchido com ele.

Threshold

Dentro dessa sessão, iremos definir a partir de qual momento o painel irá ter sua cor alterada, ou seja, irá alarmar.

  • (2) Warning: A partir de quantos porcento o painel irá alterar para a cor de aviso.
  • (3) Critical: A partir de quantos porcento o painel irá alterar para a cor de alerta crítico.

Após ter preenchido tudo, podemos ir para a aba (4) General para definir um nome ao painel.

Dando nome ao painel

Dentro dessa aba, podemos definir um título e também uma descrição para o painel.

General

  • Title: Neste campo iremos dar o nome ao painel.

Após ter dado o nome, podemos clicar para (2) Voltar para uma visualização completa do nosso dashboard.

E então teremos nosso painel agrupando as métricas de acordo com o que foi configurado!

Após ter realizado todo esse processo, não se esqueça de salvar as alterações feitas no Dashboard, para isso, basta clicar no “Disquete“.

Por hoje é só pessoal! Nos vemos no próximo post!

E não se esqueçam, bebam água!

 

Anterior Conhecendo o Kernel Linux pelo /proc (Parte 1)
Próxima Microsserviços: O que são? Onde habitam? E como a 4Linux pode te ajudar?

About author

Vinicius Felix
Vinicius Felix 3 posts

Vinicius Felix da Silva, atua como Analista de Infraestrutura, é entusiasta em tecnologias de software livre e é formado em Redes de Computadores pelo SENAC. Possui a certificação LPI 1.

View all posts by this author →

Você pode gostar também

Infraestrutura

Forecast e timeleft: faça previsões no Zabbix

A partir da versão 3.0 do Zabbix dois novos recursos, o forecast e timeleft, permitem fazer previsões sobre análise de dados coletados e criar alertas que antecipem problemas em potenciais.

Infraestrutura

Coletando métricas do Wildfly com Prometheus

Saiba o que ocorre com a sua JVM! O monitoramento e a visibilidade do ambiente de TI sempre foram de grande importância para seus gestores e administradores, seja para avaliação

Infraestrutura

MongoDB: como criar um Cluster Replication Set

O MongoDB é um banco com foco em escalabilidade horizontal, sendo assim ele possui um recurso chamado ReplicatSet que serve para replicar os dados em um cluster de servidores para