Skip to main content

Observability

TL;DR;

Observability is a key aspect of system and application monitoring that provides insights into the health, performance, and behavior of a system. It relies on data from logs, metrics, and traces to provide a comprehensive understanding of the system's state.

Definition

Observability is a measure of how well internal states of a system can be inferred from knowledge of its external outputs. In the context of software engineering, observability typically refers to the ability to understand the state of a system or application by examining its outputs, logs, metrics, and traces.

Goals

  • Understand the behavior of the system and diagnose issues.
  • Monitor system health and performance.
  • Gain insights into user behavior and system usage.
  • Improve system reliability and performance.
  • The main components of Observability include:

Components

  • Logs: Detailed records of events happening in the system.
  • Metrics: Numerical data measured over intervals of time, such as response time, error rate, or resource usage.
  • Traces: Information about how a request moves through a system, useful for understanding the flow of transactions or requests.