Observability is the practice of taking logs, traces, and metrics, and doing something with the data.
✅ Metrics: Collecting time series data, which is used to predict expected ranges and forecast values, showing it in dashboards (like Grafana or another UI-centric dashboard), and alerting on it.
✅ Traces: All about telling you the health of an application from an end-to-end perspective. It’s the process of investigating how events take place between microservices.
✅ Logging: Aggregating and storing logged event messages written by programs and systems. Logging is arguably one of the most important because it tells you exactly what’s happening. The problem is for the logs to tell you exactly what’s happening, the exact issue must be written in the program or the systems program. This is where error handling comes into play, but sometimes developers don’t know what they don’t know, so not every issue will be logged properly.
For example, let’s say a log comes in that contains an error. That log can then automatically create an alert, and that alert can tell engineers who are on-call what’s happening.
With monitoring, you can do things like see what’s happened from a forecast perspective for the last day or week or month or 6 months and you can also alert on it, but that’s about it.
It requires a human to go in and do something manually.
Observability on the other hand is all about ensuring that a system or a script or some other automation utility can handle the issue for you.
Commenti