🤔 Какие метрики стоит снимать с докер контейнеров?
Чтобы мониторить Docker-контейнеры, нужно отслеживать ключевые метрики, которые помогут определить нагрузку, утечки памяти, падения контейнеров и проблемы с сетью.
CPU (Нагрузка на процессор)
Memory (Использование памяти)
Network (Сетевой трафик)
Disk I/O (Диск и файловая система)
Container Lifecycle (Состояние контейнеров)
🟠CPU (Загрузка процессора)
% использования CPU контейнером
% CPU в системе и пользователе
Throttling (ограничение CPU)
docker stats --format "table ``.`Name`\t``.`CPUPerc`"
Метрика в Prometheus (cadvisor)
rate(container_cpu_usage_seconds_total{name="my-container"}[5m]) * 100
🟠Memory (Использование памяти)
RSS (реальная память, используемая процессами)
Cache (используемая кэшированная память)
OOM (Out of Memory kills)
docker stats --format "table ``.`Name`\t``.`MemUsage`"
Метрика в Prometheus
container_memory_usage_bytes{name="my-container"}
🟠Network (Сетевой трафик)
Rx/Tx Bytes (входящий и исходящий трафик)
Количество соединений
docker stats --format "table ``.`Name`\t``.`NetIO`"
Метрика в Prometheus
rate(container_network_transmit_bytes_total{name="my-container"}[5m])
🟠Disk I/O (Чтение/запись на диск)
Количество операций чтения/записи
Объем данных, записанных/прочитанных контейнером
docker stats --format "table ``.`Name`\t``.`BlockIO`"
Метрика в Prometheus
rate(container_fs_writes_bytes_total{name="my-container"}[5m])
🟠Container Lifecycle (Состояние контейнеров)
Перезапуски контейнера (Restart Count)
Состояние контейнера (Running, Exited, Dead)
docker ps -a --format "table ``.`Names`\t``.`Status`\t``.`Restarts`"
Метрика в Prometheus
container_start_time_seconds{name="my-container"}
Ставь 👍 и забирай 📚 Базу знаний
Чтобы мониторить Docker-контейнеры, нужно отслеживать ключевые метрики, которые помогут определить нагрузку, утечки памяти, падения контейнеров и проблемы с сетью.
CPU (Нагрузка на процессор)
Memory (Использование памяти)
Network (Сетевой трафик)
Disk I/O (Диск и файловая система)
Container Lifecycle (Состояние контейнеров)
🟠CPU (Загрузка процессора)
% использования CPU контейнером
% CPU в системе и пользователе
Throttling (ограничение CPU)
docker stats --format "table ``.`Name`\t``.`CPUPerc`"
Метрика в Prometheus (cadvisor)
rate(container_cpu_usage_seconds_total{name="my-container"}[5m]) * 100
🟠Memory (Использование памяти)
RSS (реальная память, используемая процессами)
Cache (используемая кэшированная память)
OOM (Out of Memory kills)
docker stats --format "table ``.`Name`\t``.`MemUsage`"
Метрика в Prometheus
container_memory_usage_bytes{name="my-container"}
🟠Network (Сетевой трафик)
Rx/Tx Bytes (входящий и исходящий трафик)
Количество соединений
docker stats --format "table ``.`Name`\t``.`NetIO`"
Метрика в Prometheus
rate(container_network_transmit_bytes_total{name="my-container"}[5m])
🟠Disk I/O (Чтение/запись на диск)
Количество операций чтения/записи
Объем данных, записанных/прочитанных контейнером
docker stats --format "table ``.`Name`\t``.`BlockIO`"
Метрика в Prometheus
rate(container_fs_writes_bytes_total{name="my-container"}[5m])
🟠Container Lifecycle (Состояние контейнеров)
Перезапуски контейнера (Restart Count)
Состояние контейнера (Running, Exited, Dead)
docker ps -a --format "table ``.`Names`\t``.`Status`\t``.`Restarts`"
Метрика в Prometheus
container_start_time_seconds{name="my-container"}
Ставь 👍 и забирай 📚 Базу знаний