Docker - контейнер Prometheus немедленно умирает

У меня есть cadvisor, работающий с отображением портов 4000: 8080, и мне нужно связать его с контейнером с прометеем.

Мой prometheus.yml:

scrape_configs:
# Scrape Prometheus itself every 2 seconds.
- job_name: 'prometheus'
  scrape_interval: 2s
  target_groups:
  - targets: ['localhost:9090', 'cadvisor:8080']

Путь к этому файлу /home/test/prometheus.yml. Чтобы запустить контейнер с прометеем, я делаю:

docker run -d -p 42047:9090  --name=prometheus -v /home/test/prometheus.yml:/etc/prometheus/prometheus.yml  --link cadvisor:cadvisor prom/prometheus -config.file=/etc/prometheus/prometheus.yml -storage.local.path=/prometheus -storage.local.memory-chunks=10000 

Контейнер создан, но сразу умирает. Подскажите, в чем проблема?

Форма сообщений docker events&:

2016-11-21T11:43:04.922819454+01:00 container start 69d03c68525c5955cc40757dc973073403b13fdd41c7533f43b7238191088a25 (image=prom/prometheus, name=prometheus)
2016-11-21T11:43:05.152141981+01:00 container die 69d03c68525c5955cc40757dc973073403b13fdd41c7533f43b7238191088a25 (exitCode=1, image=prom/prometheus, name=prometheus)

person SegFault    schedule 21.11.2016    source источник


Ответы (6)


Формат конфига изменен. цели попадают в static_config в последней версии.

scrape_configs:
# Scrape Prometheus itself every 2 seconds.
  - job_name: 'prometheus'
  scrape_interval: 2s
  static_configs:
      - targets: ['localhost:9090', 'cadvisor:8080']

Документация Prometheus для получения дополнительной помощи

person Anon    schedule 03.08.2017

Да, target_groups переименован в static_configs. Пожалуйста, используйте последний образ Prometheus со следующим.

static_configs:
  - targets: ['localhost:9090', 'cadvisor:8080']

Вышеупомянутое сработало для меня.

person Vikram Hosakote    schedule 10.02.2018

Я думаю, что target_groups устарел по сравнению с scrape_configs в последней версии prometheus. вы можете попробовать static_configs или file_sd_config

scrape_config
static_config
file_sd_config

scrape_configs:
  - job_name: node_exporter
    static_configs:
      - targets:
         - "stg-elk-app-01:9100"
         - "stg-app-02:9100"
person Deepak    schedule 07.12.2016

Отступ неправильный, попробуйте:

scrape_configs:
  # Scrape Prometheus itself every 2 seconds.
  - job_name: 'prometheus'
    scrape_interval: 2s
    target_groups:
    - targets: ['localhost:9090', 'cadvisor:8080']
person brian-brazil    schedule 21.11.2016
comment
Какую версию Prometheus вы используете? target_groups был переименован в static_configs некоторое время назад. Это очень сложно отладить без вывода ошибок. - person brian-brazil; 21.11.2016
comment
Я сделал docker pull prom / prometheus, поэтому я думаю, что он должен быть последним (тег изображения - "последний") - person SegFault; 21.11.2016
comment
из журналов: time = 2016-11-21T11: 21: 40Z level = error msg = Ошибка загрузки конфигурации: не удалось загрузить конфигурацию (-config.file = / etc / prometheus / prometheus.yml): неизвестные поля в scrape_config: target_groups source = main.go: 149 - person SegFault; 21.11.2016

Как вы сказали в своем предыдущем комментарии:

from logs: time="2016-11-21T11:21:40Z" level=error msg="Error loading config: couldn't load configuration (-config.file=/etc/prometheus/prometheus.yml): unknown fields in scrape_config: target_groups" source="main.go:149"

Это явно означает, что поле "target_groups" вызывает проблему. Это связано с тем, что в новой версии Prometheus (начиная с v1.5) было отказано от использования поля "target_groups" и просто указаны цели. Даже я столкнулся с этой проблемой около 6 месяцев назад. Пожалуйста, попробуйте с новой версией. docker pull prom/prometheus может достать вам старую.

Надеюсь это поможет...!!!

person Akshay Shah    schedule 20.11.2017

Имя контейнера prometheus.

Как правило, если контейнер существует сразу после его запуска, я бы рекомендовал добавить -log.level=debug сразу после -config.file.

docker run -d -p 42047:9090 --name=prometheus -v /home/test/prometheus.yml:/etc/prometheus/prometheus.yml --link cadvisor:cadvisor prom/prometheus -config.file=/etc/prometheus/prometheus.yml -log.level=debug -storage.local.path=/prometheus -storage.local.memory-chunks=10000

Далее смотрим логи контейнера:

docker logs prometheus

Будут возникать любые проблемы с конфигурацией.

person greenpau    schedule 04.08.2017