Projetado para oferecer confiabilidade, o Prometheus é o tipo de sistema criado para você acessar durante uma interrupção, e obter rápido diagnóstico de problemas. Cada servidor dele é autônomo, ou seja, não depende de serviços remotos ou armazenamento em rede.
Na hora do sufoco, quando outras partes da sua infraestrutura estão prejudicadas (e não precisa configurar uma extensa para usá-la), você pode confiar na ferramenta, antes de tudo. São motivos de sobra para utilizar o Prometheus, concorda?
E tem muito mais a seguir… Confira!
Prometheus: características gerais
O Prometheus é uma ferramenta open source de monitoramento desenvolvida pela SoundCloud, mas logo abraçada por outras empresas, inclusive pelo Docker, grande contribuidor do projeto que serve de opção aos tradicionais Zabbix/Nagios.
Com ele, você pode criar seus próprios “clientes” (exportadores). Você é quem decide o que a ferramenta vai monitorar e como as métricas do seu serviço serão recolhidas, como resultado.
Além disso, é totalmente textual, sem painéis gráficos para editar (caso do Zabbix, por exemplo). Existe somente um ambiente para visualizar informações de coleta, porque a configuração do servidor acontece por meio de um arquivo em formato yaml. Nele, é possível adicionar clientes, entre outras funcionalidades.
Primeiramente, dá uma olhada na arquitetura:
Quando surgiu, em 2012, o monitoramento partia basicamente da proposta de acompanhar a disponibilidade dos servidores da empresa, sendo as métricas recolhidas ligadas aos recursos da máquina, e não aos serviços que ela oferece.
Em outras palavras, o Prometheus nasceu a partir dessa premissa, isto é, do foco em monitoramento de serviços. No entanto, não é a ideia deste post explorar se é 100% verdade ou não que recursos como Zabbix e Nagios conseguem monitorar serviços também e de que forma isso aconteceria, ok?
Recursos do Prometheus
Veja algumas das ferramentas e características do Prometheus. Certamente, elas têm tudo para enriquecer seu repertório de monitoramento:
- Modelo multidimensional com séries temporais de dados identificados pelo nome da métrica e pares de chave/valor.
- PromQL: linguagem de consulta flexível para impulsionar a dimensionalidade.
- Independência no armazenamento distribuído.
- A coleta de séries temporais acontece por meio de um modelo pull sobre HTTP.
- Descoberta dos destinos via descoberta de serviço ou configuração estática.
- Diversos modos de suporte a gráficos e painéis.
- Ecossistema composto por vários elementos, mas sendo muitos deles opcionais.
- O Prometheus dispõe de um gateway push para suportar trabalhos de curta duração.
- Conta com exportadores de finalidade especial para serviços como HAProxy, StatsD, Grafite etc.
- Possui um gerenciador para manipular alertas, além de fornecer inúmeras ferramentas de suporte.
- A maioria dos componentes do Prometheus é escrita em Go. Dessa forma, facilita a criação e a implantação como binários estáticos.
Prometheus e Grafana
O Prometheus rastreia métricas de trabalhos instrumentados, de forma direta ou com auxílio de um gateway intermediário de envio para trabalhos de curta duração. E todas as amostras são armazenadas. A visualização os dados coletados pode ser feita com o Grafana, que suporta a consulta. Então, veja abaixo um exemplo de painel com esta interação:
Em resumo, o Prometheus manda bem para gravar qualquer série temporal puramente numérica. É ideal para o monitoramento centrado na máquina e, também, no monitoramento de arquiteturas extremamente dinâmicas orientadas a serviços.
Afinal, seu ponto forte é o apoio à coleta e consulta multidimensionais de dados, em um universo de microsserviços. E você, já conhecia o Prometheus? Utiliza a ferramenta? Deixe seu comentário, e aproveite para conferir o vídeo em nosso canal no YouTube. Basta clicar neste link. Esperamos você lá, combinado?
Até breve com mais conteúdo aqui no blog!
Abraço
Equipe NOTO TI
Veja também:
https://prometheus.io/docs/visualization/grafana/
Os comentários foram encerrados, mas trackbacks e pingbacks estão abertos.