Перейти к содержанию

Prometheus

Установка

Операционная система: Ubuntu 22.04.3 LTS

Версия Prometheus: 2.46.0

Дата обновления статьи: 18 октября 2023

  1. Войти в режим sudo и обновить систему:

    $ sudo -i
    $ apt update
    $ apt upgrade
    
  2. Установка пакетов Prometheus на сервер

    $ sudo mkdir /etc/prometheus
    $ sudo mkdir /var/lib/prometheus
    $ mkdir -p /tmp/prometheus && cd /tmp/prometheus
    $ curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
    $ tar xvf prometheus*.tar.gz
    $ cd prometheus*/
    $ mv prometheus promtool /usr/local/bin/
    $ mv prometheus.yml /etc/prometheus/prometheus.yml
    $ mv consoles/ console_libraries/ /etc/prometheus/
    
  3. Создать сервис-файл

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

    Записать в файл следующий текст:

    [Unit]
    Description=Prometheus
    Documentation=https://prometheus.io/docs/introduction/overview/
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    Type=simple
    User=root
    Group=root
    ExecReload=/bin/kill -HUP \$MAINPID
    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 \
      --web.external-url=
    
    SyslogIdentifier=prometheus
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  4. Запустить службу prometheus, так, чтобы при перезагрузке она стартовала автоматически

    $ systemctl daemon-reload
    $ systemctl enable --now prometheus
    

Web интерфейс будет доступен по адресу http://hostname:9090 hostname заменить на имя сервера или ip адрес, на котором установлен Prometheus.

Базовая настройка

Prometheus периодически с заданным интервалом, делает http запрос, получает значения метрик с наблюдаемой системы и сохраняет их.

Список, адреса и правила задаются в конфигурационном файле prometheus.yml.

Для получение данных из оркестратора, необходимо открыть конфигурационный файл на редактирование

$ nano /etc/prometheus/prometheus.yml

И внести следующий блок текста:

  - job_name: 'v81c'
    scrape_interval: 15s
    scrape_timeout: 12s
    metrics_path: /k1c/hs/info/metrics # относительный путь к опубликованному оркестратору 1С
    basic_auth:
      username: 'prometheus' # имя пользователя 1С в Оркестраторе
      password: '12354' # пароль пользователя 1С в Оркетсраторе
    static_configs:
    - labels:
        environment: app_1c # произвольные статические группы, можно исключить
        service: cluster1c
      targets:
        - web-server-1c # Имя веб-сервера, на котором опубликована база Орекстратора

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

$ systemctl restart prometheus

Что бы посомтреть состояние сбора метрик, необходимо зайти на веб-интерфейс prometheus http://hostname:9090, выбрать пункт меню status -> targets

В открывшейся таблице, найти запись с устанволенным job_name, в данном примере это v81c, и посмотреть значение в колонке state. Если подключение успешно, то оно принимает значение UP

Установка и базовая настройка Prometheus завершена!

Дополнительно

Официальный сайт: https://prometheus.io

Документация Prometheus: https://prometheus.io/docs/prometheus/latest/getting_started/