Metrics and Service Mesh
Using metrics
A monitoring plugin, ACP Basic Monitoring (previously ACP Monitoring for Prometheus) or ACP Advanced Monitoring (previously ACP Monitoring for VictoriaMetrics), should be installed to provide metrics for the Alauda Service Mesh v2 Operator and Istio control plane.
When you have added your application to the mesh, you can monitor the in-cluster health and performance of your applications running on Alauda Container Platform with metrics and customized alerts for CPU and memory usage, network connectivity, and other resource usage.
Configuring Monitoring with Service Mesh
You can integrate Alauda Service Mesh with monitoring to enable observability in your service mesh. Monitoring provides access to essential built-in tools and supplies the metrics that Kiali, the dedicated console for Istio, uses for its graph, health, and metrics views. Kiali can run without these metrics, but those views are then unavailable.
Prerequisites
- Alauda Service Mesh is installed.
Procedure
Create a YAML file named servicemonitor.yaml to monitor the Istio control plane:
Example ServiceMonitor object
- Excludes the services that an
IstioRevisionTagcreates. They select the sameistiodpods as the service of the revision, and selecting both scrapes the control plane twice.
Apply the YAML file by running the following command:
Create a YAML file named podmonitor.yaml to collect metrics from the Istio proxies (workloads):
Example PodMonitor object
- Create the
PodMonitorobject once, in the Istio control plane namespace.namespaceSelectorwithany: truemakes it scrape the proxies of every namespace, and a copy in another namespace scrapes all of them a second time. - Specify the actual mesh ID. A
mesh_idlabel is only necessary when running in ambient mode and multiple clusters share the same monitoring data source.
Apply the YAML file by running the following command:
Create a YAML file named asm-telemetry.yaml to configure prometheus metrics to istio proxies (workloads):
Example Istio Telemetry resource
- Add
mesh_idlabel to prometheus metrics.