It is the fundamental ability to gather the required metrics, logs and traces for your application to ensure the internal states of a system are well within their stipulated parameters.
Observability helps in by providing a way to measure and understand the internal state or condition of a complex system based only on knowledge of its external outputs.
It allows developers to quickly identify and resolve issues before they impact users. It can help you debug your application by providing real-time insights into how its performing in production.
- Logs - granular, timestamped, complete and immutable records of application events.
- Metrics - fundamental measures of application and system health over a given period of time.
- Traces - record of the end-to-end 'journey' of every user request.
- Dependencies - which reveal how each application component is dependent on other components, applications and IT resources.
Note: Continuous profiling is the emerging fifth pillar of observability.