我正在尝试将新标签source_ip
添加到普罗米修斯指标requestcount
我已将属性添加到舞会处理程序
params:
metrics:
- instance_name: requestcount.instance.istio-system
kind: COUNTER
label_names:
- reporter
- source_ip
- source_app
并将维度添加到requestcount
实例
compiledTemplate: metric
params:
dimensions:
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination")
source_app: source.labels["app"] | "unknown"
source_ip: source.ip | "unknown"
并将attribute_binding
添加到attributes
实例
spec:
attributeBindings:
destination.workload.namespace: $out.destination_workload_namespace | "unknown"
destination.workload.uid: $out.destination_workload_uid | "unknown"
source.ip: $out.source_pod_ip | ip("0.0.0.0")
但是,普罗米修斯报告的source_ip
指标中未包含istio_request_total
标签,我在这里遗漏了什么吗?
答案 0 :(得分:1)
我正在使用istio 1.5,升级可能要花一些时间。
您提到的documentation在istio 1.5上不起作用,因为它使用了从istio 1.5开始不推荐使用的混合器,如下面的文档中所述,您可能会重新启用它,但是我找不到关于此的任何文档
不推荐使用Mixer。 Mixer提供的功能已移至Envoy代理中。只有1.7版本的Istio才支持将Mixer与Istio一起使用。
混合器弃用
Mixer是组织遥测和组织策略部署的过程,在1.5版本中已过时。从Istio 1.3开始默认禁用istio-policy,在Istio 1.5中默认禁用istio-telemetry。
遥测是使用不需要Mixer的代理内扩展机制(遥测V2)进行收集的。
如果您依赖混音器的特定功能(例如进程外适配器),则可以重新启用混音器。在Istio 1.7之前,Mixer将继续接收错误修复程序和安全修复程序。 Mixer支持的许多功能都有Mixer Deprecation文档中指定的替代方法,包括基于WebAssembly沙箱API的代理extensions。
如果您依赖于没有其他功能的Mixer功能,我们鼓励您公开问题并在社区中进行讨论。
关于升级,我想说的是如果它是istio的旧版本,那么升级可能会比较困难,但是由于它是1.5,所以我说用istioctl upgrade升级到1.6可能很容易。我建议先在某些测试环境中对其进行测试。
Istio使用'kubernetes-pods'作业配置prometheus。至少在使用“演示”配置文件时。在此prometheus作业配置中,有一个relabel_configs用于获取容器标签。
relabel_configs:
...
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
如果要使用它,请使用meshConfig.enablePrometheusMerge = true选项,它将标签附加到istio度量标准。与此相关的documentation。请注意,此选项是Istio 1.6中新引入的,目前被认为是alpha。