Могут ли ярлыки prometheus source_labels начинаться только с __?

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

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


person NOZUONOHIGH    schedule 22.11.2018    source источник


Ответы (2)


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

_ 1_ работает только с мета-метками, начинающимися с __ перед действием очистки. Но
_ 3_ может помочь.

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.

Результат:

person NOZUONOHIGH    schedule 29.11.2018

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

label_join(node_ipvs_backend_connections_active, "vrrp_vs", "local_address", ":", "local_port")
person yamenk    schedule 26.11.2018
comment
Спасибо. Я уже делал это раньше, но новый ярлык отображается только в новой метрике, а не в других метриках, так что это не то, что я хочу. - person NOZUONOHIGH; 29.11.2018