O Que É Prometheus? Monitoramento de Metrics Explicado
Prometheus é um sistema de monitoramento open-source que coleta metrics numéricas ao longo do tempo, as armazena em um banco de dados de séries temporais e permite consultá-las e alertar sobre elas.
O Prometheus, originalmente construído na SoundCloud e agora um projeto graduado da CNCF, é um dos sistemas de metrics mais amplamente implantados na infraestrutura cloud-native. Ele definiu um formato de metrics e uma linguagem de consulta que muitas outras ferramentas agora falam. Entendê-lo é uma boa forma de entender o monitoramento baseado em metrics em geral.
O modelo pull
Diferentemente de sistemas em que as aplicações fazem push de metrics para um coletor, o Prometheus as coleta por scrape. Ele periodicamente busca uma página de metrics em texto simples exposta por cada target via HTTP. Esse modelo pull torna os targets simples de escrever, torna óbvio quando um target está fora do ar (o scrape falha) e mantém o servidor no controle da frequência de coleta.
Séries temporais e labels
O Prometheus armazena cada medição como uma série temporal identificada por um nome de metric mais um conjunto de labels chave-valor, como uma contagem de requisições dividida por método e código de status. Os labels são o que tornam os dados fatiáveis, mas também são onde começam os problemas de cardinalidade: combinações demais de labels explodem o número de séries.
PromQL
As consultas são escritas em PromQL, uma linguagem funcional para selecionar e agregar séries temporais. Com ela você calcula rates a partir de counters, tira percentis de histograms e agrega entre instâncias. PromQL é o motor por trás tanto dos dashboards quanto das regras de alerta.
Alertas
O Prometheus avalia regras de alerta escritas em PromQL e entrega os alertas disparados a um componente companheiro, o Alertmanager, que cuida de agrupamento, deduplicação, silenciamento e roteamento para destinos como email, chat ou uma ferramenta de on-call. Essa separação mantém a avaliação de alertas e a entrega de alertas nitidamente distintas.
Prometheus no CI/CD
Equipes comumente apontam o Prometheus para os serviços que um pipeline faz deploy, para que checks pós-deploy e análise de canary possam consultar metrics reais. Pipelines também fazem push de metrics pontuais sobre um job, como duração ou contagem de testes, através de um Pushgateway, já que jobs de CI de vida curta não permanecem por tempo suficiente para serem coletados por scrape.
Pontos fortes e limites
O Prometheus se destaca em metrics em tempo real confiáveis e em alertas em um único cluster. Suas escolhas deliberadas incluem armazenamento local e foco em metrics em vez de logs ou traces, então as equipes frequentemente o combinam com backends de armazenamento de longo prazo e com ferramentas de logging e tracing para cobrir os outros pilares de observabilidade.
Principais conclusões
- Prometheus é um sistema de monitoramento de metrics open-source e baseado em pull.
- Ele armazena séries temporais rotuladas e as consulta com PromQL.
- O Alertmanager cuida do roteamento e da deduplicação de seus alertas.
- No CI/CD, ele apoia checks pós-deploy, análise de canary e metrics de pipeline.