Collecting built-in metrics

Istio collects a number of metrics automatically by default. Metrics can be added or removed by changing the configuration at any time. Let's take a look:

  1. Let's check out attributemanifest, which is a list of attributes for Kubernetes and Istio:
$ kubectl -n istio-system get attributemanifest
NAME AGE
istioproxy 5d
kubernetes 5d

As we can see, Kubernetes has its own set of manifest attributes. Istio also provides a set of manifest attributes.

  1. Check the attribute list for istioproxy and notice the list of predefined matrices:
$ kubectl -n istio-system get attributemanifest istioproxy -o yaml
...
spec:
attributes:
check.error_code:
...
check.error_code:
valueType: INT64
check.error_message:
valueType: STRING
connection.duration:
valueType: DURATION
...

Here, we can see various attributes, such as errorcode, error_message, and connection.duration. These attributes are generated and consumed by different services. Istio uses shared attributes that can be used across various components. For example, the authenticated user information that's generated by a certain function can be used by the Envoy proxy to store that information in the logging backend.

The preceding attribute vocabulary list for Istio is maintained at https://archive.istio.io/v1.3/docs/reference/config/policy-and-telemetry/attribute-vocabulary/.

Next, we will implement a new metrics collection that can be pushed down to Mixer. Then, Mixer pushes those down to the Envoy proxy level.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.140.108