Рейтинг:0

Как записать статистику докеров в логи?

флаг cn

Я использую плагин ведения журнала докеров для отправки журналов в хранилище. Теперь я хочу хранить не только журналы приложений, но и статистику контейнера докеров (вывод команды статистики: CPU, MEM и т. д.), собираемую каждые несколько секунд.

Есть ли способ настроить docker/docker-compose для записи статистики контейнера в тот же вывод, что и журналы?

Рейтинг:0
флаг cn

Не нашли встроенного способа включить статистику контейнера в журнал контейнера, но часть нашего решения может помочь вам в этом:

У нас есть задание CRON на хосте Docker, которое выполняет этот скрипт каждую минуту, в результате чего журнал статистики контейнера упорядочен в обратном хронологическом* порядке:

#!/бин/баш
# statshot.sh

MAX_LINES=1440
CONTAINER_NAME=мой_контейнер
LOG=~/${CONTAINER_NAME}.stats.log

# docker stats-heading + статистика в новый лог
статистика докеров --no-stream | grep -e 'КОНТЕЙНЕР' -e ${ИМЯ_КОНТЕЙНЕРА} | ts '[%Y-%m-%d %H:%M]' > ${LOG}_

# добавляем строки из текущего лога в новый лог
# (pre-touch, если его еще нет)
коснитесь ${LOG}
grep ${CONTAINER_NAME} ${LOG} | голова -${MAX_LINES} >> ${LOG}_

# заменить текущий журнал новым журналом
мв ${LOG}_ ${LOG}

Запускается каждую минуту и ​​скатывается после 1440 строк, это дает нам 24-часовую историю жизненно важных функций контейнера.

Для ваших нужд (включая статистику в журнале контейнера) файл журнала, сгенерированный на хосте, может просто содержать одну/текущую строку статистики, но записываться в место, из которого контейнер может читать, и соответствующее задание CRON в контейнере повторяет его. утешить

* обратный порядок является побочным эффектом желания включить заголовок статистики Docker, но с более простым сценарием и меньшим количеством файловых операций ввода-вывода... приветствуются любые предложения сценариев для дальнейшего сокращения файловых операций ввода-вывода

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.