[英]How to add new labels to existing prometheus metric in Istio?
我正在嘗試將新的 label 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"
並向attributes
實例添加了一個attribute_binding
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
label 未包含在 prometheus 報告的istio_request_total
指標中,我在這里遺漏了什么嗎?
我正在使用 istio 1.5,升級可能需要相當長的時間。
您提到的該文檔不適用於 istio 1.5,因為它使用了自 istio 1.5 以來已棄用的混音器,如下面的文檔中所述,您可能會重新啟用它,但我找不到任何相關文檔。
混合器已棄用。 Mixer 提供的功能正在轉移到 Envoy 代理中。 只有 Istio 1.7 版本才支持將 Mixer 與 Istio 一起使用。
混合器棄用
Mixer 是 istio-telemetry 和 istio-policy 部署背后的過程,在 1.5 版本中已被棄用。 從 Istio 1.3 開始,默認禁用 istio-policy,在 Istio 1.5 中默認禁用 istio-telemetry。
遙測是使用不需要 Mixer 的代理內擴展機制 (Telemetry V2) 收集的。
如果您依賴於特定的 Mixer 功能,例如進程外適配器,您可以重新啟用 Mixer。 在 Istio 1.7 之前,Mixer 將繼續接收錯誤修復和安全修復。 Mixer 支持的許多功能都有 Mixer Deprecation 文檔中指定的替代方案,包括基於 WebAssembly 沙箱 API 的代理內擴展。
如果您依賴的 Mixer 功能沒有等效功能,我們鼓勵您打開問題並在社區中討論。
關於升級,我會說如果那是 istio 的舊版本,那么升級可能會更困難,但由於它是 1.5,我會說使用istioctl upgrade升級到 1.6 可能很容易。 我建議先在一些測試環境中測試它。
Istio 使用“kubernetes-pods”作業配置 prometheus。 至少在使用“演示”配置文件時。 在這個 prometheus 作業配置中,有一個 relabel_configs 用於獲取 pod 標簽。
relabel_configs:
...
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
如果您想使用它,請使用 meshConfig.enablePrometheusMerge=true 選項,它將 append 標記到 istio 指標。 有相關的文檔。 請注意,此選項是 Istio 1.6 中新引入的,目前被視為 alpha。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.