Разве у prometheus source_labels могут быть только метки, начинающиеся с "__"? - PullRequest
0 голосов
/ 22 ноября 2018

Можно ли создать метку, используя метки, которые не начинаются с __?

Backgroud:
Я работаю с Prometheus и пытаюсь отслеживать lvs serivce с помощью node_exporter, поэтому мне нужна метка с именем vrrp_vs (виртуальный сервер vrrp), она должна содержатьvip и порт, такой как 172.16.10.10:80, я попытался сам сделать ярлык, используя две метки local_address и local_port метрики node_ipvs_backend_connections_active, но ничего не получилось.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Наконец-то нашел решение с помощью моего лидера.

" rel="nofollow noreferrer">relabel_configs работает только на мета-метках, начинающихся с __ до scrape действие.Но,
" rel="nofollow noreferrer">metric_relabel_configs может добиться цели.

metric_relabel_configs изменит метрику после очистки и перед хранением в Prometheus.Это действительно удивительно!
Ниже приведено то, что я сделал.

metric_relabel_configs:
  - source_labels: [local_address, local_port]
    action: replace
    regex: '(.+);(.+)'
    target_label: virtualserver
    #separator: ':'
    replacement: $1:$2

regex: '(.+);(.+)' означает, что если существуют и local_address, и local_port, то объедините их в одну строку с разделителем ;.replacement: $1:$2 означает заменить их на local_address:local_port формат.

Результат:

0 голосов
/ 27 ноября 2018

Вы можете использовать PromQL label_join для создания комбинированной метки из существующих меток.

label_join(node_ipvs_backend_connections_active, "vrrp_vs", "local_address", ":", "local_port")
...