Zipkin
To learn how Istio handles tracing, visit this task’s overview.
Before you begin
To set up Istio, follow the instructions in the Installation guide.
Use the following Helm install options to enable tracing and to select the
zipkin
tracing provider:--set tracing.enabled=true
--set tracing.provider=zipkin
Deploy the Bookinfo sample application.
Accessing the dashboard
To setup access to the tracing dashboard, use port forwarding:
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=istio-ingressgateway -o jsonpath='{.items[0].metadata.name}') 15032:15032 &
Open your browser to http://localhost:15032.
To use a Kubernetes ingress, specify the Helm chart option
--set tracing.ingress.enabled=true
.
Generating traces using the Bookinfo sample
When the Bookinfo application is up and running, access
http://$GATEWAY_URL/productpage
one or more times to generate trace information.To see trace data, you must send requests to your service. The number of requests depends on Istio’s sampling rate. You set this rate when you install Istio. The default sampling rate is 1%. You need to send at least 100 requests before the first trace is visible. To send a 100 requests to the
productpage
service, use the following command:$ for i in `seq 1 100`; do curl -s -o /dev/null http://$GATEWAY_URL/productpage; done
From the top panel, select a service of interest (or ‘all’) from the Service Name drop-down list and click Find Traces:
Click on the most recent trace at the top to see the details corresponding to the latest request to the
/productpage
:The trace is comprised of a set of spans, where each span corresponds to a Bookinfo service, invoked during the execution of a
/productpage
request, or internal Istio component, for example:istio-ingressgateway
,istio-mixer
,istio-policy
.
Cleanup
Remove any
kubectl port-forward
processes that may still be running:$ killall kubectl
If you are not planning to explore any follow-on tasks, refer to the Bookinfo cleanup instructions to shutdown the application.