Help to understand the flow of metrics in istio telemetry

I am trying to understand the data flow relating to metrics in istio telemetry. Please provide links that I should go through to get a deeper understanding.

Context here - https://raw.githubusercontent.com/istio/istio/release-1.3/samples/bookinfo/telemetry/tcp-metrics.yaml

Which are the istio pods, among mixer, side-car-injection, side-car (istio-proxy) and pilot, requiring the various resource definitions - like metric, handler, rules?

In the metrics.yaml, the metric params use a text connection.sent.bytes. Where is this defined? Does the side-car expose all the metrics out for someone like mixer to scrape it out?

I would suggest starting with reading the Observability concept doc.

Mixer uses the CRs to transform the metadata sent by the proxy into metrics. The metadata is sent in the form of attributes.

Envoy, itself, also generates some metrics that you can collect and monitor.

Note: we are working on a new (mixer-less) paradigm for extending Istio. Some of the details of the current flow will be different in that new architecture. Currently, some of this behavior is available for experimental usage.

1 Like

I should also add that the Collecting Metrics for TCP services task has a section on TCP attributes that diagrams the flow of information.

1 Like

Is there any page that talks about enabling debugs in various istio processes so that I can test the workflow and try to understand the details?

The troubleshooting section of the website provides some information on debugging. To turn up logging in Mixer, for instance, you might be interested in Component introspection. There are also tasks on the website focused on related activities. For example: Getting Envoy’s Access Logs.

1 Like