Istio 代理指标集

编辑

此功能处于 Beta 阶段,可能会发生变化。其设计和代码不如正式 GA 功能成熟,按“原样”提供,不附带任何担保。Beta 功能不受正式 GA 功能支持服务水平协议 (SLA) 的约束。

这是 istio 模块的代理指标集。此指标集从 Envoy 代理的 Prometheus 导出器收集指标,适用于 Istio 1.5 及更高版本。

已在 Istio 1.7 上测试。

部署

编辑

Istio-proxy 是一种 sidecar 容器,它被注入到 Kubernetes 集群中部署的每个 Pod 中,而这些 Pod 的流量由 Istio 管理。因此,为了从这些 sidecar 收集指标,我们需要自动识别这些 sidecar 容器,并使用它们的 IP 和预定义端口 (15090) 开始监控它们。这可以通过定义合适的自动发现提供程序轻松实现,该提供程序将自动识别所有这些 sidecar 容器,并为每个容器启动 proxy 指标集。以下是一个可用于此目的的示例配置

metricbeat.autodiscover:
  providers:
    - type: kubernetes
      node: ${NODE_NAME}
      templates:
        - condition:
            contains:
              kubernetes.annotations.prometheus.io/path: "/stats/prometheus"
          config:
            - module: istio
              metricsets: ["proxy"]
              hosts: "${data.kubernetes.pod.ip}:15090"

字段

有关指标集中每个字段的说明,请参阅导出字段部分。