Prometheus — это приложение для мониторинга с открытым исходным кодом. 
Оно сканирует HTTP-конечные точки для сбора показателей в простом текстовом формате, охватывает множество аспектов мониторинга, таких как генерация и сбор показателей, построение графиков на информационных панелях и оповещение об аномалиях.  С недавнего времени, Prometheus умеет работать с Telegram из коробки. Об этом ниже.

В этом руководстве мы узнаем, как установить три ключевых компонента для использования Prometheus в Docker. Это:

  • Сервер Prometheus для сбора показателей и запроса к ним;
  • Node Exporter для экспорта системных показателей в формате, совместимом с Prometheus;
  • Grafana — это веб-приложение для создания графических информационных панелей, которое поддерживает Prometheus и другие серверные части.

Подразумевается, что у нас уже установлен Docker и docker-compose, в противном случае, можно воспользоваться инструкцией Установка Docker на VPS/VDS.

Запуск Prometheus + Node Exporter в Docker

Создадим директорию для размещения docker-compose файла:

Перейдем в созданный каталог:

Создадим файл docker-compose.yml, содержащий следующие сервисы:

Перенесем содержимое ниже в файл docker-compose.yml:

Находясь в директории prometheus/, создадим два каталога для хранения конфигурационных файлов и накопленных данных:

Выдадим права на созданный каталог data:

В каталоге configuration создадим конфигурационный файл prometheus.yml:

Из каталога prometheus/ запустим docker-compose:

http://<IP_узла_установки>:9090 — prometheus (по умолчанию аутентификация у сервиса отсутствует).

По адресу http://<IP_узла_установки>:9100 — страница Node Exporter

Значит все установлено верно.

Запуск Grafana в Docker

Теперь доработаем наш docker-compose.yml файл для запуска Grafana:

Выполним команду:

Теперь Grafana на http://<IP_узла_установки>:3000 — grafana (данные для входа по умолчанию: login — admin; password — admin).

Система предложит придумать новый пароль для входа в систему.