Как установить Prometheus в Ubuntu 20.04 | Ubuntu 18.08

Как установить Prometheus в Ubuntu 20.04 | Ubuntu 18.08

 

Prometheus — это бесплатный инструмент с открытым исходным кодом для мониторинга и оповещения, который изначально использовался для мониторинга показателей в SoundCloud еще в 2012 году. Он написан на языке программирования Go.

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

Прометей состоит из следующих основных компонентов:

  • Главный сервер Prometheus для сбора и хранения данных временных рядов.
  • Уникальные экспортеры для таких сервисов, как Graphite, HAProxy, StatsD и многие другие.
  • Диспетчер предупреждений для обработки предупреждений
  • Push-шлюз для поддержки временных рабочих мест
  • Клиентские библиотеки для инструментального кода приложения

В этом руководстве мы узнаем, как установить Prometheus на Ubuntu 20.04 .

Что вам нужно:

Ниже приведены минимальные требования, которые вам необходимо выполнить перед началом работы:

  • Экземпляр сервера Ubuntu с настроенным пользователем sudo
  • 2 ГБ ОЗУ и 1 виртуальный ЦП
  • SSH доступ к серверу

Шаг 1. Обновите систему

Начните с обновления списков пакетов следующим образом:

$ sudo apt update

После обновления индекса пакета переходите к следующему шагу.

Шаг 2: Загрузите и установите Prometheus

Установочные файлы Prometheus поставляются в виде предварительно скомпилированных двоичных файлов в виде сжатых файлов tarball или заархивированных файлов. Чтобы скачать Prometheus, перейдите на официальную страницу загрузки . На момент написания этого руководства последняя версия Prometheus — 2.31.0.

Но сначала нам нужно создать каталоги конфигурации и данных для Prometheus.

Чтобы создать каталог конфигурации, выполните команду:

$ sudo mkdir -p /etc/prometheus

Для каталога данных выполните:

$ sudo mkdir -p /var/lib/prometheus

После создания каталогов возьмите сжатый установочный файл:

$ wget https://github.com/prometheus/prometheus/releases/download/v2.31.0/prometheus-2.31.0.linux-amd64.tar.gz 

После загрузки распакуйте архивный файл.

$  tar -xvf prometheus-2.31.3.linux-amd64.tar.gz

Затем перейдите в папку Prometheus.

$ cd prometheus-2.31.3.linux-amd64

После того, как в каталоге переместить в   prometheus и  promtool двоичные файлы в  /usr/local/bin/папке.

$ sudo mv prometheus promtool /usr/local/bin/

Кроме того, переместите файлы консоли в  console каталог и файлы библиотеки из console_libraries  каталога в  /etc/prometheus/ каталог.

$ sudo mv consoles/ console_libraries/ /etc/prometheus/

Также не забудьте переместить файл конфигурации шаблона prometheus.yml в  каталог. /etc/prometheus/

$ sudo mv prometheus.yml /etc/prometheus/prometheus.yml

На данный момент Prometheus успешно установлен. Чтобы проверить установленную версию Prometheus, выполните команду:

$ prometheus --version

Вывод:

prometheus, version 2.31.3 (branch: HEAD, revision: f29caccc42557f6a8ec30ea9b3c8c089391bd5df)
build user: root@5cff4265f0e3
build date: 20211005-16:10:52
go version: go1.17.1
platform: linux/amd64
$ promtool --version

Вывод:

promtool, version 2.31.3 (branch: HEAD, revision: f29caccc42557f6a8ec30ea9b3c8c089391bd5df)
build user: root@5cff4265f0e3
build date: 20211005-16:10:52
go version: go1.17.1
platform: linux/amd64

Если ваш результат похож на мой, значит, вы на правильном пути. На следующем шаге мы создадим системную группу и пользователя.

Шаг 3. Настройте Системную группу и пользователя

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

Для создания  prometheus группы выполните команду:

$ sudo groupadd --system prometheus

После этого создайте prometheus пользователя и назначьте его только что созданной  prometheus группе.

$ sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Затем настройте владельца каталога и разрешения следующим образом.

$ sudo chown -R prometheus:prometheus /etc/prometheus/ /var/lib/prometheus/
$ sudo chmod -R 775 /etc/prometheus/ /var/lib/prometheus/

Остается только сделать Prometheus сервисом systemd, чтобы мы могли легко управлять его текущим статусом.

Шаг 4: Создайте файл systemd для Prometheus

Используя ваш любимый текстовый редактор, создайте служебный файл systemd:

$ sudo vim /etc/systemd/system/prometheus.service

Вставьте следующие строки кода.

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Restart=always
Type=simple
ExecStart=/usr/local/bin/prometheus \
    --config.file=/etc/prometheus/prometheus.yml \
    --storage.tsdb.path=/var/lib/prometheus/ \
    --web.console.templates=/etc/prometheus/consoles \
    --web.console.libraries=/etc/prometheus/console_libraries \
    --web.listen-address=0.0.0.0:9090

[Install]
WantedBy=multi-user.target

Сохраните изменения и выйдите из файла systemd.

Затем продолжите и запустите сервис Prometheus.

$ sudo systemctl start prometheus

Включите службу Prometheus для запуска при запуске. Поэтому вызовите команду:

$ sudo systemctl enable prometheus

Затем подтвердите статус сервиса Prometheus.

$ sudo systemctl status prometheus

Как установить Prometheus в Ubuntu 20.04

Шаг 5: доступ к Прометею

Наконец, чтобы получить доступ к Prometheus, запустите браузер и посетите IP-адрес вашего сервера, а затем порт 9090.

Если у вас запущен брандмауэр UFW, откройте порт 9090:

$ sudo ufw allow 9090/tcp
$ sudo ufw reload

Вернитесь в ваш браузер. Отправляйтесь по указанному адресу.

http://server-ip:9090

Как установить Prometheus в Ubuntu 20.04

Заключение

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