Prometheus Istio-如何添加自定义的基于标签的指标?

Prometheus Istio-如何添加自定义的基于标签的指标?,prometheus,istio,envoyproxy,Prometheus,Istio,Envoyproxy,我正在使用istio 1.6.3 我想为istio导出到普罗米修斯的度量添加一个简单的维度。 更具体地说,如果我的Pod有一个标签branch=master,我想添加一个 branch维度,将master值添加到istio\u请求总数度量 (我尝试在服务级别上添加此标签,但没有成功) 我的目标是能够用 按(分行)列出的总额(费率(istio_请求总额[5m]) 我阅读了这篇文档: 但是它看起来像是获取了目的地。标签[“分支”],或者根本不支持获取任何标签(除了app或version标签,它们是内

我正在使用istio 1.6.3

我想为istio导出到普罗米修斯的度量添加一个简单的维度。 更具体地说,如果我的Pod有一个标签
branch=master
,我想添加一个
branch
维度,将
master
值添加到
istio\u请求总数
度量

(我尝试在服务级别上添加此标签,但没有成功)

我的目标是能够用

按(分行)列出的总额(费率(istio_请求总额[5m])

我阅读了这篇文档:

但是它看起来像是获取了
目的地。标签[“分支”]
,或者根本不支持获取任何标签(除了
app
version
标签,它们是内置在
destination\u app
destination\u version
中的)


救命啊

作为参考

  • Istio为普罗米修斯配置了一个“库伯内特斯吊舱”任务。至少在使用“演示”配置文件时。在这个普罗米修斯作业配置中,有一个
  • 这会得到吊舱的标签

  • 在istio操作符上启用
    meshConfig.enablePrometheusMerge=true
    ,或者您正在使用的任何安装都会将标签附加到istio度量

  • 我也在使用1.6.3,我确实看到我的kube吊舱标签映射为普罗米修斯标签。我不是100%确定,但我认为当您将“meshConfig.enablePrometheusMerge=true”选项传递给istio install.PS时,这是启用的:这可以在不使用自定义指标的情况下实现。只需在prometheus configmap中配置“kubernetes pods”作业以启用labelmap,如果@Joel还没有提到,您可以尝试使用
    meshConfig.enablePrometheusMerge=true
    选项。这是有关联的。请注意,此选项是在Istio 1.6中新引入的,目前被视为alpha。
    relabel_configs: 
    ...
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)