Установка Prometheus

DockerBeginner
Практиковаться сейчас

Введение

Prometheus — это мощный набор инструментов для мониторинга и оповещения с открытым исходным кодом, изначально разработанный в SoundCloud. Он стал стандартом для мониторинга в облачно-нативных средах. Его основные возможности включают многомерную модель данных, гибкий язык запросов (PromQL) и различные варианты визуализации.

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

Загрузка образа Prometheus Docker

На этом шаге вы скачаете официальный образ Prometheus Docker из Docker Hub. Docker Hub — это публичный реестр образов Docker, а prom/prometheus — это официальный образ, поддерживаемый командой Prometheus.

Команда docker pull загружает указанный образ на ваш локальный компьютер, делая его доступным для запуска в качестве контейнера.

Выполните следующую команду в терминале, чтобы скачать последнюю версию образа Prometheus:

docker pull prom/prometheus

Вы увидите вывод, указывающий на загрузку слоев образа. После завершения образ будет сохранен локально.

Ожидаемый вывод (номера версий могут отличаться):

Using default tag: latest
latest: Pulling from prom/prometheus
a4ca46b05734: Pull complete
542b5806d2b7: Pull complete
...
Digest: sha256:2c785d4e9af2224941598d142337931a5f8333065916938c6444294020b45f50
Status: Downloaded newer image for prom/prometheus
docker.io/prom/prometheus

Запуск контейнера Prometheus на порту 9090

На этом шаге вы запустите контейнер Prometheus, используя только что скачанный образ. Мы будем использовать команду docker run для создания и запуска контейнера.

Вот разбивка используемых нами параметров команды:

  • -d: Запускает контейнер в отсоединенном режиме (в фоновом режиме).
  • -p 9090:9090: Сопоставляет порт 9090 хост-машины с портом 9090 контейнера. Веб-интерфейс Prometheus по умолчанию работает на порту 9090.
  • --name prometheus: Присваивает контейнеру запоминающееся имя prometheus для удобства обращения.
  • prom/prometheus: Указывает образ, который будет использоваться для создания контейнера.

Выполните следующую команду, чтобы запустить ваш контейнер Prometheus:

docker run -d -p 9090:9090 --name prometheus prom/prometheus

Команда выведет длинный идентификатор контейнера, подтверждая, что контейнер запущен.

Чтобы проверить, что контейнер запущен, вы можете использовать команду docker ps, которая выводит список всех запущенных контейнеров.

docker ps

Вы должны увидеть контейнер prometheus в списке со статусом "Up".

Ожидаемый вывод:

CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS                    NAMES
a1b2c3d4e5f6   prom/prometheus   "/bin/prometheus --c…"   A few seconds ago   Up a few seconds   0.0.0.0:9090->9090/tcp   prometheus

Доступ к веб-интерфейсу Prometheus по адресу localhost:9090

На этом шаге вы получите доступ к веб-интерфейсу Prometheus, который теперь запущен и доступен на порту 9090. Среда LabEx предоставляет удобный способ доступа к веб-сервисам, работающим внутри виртуальной машины.

Нажмите кнопку + (Новая вкладка), расположенную в верхней части интерфейса лаборатории.

Выберите опцию Web Service и введите 9090 в качестве порта.

Ввод порта веб-сервиса Prometheus

Это откроет новую вкладку браузера, подключенную к сервисам, работающим в вашей лабораторной среде.

Поскольку мы сопоставили порт 9090, будет доступен интерфейс Prometheus. Вы увидите Prometheus Expression Browser, который является основной целевой страницей. Этот интерфейс позволяет писать и выполнять запросы PromQL для исследования метрик.

Целевая страница Prometheus Expression Browser

Наличие этой страницы подтверждает, что ваш контейнер Prometheus работает корректно и доступен.

Проверка статуса службы Prometheus

На этом шаге вы будете использовать веб-интерфейс Prometheus для проверки статуса и информации о работе самой службы Prometheus.

В веб-интерфейсе Prometheus, который вы открыли на предыдущем шаге, перейдите на страницу статуса, нажав меню Status в верхней навигационной панели, а затем выбрав Runtime & Build Information.

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

Другой способ проверить работоспособность и метрики сервера Prometheus — получить доступ к его конечной точке /metrics. Эта конечная точка предоставляет множество внутренних метрик самого Prometheus. Вы можете просмотреть эти данные с помощью curl в вашем терминале.

curl http://localhost:9090/metrics

Вывод будет представлять собой длинный список метрик в формате экспозиции Prometheus. Найдите метрику, такую как prometheus_build_info, чтобы убедиться, что конечная точка работает.

Частичный ожидаемый вывод:

## HELP prometheus_build_info A metric with a constant '1' value labeled with the version, revision, branch, and goversion from which prometheus was built.
## TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goversion="go1.19.5",revision="233d305681c0da67c694b01d832131d173a0552b",version="2.41.0"} 1
...

Изучение целевых объектов по умолчанию в веб-интерфейсе Prometheus

На этом шаге вы изучите концепцию "целевых объектов" (targets) в Prometheus. Целевой объект — это конечная точка, с которой Prometheus собирает (скрапит) метрики. По умолчанию сервер Prometheus настроен на мониторинг самого себя.

В веб-интерфейсе Prometheus перейдите на страницу целевых объектов, нажав меню Status и затем выбрав Targets.

На этой странице вы увидите список всех настроенных целевых объектов для сбора метрик. Вы должны увидеть группу целевых объектов с именем prometheus и одним конечным объектом: http://localhost:9090/metrics. Это конечная точка метрик самого сервера Prometheus.

Интерфейс Prometheus, показывающий целевой объект самомониторинга в состоянии UP

Обратите внимание на столбец State. Он должен отображать UP зеленым цветом. Это означает, что Prometheus успешно подключается к целевому объекту и собирает его метрики. Если бы возникла проблема с подключением к целевому объекту, состояние было бы "DOWN". Эта страница имеет решающее значение для диагностики проблем со сбором метрик.

Резюме

Поздравляем! Вы успешно установили и запустили экземпляр Prometheus с использованием Docker. Эта лабораторная работа предоставила практическое введение в работу с одним из самых популярных инструментов мониторинга в индустрии.

В этой лабораторной работе вы научились:

  • Загружать официальный образ Prometheus Docker из Docker Hub.
  • Запускать контейнер Prometheus и сопоставлять его порт с хостом.
  • Получать доступ к веб-интерфейсу Prometheus и перемещаться по нему.
  • Проверять статус службы через интерфейс и конечную точку метрик.
  • Изучать конфигурацию целевых объектов мониторинга по умолчанию.

Теперь у вас есть базовое понимание того, как развернуть Prometheus. Следующие шаги в вашем обучении могут включать изучение создания пользовательского файла конфигурации для мониторинга других приложений и служб.