Найти в Дзене
Nuances of programming

Как отслеживать среду выполнения Docker с помощью Prometheus и Grafana

Оглавление

Источник: Nuances of Programming

Курс SkillFactory Системный администратор. Станьте универсальным специалистом по администрированию Linux с нуля и разверните собственный кластер.

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

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

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

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

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

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

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

-3

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

-4

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

-5

Запускаем:

-6

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

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

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

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

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

-8

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

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

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

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

-10

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

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

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

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

-11

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

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

-12

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

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

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

Читайте нас в Telegram, VK

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