O monitoramento de aplicações é um grande desafio. Grafana e Prometheus são ferramentas utilizadas para ajudar nesse trabalho, fornecendo controle de alto nível às equipes envolvidas na gestão e análise de dados. Saiba mais sobre elas, suas funcionalidades e os primeiros passos para monitorar com elas juntas.
Grafana e Prometheus são soluções de monitoramento que, juntas, oferecem dashboards e dados de forma organizada, elegante e precisa. Dessa maneira, ajudam a agilizar processos e decisões importantes. Entenda melhor cada software e do que essa parceria é capaz. E veja o tutorial com os primeiros passos.
O que é Prometheus
O Prometheus é um sistema open source de monitoramento para serviços e aplicações, desenvolvido originalmente em 2012 pela SoundCloud. Em 2016, tornou-se um projeto graduado na Cloud Native Computing Foundation, tal qual o Kubernetes.
Também é definido como kit de ferramentas de monitoramento e alerta de sistemas. De qualquer forma, é um recurso utilizado para o monitoramento em tempo real de milhares de métricas. Estas podem ser o status da CPU, uso de memória do servidor, o número de requisições de uma aplicação, entre outras unidades que possam ser quantificadas.
Suas tarefas incluem coletar métricas de seus alvos em determinados intervalos, avaliar expressões de regras, exibir resultados e, ainda, acionar alertas se alguma condição observada viabilizar isso. Os alvos e a configuração de intervalo para coleta são definidos em um arquivo chamado prometheus.yml.
Assim, é um software totalmente textual, sem painéis gráficos para editar – como o Zabbix, por exemplo. No Prometheus, existe apenas um ambiente para visualizar informações de coleta. O arquivo em formato .yml é o responsável pela configuração do servidor. Nele, é possível adicionar clientes e muito mais.
Como o Prometheus funciona
Resumidamente, funciona assim: a partir de um intervalo de tempo, o Prometheus Server coleta métricas de seus alvos via protocolo HTTP. Em seguida, elas são armazenadas em um banco de dados time-series para consulta posterior por meio de uma linguagem própria, a PromQL. Com ela, você pode examinar os detalhes das métricas em um dado instante da linha de tempo.
Além disso, o Prometheus fornece várias bibliotecas em linguagens distintas, que servem para monitorar as aplicações que desenvolvemos. A presença de exporters é outro detalhe interessante. Trata-se de um software que coleta as métricas dos sistemas de terceiros (Linux, MySQL, etc) e as exporta para o formato métrico que o Prometheus Server possa entender.
Aliás, no Prometheus, você é capaz de criar seus próprios “clientes”, chamados de exportadores. Desse modo, tem como definir o que ele vai monitorar e como ele vai recolher as métricas do seu serviço.
O Prometheus Server é o componente central, cuja responsabilidade é monitorar, seja uma aplicação desenvolvida por você, um servidor (Linux, Apache HTTP), processo ou banco de dados.
O rastreio das métricas de trabalhos instrumentados ocorre de modo direto ou com auxílio de um gateway intermediário de envio para demandas de curta duração. E todas as amostras são armazenadas. Então, o Grafana pode ser utilizado para visualização dos dados coletados, porque essa plataforma suporta a consulta.
É uma ferramenta de monitoramento adaptada especialmente ao atual modelo de TI, focado em serviços, e opção aos tradicionais Zabbix/Nagios. Um projeto bem-recebido por empresas como a Docker, sua a maior contribuidora.
Na verdade, o Prometheus pode gravar qualquer série temporal puramente numérica. É usado tanto no monitoramento centrado na máquina quanto em arquiteturas extremamente dinâmicas orientadas a serviços.
Principais características do Prometheus
- Modelo pull e via HTTP para coleta de métricas.
- Definição dos serviços a serem monitorados por meio de configuração estática ou descoberta.
- Modelo de dados multidimensional (time-series).
- Dispõe de linguagem própria (PromQL) para queries de dados em formato time-series.
- Oferece diversos modos de suporte a gráficos e painéis.
- Recurso de envio de métricas através de um gateway intermediário.
- Software totalmente autônomo, ou seja, não depende de armazenamento externo.
O que é Grafana
Grafana é uma ferramenta de análise e observabilidade que permite criar excelentes dashboards e gráficos, com suporte para vários sistemas de coleta e métricas.
Ela ajuda a estudar, analisar e monitorar dados ao longo de um período de tempo. É o que chamamos tecnicamente chamado de análise de série temporal.
Possui suporte para diversos bancos de dados, gratuitos ou pagos, e você pode instalar Grafana em qualquer sistema operacional. Além disso, ainda conta com uma interface intuitiva e completa.
Integrada ao Prometheus, consegue exibir dados em painéis atraentes, dinâmicos e personalizáveis, auxiliando em diferentes áreas de uma empresa – em tempo real. Portanto, Prometheus é uma das fontes de dados para a Grafana.
A fonte de dados Grafana para o Prometheus foi introduzida na Grafana 2.5.0 (2015-10-28). Abaixo, veja um exemplo de painel do Grafana que consulta dados do Prometheus:
Embora disponha de grande quantidade de recursos, a estrutura da Grafana é leve, flexível e de fácil instalação, sendo a organização dos dados feita em um mesmo dashboard.
Todas as integrações com bancos de dados e outros recursos são feitas por meio de plugins, instalados e gerenciados de forma simples na plataforma, e há muitas opções disponíveis. Entretanto, seu código aberto permite criar plugins do zero para integração da Grafana com várias fontes de dados diferentes, inclusive de outras ferramentas.
O resultado de tudo isso não poderia ser outro: praticidade na gestão de indicadores e monitoramento de dados real time, agilizando e tornando mais eficiente a tomada de decisões nas corporações. Com Grafana e Prometheus juntos, então, não tem pra ninguém.
Por que utilizar Grafana e Prometheus
A plataforma Grafana dispõe de visualização de mapas de calor para histogramas e gráficos para geomapas. Um leque de opções para auxiliar você na compreensão dos seus dados, de um jeito objetivo e agradável.
E tem mais! Com a unificação desses dados, você pode construir o melhor contexto, pois a Grafana suporta dezenas de bancos de dados para você misturar no mesmo painel.
O menu de funcionalidades inclui a definição de alertas, para você configurar os avisos onde for interessante para os seus objetivos, e ser notificado via Slack e PagerDuty, por exemplo.
A comunidade rica e participativa da Grafana é uma fonte interminável de novidades, otimizações, soluções de problemas e dificuldades. Dessa maneira, o funcionamento da ferramenta é constantemente alimentado por templates para os dashboards e gráficos, plugins e novas aplicações.
Com abertura para ampliações, o software ainda possui centenas de painéis e plugins em sua biblioteca oficial, além de itens novos adicionados semanalmente por seus usuários apaixonados.
A recente atualização oficial dos relatórios Grafana Enterprise, Grafana Cloud Pro e Advanced contou com recursos das disciplinas de UX, produto e engenharia. O update introduzido no lançamento da versão 9 do software permite como resultado:
- Configurar o recebimento de relatórios somente entre segunda e sexta-feira, porque nem sempre o usuário quer ler os documentos nos finais de semana.
- Criar intervalos de tempo de recorrência personalizados para horários de maior atividade. Por exemplo: a cada 3 horas.
- Aprofundar a análise dos dados do painel no Excel ou programa parecido graças ao envio de um arquivo .CSV com o PDF.
- Pausar um relatório, bem como conferir seu status – agendado, pausado ou expirado.
Por onde começar Grafana e Prometheus
Confira o passo a passo básico de criação de painéis Grafana para exibir as métricas do sistema para um servidor monitorado pelo Prometheus:
- Passo 1 – Instale Grafana e adicione seu primeiro painel
Em primeiro lugar, use estas instruções para instalar o software Grafana, fazer login e construir seu primeiro painel.
- Passo 2 – Baixe o Prometheus e o node_exporter
O Prometheus pode ser instalado em diferentes sistemas operacionais, a exemplo da Grafana. Consulte a página de download e veja uma lista com todas as versões estáveis de seus componentes. Em segundo lugar, baixe os seguintes componentes: Prometheus e node_exporter.
- Passo 3 – Instale o Prometheus node_exporter
Instale o node_exporter do Prometheus em todos os hosts que deseja monitorar para expor as métricas do sistema. A documentação dele contém todas as instruções sobre como instalar e executar esse componente no Linux.
- Importante: Dependendo do sistema operacional, você pode ter que alterar ligeiramente as orientações. Se for o Windows, por exemplo, use o windows_exporter.
Tutorial Grafana e Prometheus – Parte final
- Passo 4 – Instale e configure o Prometheus
Acesse o tópico Instalação na documentação do Prometheus. Em seguida, configure a ferramenta para monitorar os hosts nos quais você instalou o node_exporter. Faça isso alterando o arquivo de configuração do Prometheus.
Por padrão, o sistema busca o arquivo prometheus.yml
no diretório de trabalho atual. Contudo, esse comportamento pode ser alterado por meio do - - config.file
sinalizador de linha de comando.
Inicie o serviço Prometheus para concluir esta etapa. Faça:
./prometheus –config.file=./prometheus.yml
- Passo 5 – Verifique as métricas do Prometheus na visualização de Grafana Explore
Na sua instância do Grafana, acesse Explorar e crie consultas para testar as métricas que você deseja monitorar. Nesta visualização, você também pode depurar problemas associados à coleta de métricas do Prometheus.
- Dica: No tópico recursos específicos do Prometheus, você consegue aproveitar a experiência de consulta personalizada.
- Passo 6 – Comece a criar seus painéis
Pronto! Enfim, agora você tem todos os caminhos para consultar e criar painéis para renderizar as métricas do sistema com o monitoramento do Prometheus. Mãos à obra!
Entenda a proposta do Prometheus e suas aplicações aqui. Para saber mais sobre gestão de métricas e sua importância nas empresas, veja também este post.
Referências:
medium.com/tech-grupozap/prometheus-monitorando-a-sa%C3%BAde-da-sua-aplica%C3%A7%C3%A3o-bd9b3b63e7b1
blog.4linux.com.br/prometheus-monitoramento-foco-servicos/
prometheus.io/docs/visualization/grafana/
grafana.com/docs/grafana/latest/getting-started/get-started-grafana-prometheus/
Tem dúvidas sobre algum assunto em Monitoramento de TI?
Deixe aqui temas que gostaria de ver em nossos canais e vamos preparar conteúdos especiais para você.
Acesse o nosso canal no Youtube.
Clique na imagem e confira.
Deixe um comentário
You must be logged in to post a comment.