Hello
I installed Istio with Helm like this:
helm install istio-base manifests/charts/base -n istio-system -f cfg.yml
helm install istiod manifests/charts/istio-control/istio-discovery -n istio-system -f cfg.yml
helm install istio-ingress manifests/charts/gateways/istio-ingress -n istio-system
However, I haven’t enabled tracing with Jaeger during install. Now, I installed Jaeger thru samples/addons/jaeger.yaml, but don’t see any traces since Istio is NOT instructed to send them.
I found tracing configs here. How do I upgrade my Istio installation with Helm, using this config?
Thanks!
Please check in your Mesh-Config the zipkin address is set.
kubectl -n istio-system get cm istio -o yaml
....
defaultConfig:
...
tracing:
zipkin:
address: jaeger-collector.<your-namespace>.svc.cluster.local:9411
Hello @bethmage
I Just checked my config as you told and found the following
defaultConfig:
discoveryAddress: istiod.istio-system.svc:15012
tracing:
zipkin:
address: zipkin.istio-system:9411
How do I upgrade current Istio setup with Helm to enable the following params:
enableTracing: true
...
jaeger settings and path
...
Thanks!
Well i did not install istio with helm. But you can try with values override in helm via:
values:
global:
proxy:
enableTracing: true
tracer:
zipkin:
address: jaeger-collector.<your-namespace>.svc.cluster.local:9411
Anyway this settings are move to meshConfig since istio v1.6.0
Better to use istioctl for the deployment and overlay the settings in meshConfig
Other way is:
Try to edit the configmap istio in istio-system namespace as below:
spec:
meshConfig:
...
enableTracing: true
Ho do I override current settings using your example?
kubectl -n Istio-system edit cm Istio
Add the line as described above under meshConfig
Okay, thanks for the command. Looks like I do have tracing enabled now:
defaultConfig:
discoveryAddress: istiod.istio-system.svc:15012
holdApplicationUntilProxyStarts: true
proxyMetadata: {}
tracing:
sampling: 100
zipkin:
address: jaeger-collector.istio-system.svc.cluster.local:9411
enablePrometheusMerge: true
enableTracing: true
rootNamespace: istio-system
trustDomain: cluster.local
meshNetworks: 'networks: {}'
I actually was playing with Istio Operator and somehow was able to enable tracing. Thou I still don’t see any traces in my Jaeger GUI. I deployed the bookinfo app and curl-ed to generate the traffic, but still don’t see any traces for bookinfo or my own services.
How do I debug this?
Thanks again for your help
Boris
1. Check the namespace where you deploy the productpage is istio-injection enabled
2. The zipkinPort is disabled by default in jager-collector
enable it wenn installing with helm : --set collector.service.zipkinPort=9411
in helm install options.
3. check the istiod (pilot) setting for tracer
the percentage of trace sampling
kubectl -n istio-system get deployment istiod -o yaml | grep -A 2 'name: PILOT_TRACE_SAMPLING'
env:
...
- name: PILOT_TRACE_SAMPLING
value: "1"
Edit the istiod deployment and change the environment variable
Find the PILOT_TRACE_SAMPLING environment variable, and change the value: to your desired percentage.
valid values are from 0.0 to 100.0 with a precision of 0.01
see: https://istio.io/latest/docs/tasks/observability/distributed-tracing/configurability/#customizing-trace-sampling
https://istio.io/latest/docs/ops/integrations/jaeger/#option-2-customizable-install
4. DEBUG ... This may help you.....
see: https://istio.io/latest/docs/ops/diagnostic-tools/controlz/
https://istio.io/latest/docs/ops/diagnostic-tools/proxy-cmd/
https://www.jaegertracing.io/docs/1.22/troubleshooting/
use : istioctl ps , istioctl pc see cluster, endpoints .. etc of productpage pod.
Hi, tampler.
Did you solve this problem? I had the same problem.