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:
About author
Você pode gostar também
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
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
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