What is observability?

In software engineering, observability refers to the ability to understand what's happening inside a system based on the data it produces — particularly when something goes wrong.

It’s about answering "why is this happening?" without needing to manually dig into the code or reproduce the issue.

Key Components of Observability

Monitoring vs. Observability

Aspect Monitoring Observability
Focus What is happening? Why is it happening?
Based on Predefined checks & metrics Logs, metrics, traces (rich data)
Use case Alerting, uptime tracking Debugging, root cause analysis
Scope Reactive Proactive & investigative

Who implements observability?

Observability in software is typically implemented collaboratively, involving multiple roles. Here's how it's usually broken down:

Metrics

Metrics are quantitative measurements that describe the behavior, performance, and health of a system over time. They're a core component of observability, helping teams understand how systems are functioning and whether they're meeting performance and reliability goals.

Types of Metrics

Here are the most common categories of metrics in software systems:

System Metrics