LINUX.ORG.RU
ФорумAdmin

LXC

 ,


1

2

Коллеги , а кто как мониторит по ресурсам( i/o , cpu,ram,net ) lxc контейнеры ?
Нужно , icinga/nagios отдавать с клиента ( хост на котором запущенно несколько контейнеров) выдавать по каждому основные метрики загрузки ( то есть по сути не ставить/не настраивать) в каждый контейнер ключ .

Нашел это https://www.claudiokuenzler.com/nagios-plugins/check_lxc.php , насколько оно нормальное , что можете посоветовать взамен этого плагина ?

★★★★★

cpu/ram/net замечательно мониторится через /sys/fs/cgroup/ или через lxc-info

про i/o - не знаю.

vel ★★★★★
()
Ответ на: комментарий от vel

про i/o - не знаю.

Вопрос где это можно посмотреть по быстрому ( код atop немаленький) и нужно такой же disk busy в % !

pinachet ★★★★★
() автор топика
Ответ на: комментарий от vel

cpu/ram/net замечательно мониторится через /sys/fs/cgroup/ или через lxc-info

Оно выдает суммарные данные , а нужно в %

pinachet ★★★★★
() автор топика

Я использую netdata на хосте и influxdb + grafana в контейнере, которая уже все это дело хранит. В твоем случае нужно сначала разобраться что ты можешь использовать чтобы получать данные от контейнеров на хосте. Если плагин делает свое дело, то почему-бы и нет.

anonymous_sama ★★★★★
()
Ответ на: комментарий от pinachet

Проценты он считает от общей нагрузки, а не от максимально возможного I/O винт (: [ чудес не бывает ]

.B dsk%
The percentage of read and write accesses related to the total
number of read and write accesses issued on disk by all processes,
so a high percentage does not imply a high disk load on system level.
pinachet ★★★★★
() автор топика
Ответ на: комментарий от pinachet

Если используется CFQ или BFQ, то статистика будет видна в blkio.io_service_time

IMHO для каждого контейнера открыть 2 файла /sys/fs/cgroup/blkio.io_service_time и /sys/fs/cgroup/lxc/<name>/blkio.io_service_time взять строку 'Total' и посчитать процент - не сложно даже на bash.

C memory и cpu все аналогично, а вот с сетью все не так просто - ее нужно смотреть в /sys/class/net/<dev>/statistic/

vel ★★★★★
()
Ответ на: комментарий от vel

И как тогда делать?
i/o внутри lxc контейнеров общий для всей системы.

P.S Может просто смотреть с хост машины какие процессы к какому контейнеру принадлежат и отдавать статистику( да и как понять привязку процесса к какой lxc ) ?

pinachet ★★★★★
() автор топика
Ответ на: комментарий от pinachet

i/o внутри lxc контейнеров общий для всей системы.

Почему общий? Вроде как циферки все разные

find /sys/fs/cgroup -name blkio.io_service_time | xargs grep '^Total'

через blkio.reset_stats можно сбросить статистику ( для отладки)

Польза от cgroup-fs в том, что для мониторинга контейнеров не нужно ничего делать в самом контейнере, т.к. данные можно собирать на хосте.

В каждом каталоге cgroup есть 'tasks' в котором pid-ы процессов контейнера

vel ★★★★★
()
Ответ на: комментарий от vel

Почему общий? Вроде как циферки все разные

У меня вообще все по нулям.Видно из-за deadline шедулер

find /sys/fs/cgroup -name blkio.io_service_time | xargs grep '^Total'
/sys/fs/cgroup/blkio/lxc/pma/blkio.io_service_time:Total 0
/sys/fs/cgroup/blkio/lxc/хх-cms/blkio.io_service_time:Total 0
/sys/fs/cgroup/blkio/lxc/хх-db1/blkio.io_service_time:Total 0
/sys/fs/cgroup/blkio/lxc/хх-php7/blkio.io_service_time:Total 0
/sys/fs/cgroup/blkio/lxc/хх-php7/blkio.io_service_time:Total 0
/sys/fs/cgroup/blkio/init.scope/blkio.io_service_time:Total 0
/sys/fs/cgroup/blkio/system.slice/mdadm.service/blkio.io_service_time:Total 0
/sys/fs/cgroup/blkio/system.slice/boot-efi.mount/blkio.io_service_time:Total 0

pinachet ★★★★★
() автор топика
Ответ на: комментарий от pinachet

через lxc-top видно какая виртуалка сколько сьела IO .

через тот strace lxc-top все видно.

Осталось попытаться подсчитать сколько каждая из них сьела и все перепроверить

pinachet ★★★★★
() автор топика
Последнее исправление: pinachet (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.