Observability has now become a key aspect of designing, building and maintaining modern systems. From logs to distributed tracing and from distributed locking to distributed tracing, observability as a function has gone beyond logging. With so many aspects to be taken care of, it thus becomes essential to have an observability toolchain which is comprehensive and comprehensive without making it complex. In this blog, we will explore the underlying motivations behind observability, the various tools available to enable it, and the various components of the same.