Member-only story
Distributed tracing setup in GKE — Jaeger / Zipkin — Google Cloud Platform
To monitor the stability of the application , we need logging , metrics and tracing. In microservices environment, Logging will help you to get the error details of a service, metrics will get you the abnormal trend of a service, but only tracing will help you pin-point where the service call has actually failed. Let’s see how we can setup opensource distributed tracing software like Jaeger and Zipkin in GKE,
To enable distributed tracing , all the incoming requests to / from microservices should be enabled with trace ids and tags and they should report the traces to a collector. All the services should also forward the headers downstream and the tracer backend like Jaeger or zipkin should be able to query and search these traces.
To ease the instrumentation of the microservices, there are opentracing and opencensus library packages available for major languages like C++, Go , java, javascript, Python , Ruby etc. Opencensus is backed by google and opentracing is backed by CNCF and they have now jointly formed opentelemetry.
For the purpose of this demo i have used the bookinfo sample application , which is available as part of the Istio installation. First let’s create a GKE cluster in us-central1 region, with min nodes as 3.