2.6 KiB
title | description | weight | keywords | aliases | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Zipkin | Learn how to configure the proxies to send tracing requests to Zipkin. | 10 |
|
|
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
{{< warning >}} When you enable tracing, you can set the sampling rate that Istio uses for tracing. Use the
pilot.traceSampling
option to set the sampling rate. The default sampling rate is 1%. {{< /warning >}} -
Deploy the Bookinfo sample application.
Accessing the dashboard
-
To setup access to the tracing dashboard, use port forwarding:
{{< text bash >}}
kubectl -n istio-system port-forward
(kubectl -n istio-system get pod -l app=istio-ingressgateway -o jsonpath='{.items[0].metadata.name}') 15032:15032 & {{< /text >}}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.{{< boilerplate trace-generation >}}
-
From the top panel, select a service of interest (or 'all') from the Service Name drop-down list and click Find Traces:
{{< image link="./istio-tracing-list-zipkin.png" caption="Tracing Dashboard" >}}
-
Click on the most recent trace at the top to see the details corresponding to the latest request to the
/productpage
:{{< image link="./istio-tracing-details-zipkin.png" caption="Detailed Trace View" >}}
-
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:{{< text bash >}} $ killall kubectl {{< /text >}}
-
If you are not planning to explore any follow-on tasks, refer to the Bookinfo cleanup instructions to shutdown the application.