Telemetry Data Collection, Query, and Visualization with Istio on Alibaba Cloud Container Service for Kubernetes

Collect Telemetry Data

First, refer to the metrics and log configurations defined in the official documentation to create a new_telemetry.yaml file.

istioctl create -f samples/bookinfo/new_telemetry.yaml
Created config metric/istio-system/doublerequestcount at revision 2611607
Created config prometheus/istio-system/doublehandler at revision 2611608
Created config rule/istio-system/doubleprom at revision 2611609
Created config logentry/istio-system/newlog at revision 2611610
Created config stdio/istio-system/newhandler at revision 2611611
Created config rule/istio-system/newlogstdio at revision 2611612
kubectl -n istio-system get svc prometheus
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
prometheus ClusterIP 172.21.9.66 <none> 9090/TCP 16h

Query the Telemetry Data

After confirming that Prometheus is running properly, open the URL of the BookInfo application in the browser: http://{EXTERNAL-IP}/productpage. Alternatively, run the following command for multiple times: curl http://{EXTERNAL-IP}/productpage

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') 9090:9090 &
  1. istio-mesh(istio-mixer.istio-system:42422): all Mixer-generated mesh metrics.
  2. mixer(istio-mixer.istio-system:9093): all Mixer-specific metrics.They are used to monitor Mixer itself.
  3. envoy(istio-mixer.istio-system:9102): raw statistics generated by Envoy.

Visualize the Telemetry Data Using Grafana

In the Kubernetes environment, run the following command to check that Grafana is running properly:

kubectl -n istio-system get svc grafana
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
....
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &

Summary

We can use Alibaba Cloud Container Service for Kubernetes to quickly build an Istio open platform for connecting, managing, and securing microservices, and to introduce and configure multiple relevant services for applications.Previous articles in the series use an official example to demonstrate how to deploy an application in the Istio environment and how to configure intelligent routing and distributed tracing. This article continues to use this example to explain how to use the Istio functions of collecting, querying, and visualizing the telemetry dataYou are welcome to use Alibaba Cloud Container Service for Kubernetes to quickly build an Istio open platform and integrate Istio to microservice development in your project.

  1. Using Istio on Alibaba Cloud Container Service for Kubernetes
  2. Go through Istio Features with Samples on Alibaba Cloud Container Service for Kubernetes
  3. Intelligent Routing with Istio on Alibaba Cloud Container Service for Kubernetes
  4. Distributed Tracking with Istio on Alibaba Cloud Container Service for Kubernetes
  5. Telemetry Data Collection, Query, and Visualization with Istio on Alibaba Cloud Container Service for Kubernetes
  6. Fault Diagnosis and Detection using Istio within Alibaba Cloud Container Service for Kubernetes
  7. Observability Analysis using Istio and Kiali within Alibaba Cloud Container Service for Kubernetes

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alibaba Cloud

Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com