如何将 Istio 与 Prometheus 集成

How to integrate Istio with Prometheus

我需要做一个关于使用 Istio + Prometheus 收集 k8s 应用程序指标的 POC。 我的普罗米修斯 运行 在虚拟机上运行。我不想 运行 Prometheus 作为 kubernetes 中的容器。
任何人都可以帮助我获得正确的文档吗? 或者建议在没有 运行 将 prometheus 作为 k8s 中的 pod 的情况下如何做到这一点?

您可以更新 config-map in helm,istio 适配器会处理其他事情。

您可以在此处找到更多详细信息github issue


看看这个example

You can bring your own Prometheus to Istio, with three quick steps.

  • First, update your Prometheus configuration. Prometheus relies on a scrape config model, where targets represent /metrics endpoints, ingested by the Prometheus server.
  • Second, update your Prometheus deployment to mount Istio's certificates into Prometheus. This allows Prometheus to scrape Istio workloads when mutual TLS is enabled. To do this, mount in the istio.default secret into your Prometheus deployment YAML
  • Lastly, update Istio's configuration to use a custom Prometheus address.

如果你:

您可以使用来自 istio 发行版的 \samples\addons\extras\prometheus-operator.yaml 将现有的 Prometheus 安装与 Istio 连接。

kubectl apply -n istio-system -f prometheus-operator.yaml

并检查 https://prometheus.example.com/service-discovery 是否有

podMonitor/istio-system/envoy-stats-monitor/0 (8 / 115 active targets)
serviceMonitor/istio-system/istio-component-monitor/0 (1 / 98 active targets)