Como otimizar a monitoração de infraestrutura com Prometheus e Grafana

Como otimizar a monitoração de infraestrutura com Prometheus e 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!

Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:

CURSOSCONSULTORIA

Anterior Entenda o funcionamento do pseudo filesystem /proc no Linux
Próxima Entenda os Microsserviços: A Revolução no Desenvolvimento de Softwares

About author

Vinicius Felix
Vinicius Felix 5 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

DevOps

Primeiros passos com o Vault da HashiCorp

O Vault é uma ferramenta de código aberto desenvolvida pela HashiCorp e projetada para ajudar na gestão de segredos e proteção de informações sensíveis em ambientes de computação modernos.  Ele

Infraestrutura TI

Segurança da Informação em Servidores Linux: Como Melhorar e Evitar Riscos

A segurança da informação é uma parte crucial do funcionamento de um negócio, além de ser a base para uma sólida infraestrutura, apesar de muitas vezes ser omitida ou negligenciada

Infraestrutura TI

Piwik: A alternativa open source ao Google Analytics para análise de métricas

Não, o Piwik não é uma fruta derivada do Kiwi, é uma solução de Web Analytics open source, madura e eficiente para análise de métricas sobre audiência em sites e