As part of the ongoing Telemetry V2 effort to move Mixer like processing to the proxy as Envoy filters, we are releasing experimental support for Stackdriver HTTP telemetry.
It is a replacement for the current Mixer Stackdriver adapter, which supports exporting GCP Istio standard metric, server access log, and traces from the proxy.
Metrics and server side access log will be enabled by default by installing the Stackdriver filter.
-
Disable
Stackdriver adapter
oristio-telemetry
To avoid duplicated telemetry reporting, you should disable
Stackdriver adapter
if you already set it up with Mixer v1. To disable Stackdriver adapter, remove Stackdriver Mixer rules, handlers, and instances, e.g. runkubectl delete -n istio-system rule your-stackdriver-rule && kubectl delete -n istio-system handler your-stackdriver-handlers && kubectl delete -n istio-system instance your-stackdriver-instance
If you want to disable istio-telemetry as whole:
- If your cluster is installed using
istioctl
, runistioctl manifest apply --set values.mixer.telemetry.enabled=false,values.mixer.policy.enabled=false
. If your cluster is installed via helm, runhelm template install/kubernetes/helm/istio --name istio --namespace istio-system --set mixer.telemetry.enabled=false --set mixer.policy.enabled=false
. - Alternatively, you can comment out mixerCheckServer and mixerReportServer in your mesh configuration.
- If your cluster is installed using
-
Enable metadata exchange filter
kubectl -n istio-system apply -f https://raw.githubusercontent.com/istio/proxy/release-1.4/extensions/stats/testdata/istio/metadata-exchange_filter.yaml
-
Enable Stackdriver filter
kubectl -n istio-system apply -f https://raw.githubusercontent.com/istio/proxy/release-1.4/extensions/stackdriver/testdata/stackdriver_filter.yaml
-
Visit Stackdriver Monitoring metric explorer and search for standard Istio metrics. Visit Stackdriver Logging Viewer and search
server-accesslog-stackdriver
for access log entries.
Opencensus tracer is by default shipped with 1.4.0 Istio proxy, which supports exporting traces to Stackdriver as other tracers liker Jeager and Zipkin. To enable it, set global tracer as Stackdriver: helm template --set global.proxy.tracer="stackdriver" install/kubernetes/helm/istio --name istio --namespace istio-system | kubectl apply -f -
. The default sampling rate is 1%. To raise it, you could set it via traceSampling helm option: --set pilot.traceSampling=100
- No TCP telemetry.
- Access log misses some labels, which will be added in the following 1.4.x releases.
- The preview version uses the WASM sandbox API, but does not run inside a WASM VM. It is natively compiled in Envoy using
NullVM
. - In later release we will enable running filters in the V8 WASM VM.
- At present The filters are configured using the Istio Envoy Filter API.