Как писать вложенные запросы label_replace в Prometheus? - PullRequest
0 голосов
/ 17 июня 2020

У меня есть метрики следующей формы:

kube_deployment_labels{deployment="application1-deployment",endpoint="http",instance="10.273.78.36:8180",job="kube-state-metrics",label_app="applcation-request-adapter",label_environment="dev",label_version="dev",namespace="default",pod="kore-prom-kube-state-metrics-654d86c799-2kqzs",service="kore-prom-kube-state-metrics"}

Мне нужно выполнить замену метки в пространстве имен на dev_namespace и label_version на dev_version. Как написать вложенный оператор label_replace? Я могу применить для них то же самое по отдельности, например:

label_replace(kube_deployment_labels{label_app=~".*",label_environment=~"dev",label_version=~"dev"}, "dev_namespace", "$1", "namespace", "(.*)")

и

label_replace(kube_deployment_labels{label_app=~".*",label_environment=~"dev",label_version=~"dev"}, "dev_version", "$1", "label_version", "(.*)")

Как объединить их вместе, чтобы переименовать или заменить несколько ярлыков одновременно в prometheus?

1 Ответ

0 голосов
/ 17 июня 2020

После некоторой работы я нашел решение для этого. Я подумал, что выложу здесь, чтобы другие могли посмотреть:

label_replace(label_replace(kube_deployment_labels{label_app=~".*",label_environment=~"dev",label_version=~"dev"}, "dev_namespace", "$1", "namespace", "(.*)"), "dev_version", "$1", "label_version", "(.*)")
...