Prometheus integration with Istio¶
Prometheus is a widely adopted open-source monitoring system and time series database frequently integrated with Istio to track the health of the mesh^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md]. It serves as the foundational Metrics layer for observability within the service mesh^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md].
Deployment¶
The Istio repository provides sample addon configurations to facilitate rapid deployment of Prometheus^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md]. You can deploy all recommended addons at once using the command kubectl apply -f samples/addons, or deploy Prometheus individually with kubectl apply -f samples/addons/[Prometheus](<./prometheus.md>).yaml^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md].
It is important to note that these sample deployments are optimized for quick setup and demonstration purposes^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md]. Consequently, they may not be configured for production resilience or security, and a dedicated production-grade setup is recommended for operational environments^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md].
Prometheus Operator¶
For clusters managed by the Prometheus Operator, Istio provides custom resources for automatic metric discovery^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md]. This configuration includes a ServiceMonitor designed to scrape Metrics from the Istio control plane and a PodMonitor for Envoy proxies^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md].
Applying the operator integration requires the Prometheus Operator to be pre-installed on the cluster^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md]. Once present, the integration can be deployed using kubectl apply -f samples/addons/extras/prometheus-operator.yaml^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md]. This setup relies on metrics merging, which is enabled by default in Istio^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md].
Visualization¶
While Prometheus is responsible for data collection, visualization of these Metrics is typically handled by integration with companion tools^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md].
- Grafana: Used to configure and display dashboards for the mesh, including specific views for Mesh, Service, Workload, and Control Plane metrics^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md].
- [[Kiali]]: An observability console that utilizes Prometheus data to infer mesh topology and display health metrics^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md].
Sources¶
^[400-devops-07-monitoring-and-observability-k8s-istio-samples-addons-readme.md]