Команда cAdvisor enable_metrics не работает в докере

Я использую cAdvisor и Prometheus для мониторинга контейнеров докеров. Я запускаю приложение с помощью файла docker-compose.yml.

В документации cAdvisor я прочитал, что флаги --enable_metrics и --disable_metrics можно использовать для выбора только подмножества метрик для мониторинга. Однако, как только я задаю любой из этих флагов, cAdvisor начинает отслеживать только себя.

Флаг --ignore_containers=cadvisor тоже не работает, значит, я что-то делаю не так?

Это мой файл для создания докеров:

version: '3.2'
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    ports:
    - 9090:9090
    command:
    - --config.file=/etc/prometheus/prometheus.yml
    volumes:
    - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
    depends_on:
    - cadvisor
  cadvisor:
    image: gcr.io/cadvisor/cadvisor:latest
    container_name: advisor
# also tried:
# command: "--enable_metrics=memory"
# command: --enable_metrics=memory
# and more...

   command:
      - --disable_metrics=accelerator,advtcp,app,cpu,cpuLoad,cpu_topology,cpuset,disk,diskIO,hugetlb,memory_numa,network,oom_event,percpu,perf_event,process,referenced_memory,resctrl,sched,tcp,udp
      - --enable_metrics=cpuLoad,memory,network
      - --ignore_containers=cadvisor
    ports:
      - 8080:8080
    volumes:
    - /:/rootfs:ro
    - /var/run:/var/run:rw
    - /sys:/sys:ro
    - /var/lib/docker/:/var/lib/docker:to

   ... containers ...

Обновлено:

Я попробовал то, что предложил пользователь e0031374, и исправил версию cAdvisor до v0.47.1. Однако я заметил, что как только я даю какую-либо команду, контейнер выходит в неработоспособном состоянии. Без команды все работает нормально.

Например, когда я добавляю

    command: 
      - "--version"

docker ps -a показывает:

5c4092450466   gcr.io/cadvisor/cadvisor             "/usr/bin/cadvisor -…"   24 seconds ago   Exited (0) 16 seconds ago 

docker container inspect 5c4092450466 показывает:

...
Created": "2023-04-20T15:57:15.491743018Z",
        "Path": "/usr/bin/cadvisor",
        "Args": [
            "-logtostderr",
            "--version"
        ],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2023-04-20T15:57:22.532921383Z",
            "FinishedAt": "2023-04-20T15:57:22.726984392Z",
            "Health": {
                "Status": "unhealthy",
                "FailingStreak": 0,
                "Log": []
            }
        },
...

Что мне здесь не хватает? Спасибо!

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
121
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

попробуйте запустить cadvisor с параметром времени выполнения command: "--version", чтобы проверить версию образа cadvisor, который вы используете

cadvisor может быть ниже версии 0.41.0, даже если указана последняя версия. если это так, вам может потребоваться вручную указать более позднюю версию, например image: gcr.io/cadvisor/cadvisor:v0.47.0

Спасибо! Я бегу cAdvisor version v0.47.1 (7dfeea7d). Я заметил, что если я не ввожу какую-либо команду, контейнер работает без проблем. Однако, как только я пытаюсь добавить любую команду (даже --version), контейнер выходит в неработоспособном состоянии. У вас есть идеи о том, что я могу делать неправильно? Я обновлю свой вопрос, чтобы предоставить больше контекста.

picklepick 20.04.2023 17:59

что говорит бег docker container logs <container_id>? также вы пытались использовать только --enable_metrics=cpuLoad,memory,network в команде с image: gcr.io/cadvisor/cadvisor:v0.47.1. пропустив любую другую команду. так как я не думаю, что ускоритель поддерживается в disable_metrics после v0.46.1

e0031374 21.04.2023 20:14

из документов и журнала ошибок, я не думаю, что --ignore_containers также поддерживается во время выполнения

e0031374 21.04.2023 20:31

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