Observability adalah kemampuan untuk memahami keadaan internal sistem dari output eksternalnya — melalui logs, metrics, dan traces. Ini penting untuk mengoperasikan, men-debug, dan memelihara sistem (terutama sistem terdistribusi), di mana Anda tidak dapat mengelola apa yang tidak dapat Anda lihat.
Tiga pilar observability
LOGS → timestamped records of events (what happened) → detailed, for debugging specific issues
METRICS → numerical measurements over time (CPU, latency, request rate, error rate) →
aggregate health/performance; dashboards; alerting
TRACES → follow a request's path through the system (across services) → understand flows,
find bottlenecks/failures in DISTRIBUTED systems (which service was slow?)
→ together: understand WHAT happened, the OVERALL state, and the PATH of requests.
