Перейти к основному содержимому
Версия: Пульт 2.3.0

Установка Пульт (Docker)

Система Пульт разворачивается в докер-контейнерах при помощи плагина docker compose. Обязательной внешней СУБД является PostgreSQL (v. 15–16). ClickHouse (v. 23.6.2.18 и более) — опциональное хранилище; его разворачивают при больших объёмах исторических данных мониторинга.

Получить docker-образы компонентов Пульта могут все желающие по запросу в нашем ТГ сообществе

Общая последовательность установки

  1. Подготовить окружение: сервер, Docker, доступ к registry, сеть и порты.
  2. Установить и настроить PostgreSQL. При больших объёмах исторических данных — дополнительно ClickHouse.
  3. Развернуть основные компоненты Пульта: pult-server, pult-web.
  4. При необходимости установить дополнительные компоненты:

После установки web-интерфейс будет доступен по адресу http://<ip>:8080, где <ip> — адрес машины, на которой разворачивается Пульт.

Данные для авторизации в веб-интерфейсе Пульта по умолчанию: Логин: Admin / Пароль: zabbix

Состав docker-установки Пульта

НаименованиеТипОбязательностьНазначениеКогда используется
pult-serverКомпонент ПультаОбязательныйОсновной серверный компонент Пульта. Отвечает за обработку данных мониторинга, событий, триггеров, взаимодействие с базой данных и выполнение серверной логики системы.Используется всегда. Без pult-server система Пульт не выполняет основную серверную логику.
pult-webКомпонент ПультаОбязательныйWeb-интерфейс Пульта для работы пользователей и администраторов с системой мониторинга.Используется всегда, если требуется доступ к интерфейсу Пульта через браузер.
PostgreSQLВнешняя БДОбязательнаяОсновная реляционная база данных, используемая Пультом для хранения конфигурации, служебных данных и данных, необходимых для работы системы.Используется всегда в составе установки Пульта. Может быть развёрнута отдельно заказчиком или как часть подготовленной инфраструктуры.
ClickHouseВнешнее хранилище данныхОпциональныйКолонночное хранилище для исторических данных, метрик, трендов и больших объёмов данных мониторинга.Устанавливается при больших объёмах исторических данных, когда требуется отдельное хранилище для их хранения и быстрого анализа. Без ClickHouse Пульт работает с PostgreSQL.
agent2Компонент мониторингаОпциональный / зависит от сценарияАгент для сбора метрик с наблюдаемых хостов и передачи данных в систему мониторинга.Используется, если необходимо собирать метрики с серверов, виртуальных машин или других наблюдаемых узлов через Agent 2.
agent2-loadable-pluginsРасширение агентаОпциональныйНабор загружаемых плагинов для расширения возможностей Agent 2. Позволяет подключать дополнительные проверки и сценарии мониторинга.Используется, если стандартных возможностей agent2 недостаточно и требуются дополнительные плагины.
java-gatewayИнтеграционный компонентОпциональныйКомпонент для мониторинга Java-приложений через JMX.Используется, если в инфраструктуре есть Java-приложения, JVM или сервисы, для которых требуется сбор JMX-метрик.
pult-proxy-pgsqlПрокси-компонентОпциональный / зависит от архитектурыПрокси-компонент Пульта с использованием PostgreSQL. Предназначен для сбора, буферизации и передачи данных мониторинга между наблюдаемой инфраструктурой и сервером Пульта.Используется в сценариях, где требуется прокси с хранением данных в PostgreSQL, например для более надёжного или промышленного варианта развёртывания.
pult-proxy-sqlite3Прокси-компонентОпциональный / зависит от архитектурыПрокси-компонент Пульта с использованием SQLite. Предназначен для сбора, буферизации и передачи данных мониторинга между наблюдаемой инфраструктурой и сервером Пульта.Используется в более лёгких сценариях развёртывания прокси, где достаточно локального хранения данных в SQLite.
pult-report-serverКомпонент отчётностиОпциональный / обязателен при использовании отчётовКомпонент формирования отчётов в Пульте. Отвечает за генерацию отчётных данных и подготовку пользовательских отчётов.Используется, если в системе требуется функциональность отчётности. Если отчёты не используются, компонент может не запускаться.
pult-session-managerСлужебный компонентЗависит от конфигурацииКомпонент управления пользовательскими сессиями. Обеспечивает работу механизмов сессий в web-интерфейсе и связанных сервисах.Используется в конфигурациях, где управление сессиями вынесено в отдельный сервис.
pult-snmptrapsИнтеграционный компонентОпциональныйКомпонент для приёма и обработки SNMP trap-событий от сетевого оборудования и других инфраструктурных компонентов.Используется, если в инфраструктуре применяются SNMP traps для передачи событий в систему мониторинга.
pult-siemИнтеграционный компонентОпциональный / обязателен при интеграции с SIEMСервис экспорта событий журнала аудита Пульта во внешнюю SIEM/SOC-систему в формате Syslog RFC 5424 с полезной нагрузкой CEF.Используется, если требуется передавать события аудита Пульта во внешнюю систему мониторинга безопасности.

Подготовка каталога и переменных окружения

Создать директорию /opt/pult и перейти в неё:

sudo mkdir -p /opt/pult;
cd /opt/pult;

Создать файл с переменными окружения /opt/pult/.env и задать переменным значения:

sudo nano /opt/pult/.env
#Адрес сервера 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-адрес сервера Пульт>

# --- ClickHouse (только при использовании; см. раздел Базы данных → ClickHouse) ---
#Адрес сервера Clickhouse
CLICKHOUSE_HOST=<IP-адрес сервера Clickhouse>
#наименование БД в Clickhouse
CLICKHOUSE_DB=pult
#Администратор БД pult в Clickhouse
CLICKHOUSE_USER=pult
#Пароль пользователя pult в Clickhouse
CLICKHOUSE_PASSWORD=changeme
#Порт HTTP-интерфейса ClickHouse (для веб-интерфейса и режима HTTP)
CLICKHOUSE_PORT=8123
#Режим записи истории сервером: http или native (для native в STORAGE_URL используйте порт 9000)
ZBX_HISTORY_CLICKHOUSE_CONNECTOR=http
#Типы данных которые должны храниться в Clickhouse
ZBX_HISTORY_CLICKHOUSE_TYPES="dbl,uint,str,text,log"

⚠ Переменные CLICKHOUSE_*, ZBX_HISTORY_CLICKHOUSE_CONNECTOR и ZBX_HISTORY_CLICKHOUSE_TYPES заполняйте только при развёртывании ClickHouse. Режим Native и примеры URL — в разделе ClickHouse. Если пароль для пользователя в Clickhouse содержит спец.символы, задайте его в кодировке URL (пример: пароль p@ssw_ord в кодировке URL будет иметь вид p%40ssw_ord). Для кодировки пароля в URL можно воспользоваться специальными веб-сервисами, например www.urlencoder.org.

Запуск контейнеров

После подготовки docker-compose.yml (см. разделы по компонентам) загрузить образы и запустить контейнеры:

docker compose pull
docker compose up -d pult-server pult-web