Установка Docker
Система Пульт разворачивается в докер-контейнерах при помощи плагина docker compose. В качестве СУБД используется Clickhouse (v. 23.6.2.18 и более) и PostgreSQL (v. 15-16). Для скачивания docker-образов компонентов Пульта необходимо воспользоваться учетной записью в репозитории Лаборатории Числитель.
После установки, web-интерфейс будет доступен просто по http://ip:8080, где ip – адрес машины, на которой разворачивается Пульт.
Данные для авторизации в веб-интерфейсе Пульта по умолчанию: Логин: Admin / Пароль: zabbix
Установка Docker
Произвести установку Docker и Docker-compose на выделенном сервере согласно официальной документации в соответствии с выбранной ОС.
Далее добавить администратора в группу docker
sudo usermod -aG docker $USER;
newgrp docker;
После успешной установки необходимо запустить сервис контейнеризации docker и добавить его в автозагрузку:
sudo systemctl enable docker --now;
Установка сервера Пульта
Создать директорию /opt/pult и перейти в нее:
sudo mkdir -p /opt/pult;
cd /opt/pult;
Создать docker-compose.yml файл со следующим содержимым:
services:
pult-server:
image: registry.pult.chislitellab.ru:8123/releases/2.2.0/server-pgsql-redos8:7.4.5
container_name: pult-server
restart: always
environment:
ZBX_HISTORY_CLICKHOUSE_STORAGE_URL: http://${CLICKHOUSE_HOST}:${CLICKHOUSE_PORT}/?database=${CLICKHOUSE_DB}&user=${CLICKHOUSE_USER}&password=${CLICKHOUSE_PASSWORD}
ZBX_HISTORY_CLICKHOUSE_STORAGE_TYPES: ${ZBX_HISTORY_CLICKHOUSE_TYPES}
ZBX_HISTORY_CLICKHOUSE_CHUNK_SIZE: 10000
ZBX_HISTORY_CLICKHOUSE_FLUSH_TIMEOUT: 30
ZBX_HISTORY_CLICKHOUSE_NS_DISABLE: 1
ZBX_CACHESIZE: 2048M
ZBX_VALUECACHESIZE: 1024M
ZBX_TRENDCACHESIZE: 1024M
ZBX_ENABLE_SNMP_TRAPS: true
ZBX_HISTORYCACHESIZE: 256M
ZBX_HISTORYINDEXCACHESIZE: 128M
ZBX_TIMEOUT: 30
DB_SERVER_HOST: ${POSTGRES_HOST}
DB_SERVER_PORT: ${POSTGRES_SERVER_PORT}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
network_mode: host
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "10"
pult-web:
image: registry.pult.chislitellab.ru:8123/releases/2.2.0/web-nginx-pgsql-redos8:7.4.5
container_name: pult-web
restart: always
depends_on:
- "pult-server"
user: root
environment:
ZBX_SERVER_HOST: "${ZBX_SERVER_HOST}"
ZBX_HISTORY_CLICKHOUSE_URL: http://${CLICKHOUSE_HOST}:${CLICKHOUSE_PORT}/?database=${CLICKHOUSE_DB}
ZBX_HISTORY_CLICKHOUSE_USERNAME: default
ZBX_HISTORY_CLICKHOUSE_PASSWORD: default
ZBX_HISTORY_CLICKHOUSE_TYPES: ${ZBX_HISTORY_CLICKHOUSE_TYPES}
DB_SERVER_HOST: ${POSTGRES_HOST}
DB_SERVER_PORT: ${POSTGRES_SERVER_PORT}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
network_mode: host
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "10"
report-server:
restart: always
container_name: pult-report-server
image: registry.pult.chislitellab.ru:8123/releases/2.2.0/report-server-redos8:7.4.5
depends_on:
- "pult-server"
- "pult-web"
volumes:
- ./reports/generated_reports:/app/generated_reports
- ./reports/config.yaml:/app/config.yaml
ports:
- 8088:8080
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "10"
Установка модуля отчетов
Настройка Модуля отчетов
Создать директорию для модуля отчетов:
sudo mkdir -p /opt/pult/reports/generated_reports
Создать файл с конфигурацией модуля отчетов, внеся соответствующие изменения (ip-адреса для подключения, пароли):
sudo nano /opt/pult/reports/config.yaml
#Настройка подключения к конфигурационной БД
database:
type: 'postgresql'
username: 'pult'
password: 'changeme'
port: 5432
ip: '<IP-адрес сервера Postgres>'
name: 'pult'
#Настройка подключения к API Пульта
pult:
username: 'Admin'
password: 'zabbix'
api_url: 'http://<IP-адерс сервера Пульт>/'
#Количество потоков программы
application:
threads_count: 10
#Настройка пути для скачивания отчетов
web_server:
active: false
ip: ''
port: 8080
report_link: 'http://<IP-адерс сервера Пульта>/generated_reports/'
#Настройка housekeeper для сформированных отчетов (сколько времени хранятся сформированные отчеты)
housekeeper:
active: True
timeout: 3600
older_report_hour: 72
Создать файл с переменными окружения /opt/pult/.env и задать переменным значения:
sudo nano /opt/pult/.env
⚠ Если пароль для пользователя в Clickhouse содержит спец.символы, в файле с переменными окружения необходимо задать его в кодировке URL (пример: пароль p@ssw_ord в кодировке URL будет иметь вид p%40ssw_ord). Для кодировки пароля в URL можно воспользоваться специальными веб-сервисами, например www.urlencoder.org.
#Адрес сервера Clickhouse
CLICKHOUSE_HOST=<IP-адрес сервера Clickhouse>
#наименование БД в Clickhouse
CLICKHOUSE_DB=pult
#Администратор БД pult в Clickhouse
CLICKHOUSE_USER=pult
#Пароль пользователя pult в Clickhouse
CLICKHOUSE_PASSWORD=changeme
#Порт на котором слушает Clickhouse
CLICKHOUSE_PORT=8123
#Типы данных которые должны храниться в Clickhouse
ZBX_HISTORY_CLICKHOUSE_TYPES="dbl,uint,str,text,log"
#Адрес сервера PostgreSQL
POSTGRES_HOST=<IP-адрес сервера PostgreSQL>
#Порт PostgreSQL
POSTGRES_SERVER_PORT=5432
#Роль PostgreSQL
POSTGRES_USER=pult
#Пароль для выбранной роли PostgreSQL
POSTGRES_PASSWORD=changeme
#Наименование БД в PostgreSQL
POSTGRES_DB=pult
#Адрес сервера Пульта
ZBX_SERVER_HOST=<IP-адрес сервера Пульт>
Авторизоваться в docker-репозитарии Лаборатории Числитель:
docker login registry.pult.chislitellab.ru:8123
Загрузить образы docker-контейнеров Пульта
docker compose pull
Запустить docker-контейнеры Пульта:
docker compose up -d pult-server pult-web
docker compose up -d report-server
Активация пользовательских отчетов в веб-интерфейсе Пульта
Для активации пользовательских отчетов следует в web-интерфейсе перейти в раздел «Администрирование» → «Общие» → «Модули»

Далее ввести в поле Имя (1) название модуля "Предзаготовленные отчеты", нажать кнопку Применить (2) и сменить состояние кликнув на него (3).
В случае если указанный модуль будет не найден, попробовать нажать на кнопку "Сканировать директорию" (4).

Состояние модуля станет "Активировано"

В web-интерфейсе в разделе "Отчеты" появится подраздел "Пользовательские отчеты".

Установка прокси Пульта
Актуальный образ Proxy с поддержкой PostgreSQL доступен по адресу https://registry.pult.chislitellab.ru:8123/releases/2.2.0/proxy-pgsql-redos8:7.4.5
Файлы для установки: docker-compose.yml и файл окружения .env должны находиться в корне Вашего каталога с прокси.
Перед запуском создайте каталог для переменных окружения:
mkdir ./zbx_env
Поместите файл .env в созданный каталог ./zbx_env.
После подготовки окружения выполните:
docker-compose up -d
Сервис поднимется в фоне и будет использовать параметры из файла окружения.