What are Monitoring and Observability?
Explore the core concepts of monitoring and observability in event-driven architecture. Learn how logs, metrics, and traces work together to provide insights into application performance and health. This lesson helps you understand how to detect issues, correlate data across distributed systems, and use tools like OpenTelemetry and Jaeger for effective observability.
Most deployments perform monitoring using logging and metrics. This allows an organization to track the application’s performance, usage, and health. It is also used to detect failure states in an application. Monitoring is about reacting to the analysis of the data that is being collected:
Some examples of monitoring include the following:
Kubernetes checking whether a container is still running or responding by performing a health check.
Tracking the query performance when swapping out one database for another.
Automatically scaling services based on the CPU and memory usage.
Sending alerts when the error rate of an endpoint exceeds a certain threshold.
The data that is produced from our monitoring efforts is fed into dashboards so that basic questions can be answered. The data is also used to configure alerts so that when a problem is developing, staff can be notified to take the appropriate action.
Challenges in monitoring and correlation
Monitoring works with predetermined logs and metrics. Its weakness is dealing with the unexpected. If we know ahead of time that a process has the potential to consume ...