Observability: Logging, Metrics, Monitoring#
In computing, observability is the ability to monitor and understand the internal state of a system or application, as well as its interactions with its environment. Observability enables engineers and operators to diagnose and troubleshoot problems in the system, as well as to monitor its performance and behavior over time. Observability is typically achieved through a combination of monitoring, logging, and tracing, which provide different perspectives on the system’s state and behavior. Monitoring involves collecting and reporting on real-time metrics and health indicators, such as CPU utilization, memory usage, and response time. Logging involves capturing and storing detailed information about the system’s events and operations, such as error messages and user actions. Tracing involves tracking the flow of requests and data through the system, and identifying the specific components and dependencies involved in each operation.