Prometheus
Установка
Операционная система: Ubuntu 22.04.3 LTS
Версия Prometheus: 2.46.0
Дата обновления статьи: 18 октября 2023
-
Войти в режим sudo и обновить систему:
$ sudo -i $ apt update $ apt upgrade
-
Установка пакетов 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/
-
Создать сервис-файл
$ 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
-
Запустить службу 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/