Сadvisor программа для сбора данных о контейнерах виртуализации (в основном докер но поддерживает и альтернативные варианты) которая может легко интегрироваться с Prometheus. Программа предоставляет полноценный веб интерфейс для просмотра всех данных мониторинга.
[!danger]
Разработкой занимается Google и образ размещен на их серверах. Из за санкций возможно потребуется доступ к сайту gcr.io через VPN.
Репозиторий: GitHub - google/cadvisor: Analyzes resource usage and performance characteristics of running containers.
Пример развертывания docker compose:
type: docker-compose
tags:
aliases:
program:
- nodeexporter
- cadvisor
modified: 2024-10-12T01:29:14+03:00
dg-publish: true
МОС: “[[Docker Compose]]”
Стек предназначен для запуска на удаленной машине для сбора данных мониторинга о хост системе и докер контейнерах:
services:
nodeexporter:
image: prom/node-exporter:latest
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- --path.procfs=/host/proc
- --path.rootfs=/rootfs
- --path.sysfs=/host/sys
- --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)
restart: unless-stopped
network_mode: host
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
privileged: true
devices:
- /dev/kmsg:/dev/kmsg
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /cgroup:/cgroup:ro
restart: unless-stopped
command:
- '-port=8090'
network_mode: host
networks: {}
[!bug] Внимание
Сadvisor запускается по умолчанию на порту 8080 который может быть занят в системе, для работы его может быть необходимо переопределить. В режиме bridge с указаниемports: - 8090:8080или добавить блок изменения портаcommand: - '-port=8090'
Настройка Prometheus
Добавить в конфигурационный файл Prometheus новую задачу сбора данных:
- job_name: 'nodeexporter'
scrape_interval: 5s
static_configs:
- targets: ['monitoring.local:9100', 'gateway.local:9100', 'main.local:9100', 'nextcloud.local:9100', 'media.local:9100', 'immich.local:9100', 'armbian.local:9100']
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- targets: ['monitoring.local:8090', 'gateway.local:8090', 'main.local:8090', 'nextcloud.local:8090', 'media.local:8090', 'immich.local:8090', 'armbian.local:8090']
Мониторинг в Grafana
Для визуализации (при развертывании стека с [[Self-hosting. Nodeexpoeter|Node exporter]]) можно использовать панели Grafana:
[!urls]- Упоминания:
- [[Self-hosting программы]]
- [[Self-hosting. Grafana|Grafana]]
- [[Self-hosting. Nodeexpoeter|node exporter]]
- [[Сервер Main]]
- [[Сервер Media]]
- [[Сервер Immich]]
- [[Сервер Nextcloud]]
- [[Сервер Monitoring]]
- [[Сервер Gateway]]
- [[Сервер Armbian]]
[!description]- Примечание
Примечание:: Сбор данных мониторинга docker контейнеров