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

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

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 ответа

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

relabel_configs работает только на мета-метки начинаются с __ перед соскобом действий. Но,
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 формат.

Результат:

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

label_join(node_ipvs_backend_connections_active, "vrrp_vs", "local_address", ":", "local_port")
Другие вопросы по тегам