Monitoring and siblings

Engineering Apr 23, 2020

A quick attempt to explain core differences.

Monitoring: "Whats happening currently?" using dashboards and reports based on metrics (what we measure goes here.)
ex. all requests are currently processed within 2ms.

Alerting: "Something interesting happened, and I've an action to do."
ex. 20 requests in last 1 minute took more than 10ms.. I'm increasing timeout for new requests and alerting a human.

Logging: "Everything that an application does, and takes a note of. This can be discreet events, errors, unknown behaviours from softwares."
ex. I'm processing a request to /payments/sendMoney from a google pixel 3 with Android Oreo OS from Bangalore.

Tracing: "A single users' (or a small sample set) journey across the software (it can be part/whole of multiple softwares in a larger system too).. this is more to identify how is user flow and how is it impacted"
ex. A user went to home page, entered the system, went till the payment page but our payment service never received a request for this user.

Observability: "Why's something happening?" -> it can be answered with help of logs+traces+monitoring, by asking system any question with any kind of combination.
ex. Why're only 20 requests taking 10ms while others are at 2ms? What are these 20 requests?

P.S.: I highly recommend you all to head to for further reading. Namrata took it a step ahead to show the implementation details in a kubernetes cluster.


You should go to about section on this site.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.