Консультация по продукту 1cloud

Установка и настройка Prometheus на Ubuntu 18


Prometheus не входит в стандартные репозитории Linux, поэтому его придётся скачивать с репозитория разработчиков. К тому же его установка не самая простая, поэтому разберём её подробно.

Алгоритм скачивания, установки и первичной настройки Prometheus такой:

  1. Скачаем последнею версию Prometheus с официального репозитория разработчиков: wget https://github.com/prometheus/prometheus/releases/download/v2.39.1/prometheus-2.39.1.linux-amd64.tar.gz;
  2. Разархивируем архив: tar xfv prometheus-2.39.1.linux-amd64.tar.gz;
  3. Создадим каталоги, по которым будем распределять скаченные файлы: mkdir /etc/prometheus && mkdir /var/lib/prometheus;
  4. Перейдем в распакованный архив: cd prometheus-2.39.1.linux-amd64;
  5. Распределим файлы по созданным каталогам:
    cp prometheus promtool /usr/local/bin/
    cp -r console_libraries consoles prometheus.yml /etc/prometheus
  6. Создадим пользователя, от имени которого будем запускать Prometheus: useradd --no-create-home --shell /bin/false prometheus;
  7. Назначим пользователя prometheus владельцем каталогов и файлов:
    chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
    chown prometheus:prometheus /usr/local/bin/{prometheus,promtool}
  8. Добавим в конец конфигурационного файла prometheus.yml заранее созданные ноды: - job_name: "frontend"
      static_configs:
        - targets: ["89.223.100.207:9100"]
    - job_name: "backend"
      static_configs:
        - targets: ["89.223.100.51:9100"]
    - job_name: "db_server"
      static_configs:
        - targets: ["45.134.27.185:9100"]
  9. Протестируем работоспособность Prometheus — выполнив команду: /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

В результате запуска Prometheus — вы увидите большое количество текстовой информации в терминале. Она нас не волнует, просто перейдите с помощью браузера на порт 9090 сервера, где запущен Prometheus — откроется web-порт Prometheus:

Кликнув по вкладке Status Targets, можно увидеть, с каких нод сейчас идёт сбор метрик. В нашем случае Prometheus собирает метрики с 3 серверов и c самого себя:

Хорошо, Prometheus уже работает. Вернёмся в терминал и донастроим Prometheus.

  1. Закроем выполнение Prometheus сочетанием клавиш CTR + C;
  2. После ручного запуска Prometheus иногда сбиваются права доступа, поэтому выполним ещё раз команду: chown -R prometheus:prometheus /var/lib/prometheus;
  3. Теперь автоматизируем запуск Prometheus через systemd. Выполните команду vim /etc/systemd/system/prometheus.service и внесите следующие параметры:
    [Unit]
    Description=Prometheus Service
    After=network.target

    [Service]
    User=prometheus
    Group=prometheus
    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
    ExecReload=/bin/kill -HUP $MAINPID
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target
  4. Выполним 3 команды systemd для запуска Prometeus в режиме демона:
    systemctl enable prometheus
    systemctl start prometheus
    systemctl status prometheus

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

Это значит, что Prometheus установлен и работает исправно.


Средняя оценка: 5,0, всего оценок: 1