Aula: observability em Go do zero — traces, metrics e logs em 1 hora
OpenTelemetry, Prometheus, slog estruturado. Setup completo que você pode replicar no próximo serviço.
Yuki Tanaka·02 de maio, 2026·11 min de leitura
Esta aula é um passo-a-passo prático: pegamos uma API Go básica e instrumentamos os três pilares de observability (logs, metrics, traces) em 60 minutos. No final, você tem um serviço pronto para produção com visibilidade completa.
O serviço base (5 minutos)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
package main
import ( "net/http" "github.com/go-chi/chi/v5" )
funcmain() { r := chi.NewRouter() r.Get("/users/{id}", getUser) http.ListenAndServe(":8080", r) }
funcgetUser(w http.ResponseWriter, r *http.Request) { id := chi.URLParam(r, "id") // ... lógica de fetch user w.Write([]byte(`{"id":"` + id + `","name":"Maria"}`)) }
Funcional, mas cego. Vamos instrumentar.
Pilar 1: logs estruturados com slog (10 min)
A stdlib Go ganhou log/slog em 1.21 — não precisa mais de Zap, Logrus, etc.
Datadog: caro mas turn-key. Considere para times sem SRE.
Conclusão
Observability não é luxo. É o que te avisa antes do usuário reclamar. Em Go, com a stack acima, o custo de instrumentar é ~200 linhas pra um serviço médio — e o ganho é noites dormindo durante incidentes.