Докерская телеметрия и мониторинг производительности
Что покажут инструменты телеметрии и мониторинга, если я пообедаю (2 варианта)
- док-контейнер
- хост-система
Будут ли они показывать процессор \ память и т. Д. Использование только контейнера или хост-системы?
Каковы лучшие практики? Программное обеспечение для мониторинга в каждом контейнере или в хост-системе?
3 ответа
Результаты должны быть точно такими же, потому что контейнеры Docker совместно используют свои ресурсы (в отличие от виртуальных машин).
То, что вы хотите сделать, это контролировать как хосты, так и контейнеры, работающие на них. Хороший способ сделать это - запустить контейнер, который собирает все данные на каждом хосте докера. Так работает, например, агент Sematext Docker - он работает как крошечный контейнер на каждом хосте Docker и собирает все метрики, события и журналы хоста и контейнеров. Затем он анализирует журналы, может маршрутизировать их, помещать в черный / белый список, автоматически обнаруживать новые контейнеры и так далее. В конце концов, журналы заканчиваются в Logsene, а метрики и события заканчиваются в SPM, что дает вам единый вид стекла на все ваши биты операций Docker с предупреждениями, обнаружением аномалий, корреляцией и так далее. Я надеюсь, что это поможет и направит вас в правильном направлении.
Не рекомендуется размещать агент в своих контейнерах, не только по соображениям производительности, но и в мире Docker, где каждый контейнер должен запускать отдельный процесс. Лучше запустить агент мониторинга на хосте или в отдельном контейнере, который можно настроить для извлечения метрик из других контейнеров. Так мы работаем в CoScale. Если вы заинтересованы, взгляните на наше решение для мониторинга Docker.