L'osservabilità è la capacità di comprendere lo stato interno di un sistema dai suoi output esterni — attraverso log, metriche e trace. È essenziale per operare, debuggare e mantenere i sistemi (soprattutto quelli distribuiti), dove non puoi gestire ciò che non puoi vedere.
I tre pilastri dell'osservabilità
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.
