Skip to content

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]