Observabilidade que resolve: Prometheus, Grafana, Loki e Jaeger em conjunto

Como montar observabilidade que resolve incidentes: métricas com Prometheus, dashboards no Grafana, logs no Loki e traces com Jaeger, trabalhando juntos.

Equipe Solvefy 8 min de leitura

Existe uma diferença entre "ter monitoramento" e conseguir responder, às 3h da manhã, por que o sistema está lento. A primeira é um gráfico bonito que ninguém olha. A segunda é observabilidade — a capacidade de fazer perguntas ao seu sistema e obter respostas. Ela se apoia em três pilares que precisam conversar.

Monitoramento e observabilidade não são sinônimos

Monitoramento responde perguntas que você já sabia fazer: o disco está cheio? O serviço responde? São verificações definidas de antemão, essenciais e insuficientes.

Observabilidade é conseguir investigar o que você não previu. O incidente novo nunca é o que estava no checklist — é a combinação de uma consulta lenta, um cache frio e um pico de tráfego. Sem poder cruzar métrica, log e trace no mesmo intervalo, você fica limitado a adivinhar. É essa diferença que separa duas horas de investigação de dez minutos.

Os três pilares

  • Métricas: números ao longo do tempo — uso de CPU, latência, taxa de erro, requisições por segundo. Respondem "o quê" e "quanto".
  • Logs: o registro detalhado de eventos. Respondem "o que exatamente aconteceu".
  • Traces: o caminho de uma requisição através dos serviços. Respondem "onde, na cadeia, o tempo foi perdido".

Cada pilar sozinho conta metade da história. Juntos, levam do sintoma à causa.

Por onde começar: os quatro sinais que importam

Antes de instrumentar tudo, instrumente o que responde pelas dores reais. Para praticamente qualquer serviço, quatro sinais cobrem a maior parte dos incidentes:

SinalO que medePor que importa
LatênciaTempo de resposta, em percentisMédia engana; o percentil 95 é o que o usuário sente
TráfegoVolume de requisiçõesContextualiza tudo o mais; sem ele, um pico parece falha
ErrosTaxa de falha, por tipoO indicador mais direto de qualidade percebida
SaturaçãoQuão perto do limite está o recurso escassoAntecipa o problema antes da queda

Meça esses quatro por serviço antes de sonhar com painéis elaborados. Uma stack que responde bem a esses quatro sinais já resolve a maioria dos incidentes.

Prometheus: o padrão de métricas

O Prometheus coleta métricas dos seus serviços e da infraestrutura, guarda como séries temporais e permite consultá-las com sua linguagem própria (PromQL). É o padrão de fato no ecossistema cloud-native. Com ele você define alertas baseados em condições reais — "latência acima de X por Y minutos" — em vez de descobrir o problema pelo cliente.

O modelo é de coleta ativa: o Prometheus busca as métricas nos alvos, descobertos automaticamente conforme o ambiente muda. Para o que não expõe métricas nativamente — sistema operacional, banco de dados, balanceador —, exportadores prontos resolvem sem escrever código.

Dois pontos práticos determinam se a sua instalação vai se sustentar:

  • Cardinalidade é o inimigo. Cada combinação de rótulos cria uma série temporal nova. Colocar identificador de usuário, de requisição ou de sessão como rótulo é o caminho mais rápido para derrubar a coleta por consumo de memória. Rótulos são para dimensões de baixa variedade: serviço, ambiente, método, código de status.
  • Retenção tem limite prático. O armazenamento local do Prometheus é feito para semanas, não anos. Se você precisa de histórico longo para capacidade ou conformidade, encaminhe as métricas para um armazenamento de longo prazo em vez de inflar o nó local.

Grafana: onde tudo vira visível

O Grafana é a camada de visualização. Ele conecta às fontes de dados — Prometheus para métricas, Loki para logs, e outras — e monta dashboards que mostram a saúde do sistema em um olhar. O valor está em dashboards que respondem perguntas do negócio, não em encher a tela de gráficos. Um bom painel diz, em segundos, se está tudo bem ou onde olhar.

Vale montar painéis por público, porque as perguntas são diferentes:

  • Painel de negócio: disponibilidade e volume dos serviços que geram receita, legível por quem não é técnico.
  • Painel de plantão: os quatro sinais dos serviços críticos, em uma tela, sem rolagem. É o primeiro lugar que se abre quando o alerta dispara.
  • Painel de investigação: granular, por serviço, para quem já sabe onde está o problema e quer entender a causa.

Painel que exige interpretação especializada não serve para plantão. Se quem está de plantão não consegue decidir em trinta segundos se há problema, o painel falhou.

Loki: logs sem custo absurdo

O Loki é o sistema de logs pensado para o mundo Prometheus/Grafana. Em vez de indexar o conteúdo inteiro de cada log (caro e pesado), ele indexa metadados e mantém os logs compactados — barato de guardar e rápido de consultar. E, por viver no Grafana, você pula da métrica anômala direto para os logs daquele momento, sem trocar de ferramenta.

Duas práticas multiplicam o valor dos logs:

  • Log estruturado, em formato legível por máquina, com campos consistentes. Buscar por campo é diferente de buscar por texto solto — o primeiro se sustenta na escala, o segundo não.
  • Rótulos de baixa cardinalidade, pela mesma razão do Prometheus. O identificador único da requisição vai no conteúdo da mensagem, nunca como rótulo de indexação.

Jaeger: seguindo a requisição

Em arquiteturas com vários serviços, a pergunta "por que essa requisição demorou?" é difícil sem tracing. O Jaeger registra o percurso de cada requisição pelos serviços e mostra onde o tempo foi gasto — qual chamada travou, qual dependência está lenta. É o pilar que transforma "o sistema está lento" em "este serviço específico está lento por causa desta consulta".

Duas decisões de projeto aparecem cedo. A primeira é como instrumentar: o padrão aberto de telemetria hoje permite instrumentar uma vez e enviar para o backend que você preferir, sem amarrar o código a uma ferramenta. A segunda é amostragem: guardar todos os traces de um sistema de alto volume é caro e desnecessário. Amostrar uma fração do tráfego normal e manter tudo o que apresenta erro ou latência alta é o equilíbrio que a maioria adota.

A costura que faz a diferença

O poder não está em cada ferramenta, está na integração. O fluxo ideal de um incidente: um alerta do Prometheus dispara → você abre o dashboard no Grafana e vê a métrica anômala → salta para os logs no Loki daquele intervalo → e, se for latência distribuída, segue o trace no Jaeger até o serviço culpado. Do alerta à causa em minutos, não em horas de investigação cega.

Para essa navegação funcionar de verdade, uma providência é decisiva: propagar o identificador do trace e registrá-lo em todos os logs. Com ele presente, você salta de um log para o trace completo daquela requisição, e do trace para os logs de cada serviço envolvido. Sem ele, as três ferramentas continuam sendo três ilhas com abas bonitas.

Alertas: menos, e melhores

Alerta ruim é pior que alerta ausente, porque treina a equipe a ignorar notificação. Quatro regras que sustentam um plantão saudável:

  1. Alerte sobre sintoma, não sobre causa. "Taxa de erro acima do aceitável" acorda alguém por um motivo válido; "uso de CPU em 80%" quase nunca.
  2. Todo alerta que acorda alguém precisa de ação. Se não há nada a fazer às três da manhã, aquilo é um relatório, não um alerta.
  3. Cada alerta aponta para um runbook. Quem atende não deveria precisar improvisar o diagnóstico.
  4. Revise periodicamente. Alerta que dispara toda semana sem incidente real deve ser corrigido ou removido.

Some a isso o roteamento por severidade e por time, o agrupamento para não receber cinquenta mensagens do mesmo evento, e o silenciamento durante manutenções programadas.

Combine com um alvo de disponibilidade

Observabilidade fica muito mais útil quando existe um número acordado com o negócio: qual disponibilidade cada serviço precisa entregar. Com esse alvo definido, você mede o quanto ainda pode "gastar" de falha no período — e a conversa entre entregar rápido e manter estável passa a ter um critério objetivo em vez de opinião. Quando a margem está confortável, acelera-se; quando está apertada, o foco vira estabilidade.

O erro de instrumentar demais (ou de menos)

Coletar tudo gera ruído e custo; coletar de menos deixa você cego. A observabilidade útil começa pelas perguntas que você precisa responder e instrumenta para respondê-las — não o contrário.

Outros tropeços frequentes:

  • Rótulo de alta cardinalidade derrubando a coleta de métricas.
  • Retenção infinita, com custo de armazenamento descoberto na fatura.
  • Dashboards herdados de exemplos genéricos, que ninguém sabe interpretar.
  • A stack de observabilidade sem monitoramento próprio — ninguém percebe quando ela para.
  • Logs em texto livre, impossíveis de agregar.
  • Tracing instrumentado e nunca usado, porque falta o identificador nos logs.

Um roteiro de implantação em quatro passos

  1. Métricas e os quatro sinais dos serviços críticos, com painel de plantão em uma tela.
  2. Alertas mínimos e acionáveis, roteados para quem pode agir, com runbook curto.
  3. Logs centralizados e estruturados, correlacionados por identificador de requisição.
  4. Tracing nos caminhos que mais doem, com amostragem sensata e correlação com os logs.

Nessa ordem. Cada passo já reduz tempo de diagnóstico antes do próximo começar.

Onde a Solvefy/Cloud entra

Nossa consultoria DevOps monta stacks de observabilidade com Prometheus, Grafana, Loki e Jaeger integrados aos seus serviços e à infraestrutura — com alertas úteis, dashboards que respondem perguntas do negócio e transferência de conhecimento. Cobrada por hora, com escopo definido.

Você enxerga sua produção de verdade? Diagnóstico gratuito, sem compromisso, em solvefy.cloud.

Solvefy/Cloud — Infraestrutura que cresce com você.

Faça agora o seu diagnóstico e orçamento

Inicie com um diagnóstico gratuito da sua infraestrutura e receba uma proposta personalizada — com escopo, cronograma e valores.