Используйте Prometheus "перемаркировка цели", чтобы извлечь имя образа Docker cAdvisor без тега

Я использую Prometheus вместе с cAdvisor для мониторинга своей среды.

Теперь я попытался использовать "перемаркировку цели" Прометея и создать метку, в которой его значением будет имя изображения контейнера Docker без тега. Он основан на изначально соскоб image этикетка.

По какой-то причине он не работает, не показывая ошибок при работе на уровне журнала отладки. Я вижу метрики, извлеченные из cAdvisor (например, container_last_seen) но моего недавно созданного лейбла там нет.

Моя конфигурация работы:

  - job_name: "cadvisor"
    scrape_interval: "5s"
    dns_sd_configs:
      - names: ['cadvisor.marathon.mesos']
    relabel_configs:
      - source_labels: ['image']
        # [REGISTRYHOST/][USERNAME/]NAME[:TAG]
        regex: '([^/]+/)?([^/]+/)?([^:]+)(:.+)?'
        target_label: 'image_tagless'
        replacement: '${1}${2}${3}'

Мой ярлык - image_tagless - отсутствует в очищенных метриках.

Любая помощь приветствуется.

1 ответ

Решение

Метка изображения не является целевой меткой, она находится на самих показателях. Таким образом, вы должны использовать metric_relabel_configs скорее, чем relabel_configs

Мой блог на Life of Label объясняет, как это работает.

Другие вопросы по тегам