Prometheus monitoramento: guia passo a passo
O Prometheus é um sistema de monitoramento open source que coleta métricas via HTTP e permite consultas com PromQL. Este guia mostra, passo a passo, como configurar a coleta, validar dados e entender o fluxo básico sem depender de suposições.
O Prometheus é um sistema de monitoramento open source que coleta métricas via HTTP e permite consultas com PromQL. Este guia mostra, passo a passo, como configurar a coleta, validar dados e entender o fluxo básico sem depender de suposições.
O Prometheus é um sistema de monitoramento open source que coleta métricas via HTTP e as armazena em um banco de séries temporais. Este guia mostra como configurar a coleta, validar os dados e entender o fluxo básico. O resultado esperado é uma instância funcional, com targets ativos e consultas respondendo na interface web. Antes de começar, você precisa de um servidor Linux ou macOS com acesso à internet, permissão para instalar binários e conhecer a URL de pelo menos um endpoint que exponha métricas no formato Prometheus.
Passo 1: Instalar o Prometheus
Baixe o binário oficial do site prometheus.io e extraia o pacote. Mova os executáveis para um diretório de sua preferência, como /usr/local/bin. Em seguida, crie um diretório de dados para armazenar as séries temporais, por exemplo /var/lib/prometheus. A instalação não exige compilação, mas requer que o usuário tenha permissão de escrita nesses locais.
Erro comum: rodar o Prometheus como root sem necessidade. Prefira um usuário dedicado, com permissões restritas, para reduzir riscos de segurança.
Passo 2: Configurar o arquivo prometheus.yml
O arquivo de configuração define os targets e os intervalos de coleta. Um exemplo mínimo inclui o próprio Prometheus como target:
global: scrape_interval: 15s scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
Ajuste o scrape_interval conforme a criticidade das métricas. Intervalos muito curtos aumentam o uso de disco e rede. Evite deixar o valor padrão sem avaliar o impacto no ambiente.
Passo 3: Iniciar o servidor e verificar a interface
Execute o binário com o parâmetro --config.file apontando para o prometheus.yml. O servidor sobe na porta 9090 por padrão. Acesse http://localhost:9090 no navegador. A página inicial mostra o estado dos targets e um campo para consultas. Se a interface não carregar, verifique se a porta está liberada no firewall e se o processo está em execução.
Passo 4: Validar as métricas com PromQL
Use o campo de consulta para testar expressões simples, como up. O resultado 1 indica que o target está acessível; 0, que houve falha na coleta. Outra consulta útil é prometheus_http_requests_total, que mostra o total de requisições HTTP recebidas. Esses testes confirmam que a coleta e o armazenamento estão funcionando.
Erro comum: esperar dados imediatos de targets externos sem verificar se eles expõem o endpoint /metrics. Sem essa exposição, o Prometheus não coleta nada.
Passo 5: Ajustar retenção e armazenamento
Por padrão, o Prometheus mantém os dados por 15 dias. Para ambientes com alto volume, avalie aumentar o disco ou reduzir a retenção. A flag --storage.tsdb.retention.time controla esse período. Monitore o uso de disco regularmente para evitar que o banco cresça sem controle.
Checklist rápido
- Binário instalado e diretório de dados criado
- prometheus.yml com pelo menos um target configurado
- Servidor iniciado e interface acessível na porta 9090
- Consulta up retornando 1 para targets ativos
- Retenção de dados definida conforme a necessidade
FAQ
O que é o Prometheus e para que serve?
O Prometheus é um sistema de monitoramento open source que coleta métricas via HTTP e as armazena em um banco de séries temporais. Ele permite consultas com PromQL e é usado para acompanhar a saúde de serviços e infraestrutura.
Preciso de um agente para coletar métricas?
Não necessariamente. O Prometheus adota o modelo pull: ele busca as métricas diretamente nos endpoints que as expõem. Alguns serviços exigem um exporter, que traduz métricas para o formato Prometheus.
Qual a diferença entre Prometheus e Grafana?
O Prometheus coleta e armazena métricas. O Grafana é uma ferramenta de visualização que consulta o Prometheus e exibe gráficos e dashboards. Eles são complementares.
Como faço para monitorar um serviço externo?
Adicione um novo job no prometheus.yml com o endereço do serviço e a porta onde as métricas são expostas. Certifique-se de que o endpoint /metrics está acessível.
O Prometheus armazena logs?
Não. Ele é especializado em métricas numéricas com carimbo de tempo. Para logs, é comum usar soluções como Loki ou Elasticsearch.
Posso usar o Prometheus em produção?
Sim, desde que configurado com retenção adequada, monitoramento do próprio Prometheus e, se necessário, alta disponibilidade com instâncias redundantes.