How-To: Set up Zipkin for distributed tracing
Categories:
Zipkin is an open-source distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. It manages both the collection and lookup of this data.
The following steps show you how to configure the Radius control plane components to send distributed tracing data to Zipkin running as a container in your Kubernetes cluster and how to view the data.
Pre-requisites
Step 1: Install Zipkin on Kubernetes
-
Create the namespace
radius-monitoring
:kubectl create namespace radius-monitoring
-
Deploy the Zipkin deployment and service:
kubectl create deployment zipkin --image openzipkin/zipkin -n radius-monitoring
kubectl expose deployment zipkin --type ClusterIP --port 9411 -n radius-monitoring
Step 2: Configure Radius control plane
-
Install the Radius control plane with your Zipkin endpoint set using
rad install kubernetes
:rad install kubernetes --set global.zipkin.url=http://zipkin.radius-monitoring.svc.cluster.local:9411/api/v2/spans
Note:
http://zipkin.radius-monitoring.svc.cluster.local:9411/api/v2/spans
is the default URL for Zipkin when installed using the above instructions. If you have changed the service name or namespace, use that instead.
Step 3: View Tracing Data
-
Port forward the Zipkin service to your local machine:
kubectl port-forward svc/zipkin 9411:9411 -n radius-monitoring
-
In your browser, go to http://localhost:9411 to see the Zipkin UI and run a query:
-
Done! You can now use the Zipkin UI to view tracing data for your Radius control plane.
References
Feedback
Was this page helpful?
Glad to hear it! Please feel free to star our repo and join our Discord server to stay up to date with the project.
Sorry to hear that. If you would like to also contribute a suggestion visit and tell us how we can improve.