Среда выполнения Docker отслеживается для определения производительности и поведения контейнеров и хост-систем.: Покажем, как при этом используются Prometheus и Grafana.

Потребуется установить в хост-системе (все загружается с официальных сайтов):

  • Docker для запуска контейнеров.
  • Prometheus для сбора метрик среды Docker. 
  • Grafana для визуализации метрик, собранных с Prometheus.

Этап 1. Установка сервера Prometheus

Prometheus  —  это система отслеживания для сбора и хранения данных временных рядов, в которой имеются инструменты для запрашивания и визуализации данных.

Устанавливаем Prometheus в системе Linux.

Загружаем пакет Prometheus:

Извлекаем его:

Переходим в папку Prometheus:

Запускаем:

С помощью Prometheus по умолчанию через порт 9090 прослушиваются входящие HTTP-запросы. Перейдя в браузере на http://localhost:9090, получаем доступ к веб-интерфейсу Prometheus:

Создание графика в Prometheus

Этап 2. Установка сервера Grafana

Grafana  —  популярный Open Source инструмент визуализации и отслеживания данных для создания на их основе дашбордов и графиков.

Устанавливается Grafana на компьютере так:

После установки открываем браузер и переходим на http://localhost:3000. Появится страница авторизации Grafana. Вводим имя пользователя по умолчанию admin и пароль admin:

Домашняя страница Grafana

Этап 3. Настройка Prometheus для извлечения метрик из среды выполнения Docker

Серверы Prometheus и Grafana запущены. Теперь создаем для Prometheus конфигурационный файл, где указываются цели для извлечения метрик из среды выполнения Docker и другие параметры:

В этом конфигурационном файле мы указали, что в Prometheus метрики из среды выполнения Docker должны извлекаться каждые 15 секунд. В поле targets («Цели») указываются хост и порт для извлечения метрик. Здесь мы извлекаем метрики из демона Docker, запускаемого на локальном хосте в порту 9323.

Этап 4. Запуск конфигурации брандмауэра Docker

Чтобы с помощью Prometheus извлекать метрики из среды выполнения Docker, запустим брандмауэр Docker. Этим специальным инструментом метрики из среды выполнения Docker предоставляются в формате, пригодном для извлечения в Prometheus.

Запускаем брандмауэр Docker такой командой:

Этап 5. Создание дашборда Grafana

Настроив Prometheus и запустив экспортер Docker, создаем в Grafana дашборд для визуализации метрик:

В дашборде Grafana показаны метрики для неудавшихся сборок, загрузки ЦП, системных байтов, процессов ЦП и информации об операционной системе.

Это была сложная задача: возник ряд трудностей при попытке извлечь метрики из среды выполнения Docker для Prometheus. Их удалось устранить, загрузив пакет брандмауэра из apt-репозитория. Теперь можно просматривать метрики, запускаемые в среде выполнения Docker.

Читайте также:

Читайте нас в TelegramVK и Дзен


Перевод статьи Justice Clement: HOW I MONITORED DOCKER RUNTIME ENVIRONMENT USING PROMETHEUS AND GRAFANA

Предыдущая статьяЧто такое большие данные: комплексный обзор
Следующая статьяКак создавать диаграммы с помощью ChatGPT