Métricas, logs, traces e monitoramento de usuário real numa plataforma única e aberta. O time abre o log do erro, clica no traceId e chega à requisição inteira — até o método, a classe e a exceção que dispararam o evento. Sem cobrança por host, por GB ingerido ou por assento.
Monitoração tradicional responde "está no ar?". Observabilidade responde "por que está lento e onde exatamente quebrou?". Para isso, os quatro sinais precisam conversar entre si — e é isso que montamos.
Séries temporais de CPU, memória, disco, latência, taxa de erro e filas — a base dos alertas e dos painéis de capacidade.
PrometheusLogs de todos os contêineres e servidores centralizados, indexados por label e pesquisáveis por período, serviço e nível.
LokiA requisição inteira em cascata: cada serviço, cada método instrumentado, cada query — com o tempo gasto em cada etapa.
TempoErros de JavaScript, Web Vitals e sessões capturados no navegador do usuário real — não em teste sintético.
Grafana FaroLog solto conta que algo falhou. Trace conta a história inteira daquela requisição. Quando os dois estão correlacionados, o desenvolvedor deixa de reconstituir o incidente por dedução: ele clica no traceId da linha de log e cai direto na cascata de spans — o serviço, o método, a query e a exceção com o stack trace. É o recurso pelo qual as plataformas SaaS cobram caro, e ele funciona igualmente bem numa stack aberta bem montada.
traceId
Toda linha de log carrega o identificador do trace como metadado — sem parser frágil, sem regex adivinhando formato.
traceId em link. A requisição inteira abre em cascata, com o tempo gasto em cada etapa.
ERRORPSQLException: duplicate key value violates "pedidos_numero_key"A diferença não está em ter gráfico bonito, e sim em quanto tempo o time leva do "está fora" ao "achei a causa".
grep em arquivo de log.Datadog, New Relic e similares são excelentes produtos — o problema costuma ser a conta. A cobrança é por host, por GB ingerido, por sessão de RUM, por métrica personalizada e por usuário, então ela cresce justamente quando o ambiente cresce ou quando o incidente aumenta o volume de log. A stack aberta inverte isso: o custo é o da infraestrutura que você já tem, mais a operação.
| Aspecto | Stack aberta (APcode) | SaaS por consumo (Datadog / New Relic) |
|---|---|---|
| Modelo de cobrança | Sem licença. Custo é o do servidor/armazenamento que roda a stack, mais o serviço de operação | Por host, por GB ingerido, por sessão de RUM, por métrica personalizada, por assento |
| Previsibilidade | Fixa: o gasto muda quando você decide mudar capacidade ou retenção | Variável: um incidente que multiplica o log multiplica a fatura do mês |
| Efeito colateral no time | Ninguém corta log ou trace por medo do custo | Amostragem e corte de log viram prática comum para segurar a conta |
| Onde ficam os dados | Na sua infraestrutura, sob a sua política de retenção e LGPD | Na nuvem do fornecedor, geralmente fora do país |
| Instrumentação | OpenTelemetry — padrão aberto, portável entre backends | Agente proprietário; migrar depois exige reinstrumentar |
| Retenção longa | Decisão sua: mais disco custa disco | Item de preço à parte, normalmente caro |
| Esforço inicial | Maior: alguém precisa montar e manter a stack (é o nosso papel) | Menor: instalar agente e começar |
| Manutenção | Atualizações, capacidade e backup ficam com você ou conosco | Por conta do fornecedor |
| Risco de dependência | Baixo: componentes abertos, dados e dashboards seus | Alto: painéis, alertas e instrumentação presos ao formato do fornecedor |
Sendo justos: se o seu time é grande, o ambiente é enorme e ninguém quer operar a plataforma, o SaaS pode compensar. Nossa proposta é para quem quer o mesmo nível de diagnóstico com custo previsível — e não quer descobrir no fim do mês que investigar um incidente saiu caro.
Stack completa provisionada como código, integrada às suas aplicações e com o time treinado para usar — não só instalada.
Prometheus, Loki, Tempo, Grafana e coletor (Alloy/OTel) implantados via manifestos versionados, com armazenamento persistente e retenção definida com você.
A ligação entre os sinais configurada e testada nos dois sentidos — o clique do log para o trace e do span de volta para os logs daquele intervalo.
OpenTelemetry nas suas aplicações (Java/Spring, Node, Python, .NET), com propagação de contexto e o traceId injetado no padrão de log — em geral sem alterar regra de negócio.
SDK no frontend capturando erros de JavaScript, Web Vitals e sessões, com o trace do navegador amarrado ao trace do backend.
Painéis de disponibilidade, latência, erro e capacidade — por serviço e por banco — versionados em Git, não montados na mão e esquecidos.
Regras com limiar e janela pensados para evitar alarme falso, entregues por WhatsApp, e-mail ou chat — cada alerta com o que olhar primeiro.
Grafana atrás de autenticação corporativa, TLS em todos os endpoints de coleta e cuidado com dado sensível em log — o que não pode ser coletado, não é.
Sessão prática com os desenvolvedores: como buscar no Loki, ler uma cascata de spans e sair do alerta até a classe. Observabilidade que ninguém usa não vale nada.
Da máquina física ao clique do usuário — cada camada com o sinal que faz sentido para ela.
CPU, memória, disco, saturação de I/O e disponibilidade de cada nó, com alerta antes de o disco encher.
Estado dos nós, pods reiniciando, limites de recurso estourando e deploys que não estabilizaram.
Conexões, locks, consultas lentas, replicação e crescimento — com painel dedicado por instância.
Latência, taxa de erro e throughput por endpoint, filas de processamento e jobs agendados que falharam em silêncio.
Erros de JavaScript em produção, tempo de carregamento percebido e a jornada da sessão até o erro.
Validade de TLS, execução de backups e tarefas críticas — o tipo de falha silenciosa que só aparece no pior dia.
Em poucas semanas o time sai do "descobrimos pelo cliente" para "o alerta chegou e já sabemos onde olhar".
Levantamos serviços, dependências, incidentes recorrentes e o que hoje passa despercebido — daí saem os primeiros alertas.
Subimos a stack, definimos retenção e capacidade, publicamos o Grafana com acesso controlado e ligamos as fontes entre si.
Aplicações e frontends passam a emitir métricas, logs com traceId e traces, validando a correlação ponta a ponta.
Afinamos alertas com base nos incidentes reais, treinamos o time e evoluímos os painéis conforme o sistema muda.
Tudo aberto, padrão de mercado e sem agente proprietário. É a mesma stack que usamos na nossa própria infraestrutura — inclusive na correlação log↔trace descrita acima.
traceId apareça em toda linha — e a criação de spans manuais em trechos de negócio que você queira ver na cascata. No frontend, é inicializar o SDK e propagar o cabeçalho de trace.
Se a resposta for "horas", há muito a ganhar aqui. Vamos conversar sobre o seu ambiente — diagnóstico sem compromisso.