Decisões
ORG-0021 — Observabilidade
- Status: aceita
- Data: 2026-10-18
- Decide: um contrato igual em toda aplicação: log JSON no stdout, métricas Prometheus internas, traces OTLP
Contexto
A plataforma coleta logs, métricas e traces de todas as aplicações com a mesma pilha. Para isso, cada aplicação precisa falar o mesmo contrato, seja qual for a linguagem, sem depender de um agent externo.
Decisão
- Log em JSON no stdout, uma linha por evento, com
traceId. - Métricas Prometheus numa porta interna, não publicada.
- Traces OTLP para o Alloy da plataforma; export não bloqueante (coletor fora do ar não derruba requisição nem boot).
/upresponde sem autenticação.service.name= nome da aplicação;deployment.environment=localouproduction.- As bibliotecas que implementam o contrato ficam numa ADR da stack (a ADR-0009 pré-escrita).
Alternativas consideradas
| Alternativa | Por que não |
|---|---|
| Cada stack escolhe formato e destino | Por que não: a plataforma teria uma integração por stack |
| Agent externo de instrumentação | Por que não: mais uma peça para versionar e operar em cada imagem |
Consequências
- Uma aplicação nova aparece nos painéis da plataforma sem configuração no
toolbox. - O contrato tem teste de integração em toda aplicação (ORG-0015).
Mais
O detalhe está na documentação da arquitetura.