Серверная часть системы Proceset
- Установка приложения Infomaximum на Linux
- Установка аналитической СУБД ClickHouse
- Подключение сервера Proceset к аналитической СУБД ClickHouse
Установка приложения Infomaximum на Linux
Чтобы установить приложение Infomaximum на Linux выполните следующие действия:
- Установите на сервер ПО Docker, следуя официальной документации https://docs.docker.com/engine/install/.
- Загрузите предоставленный архив с Docker-образом на нужный сервер.
- Распакуйте архив и загрузите его в локальное хранилище образов Docker.
$ gunzip infomaximum_docker_app_d230809.tar.gzОбратите внимание: Версия образа приведена в качестве примера. При использовании команды замените указанную версию на ту, которую вы устанавливаете.# docker load < infomaximum_docker_app_d230809.tar - Создайте тома Docker (volume) для постоянного хранения данных работы программы.
# docker volume create infomaximum-app-data# docker volume create infomaximum-app-log
Запуск приложения Infomaximum с HTTPS (Swarm)
Чтобы запустить с помощью Swarm контейнер с приложением, которое будет работать по HTTPS, выполните следующие действия:
- Запустите Docker Swarm.
# docker swarm init --advertise-addr 127.0.0.1:2377 --listen-addr 127.0.0.1:2377 - Подготовьте TLS-сертификат.
Для запуска по HTTPS нужен сертификат в формате PFX (PKCS#12). PFX-файл должен содержать сертификат сервера, закрытый ключ и, при необходимости, цепочку сертификатов удостоверяющего центра (УЦ).
Сертификат должен быть выпущен на DNS-имя сервера Proceset, которое будет использоваться для открытия веб-интерфейса, например
proceset.company.local. Это имя должно совпадать в трех местах:- В DNS-записи (A-запись на IP-адрес сервера);
- В сертификате — в поле
CNилиSAN; - В переменной
FE_URLпри запуске службы.
Замените# openssl req -x509 -nodes -newkey rsa:2048 -days 365 \ -keyout server.key \ -out server.crt \ -subj "/CN=proceset.company.local" \ -addext "subjectAltName = DNS:proceset.company.local"proceset.company.localна фактическое DNS-имя сервера. Затем соберите сертификат и ключ в PFX-файл:# openssl pkcs12 -export \ -inkey server.key \ -in server.crt \ -out server.pfx \ -passout pass:090909090909— пример пароля. Укажите свой пароль. Важно: Если используется самоподписанный сертификат, добавьте файлserver.crtв доверенные корневые центры сертификации на рабочих станциях пользователей и серверах, с которых будет выполняться подключение к Proceset. Иначе браузер или агент мониторинга могут не доверять HTTPS-соединению. - Создайте секреты (secrets).
# docker secret create infomaximum_app_https_certificate server.pfx# echo -n "090909" | docker secret create infomaximum_app_https_certificate_password - - Создайте службу (service).
# docker service create --name infomaximum-app \ --secret infomaximum_app_https_certificate \ --secret infomaximum_app_https_certificate_password \ --mount type=volume,src=infomaximum-app-data,target=/var/lib/infomaximum/data/ \ --mount type=volume,src=infomaximum-app-log,target=/var/log/infomaximum/ \ --publish published=443,target=8010,mode=host \ --restart-max-attempts 5 \ --restart-condition "on-failure" \ -e JVM_MAX_MEMORY='4G' \ -e FE_URL="https://server-name.domain.com" \ -e FE_CORS_POLICY="*" \ infomaximum/infomaximum_app:d230809Совет- Версия образа приведена в качестве примера. При использовании команды замените указанную версию на ту, которую вы устанавливаете.
- Рекомендуется указать порт для веб-интерфейса стандартный для HTTPS — 443. При необходимости можно указать другой порт.
- В переменной
JVM_MAX_MEMORYукажите максимальный объем ОЗУ в гигабайтах, который сможет использовать приложение Infomaximum. Рекомендуется указать значение в пределах 60-90 % от свободного объема ОЗУ на сервере. В переменнойFE_URL укажитерабочий URL, который будет использоваться для входа в веб-интерфейс. В переменнойFE_CORS_POLICYукажите значение*, чтобы настроить CORS для междоменного обмена данными с любыми сайтами. Для ограничения доступа перечислите через запятую список URL-адресов, с которыми необходим междоменный обмен данными, например,"https://infomaximum.com, https://infomaximum.ru". - Приложение запущено. В веб-браузере откройте страницу https://<fqdn-сервера>/ для создания учетной записи администратора системы.
Если страница не открывается:
- Проверьте, что контейнер работает, выполнив команду:
# docker ps - Обратитесь к логам приложения, выполнив команду:
# docker service logs -f infomaximum-app - Убедитесь, что с компьютера, где открыт браузер, есть возможность соединения с сервером Proceset, например при помощи
telnet.
Установка аналитической СУБД ClickHouse
Для установки аналитической СУБД ClickHouse необходим сервер под управлением ОС семейства Linux с возможностью установки ПО Docker версии 17.06 или выше. Также у сервера (-ов) под управлением Linux, где будет установлена СУБД ClickHouse, должна быть версия ядра:
- 3.15 и выше при использовании файловой системы EXT4
- 4.0 и выше при использовании файловой системы XFS
Если версия ядра ОС не соответствует указанным требованиям, многие функции системы могут быть недоступны или работать нестабильно.
Подготовка сертификата и закрытого ключа для сервера с СУБД ClickHouse
Чтобы передача данных между приложением Proceset и СУБД ClickHouse происходила по защищенному протоколу HTTPS, подготовьте SSL-сертификат и закрытый ключ для сервера, где будет установлена СУБД. Файл сертификата должен быть с расширением .crt, ключ — файл с расширением .key. Формат PEM.
Для получения сертификата обратитесь к администраторам инфраструктуры открытых ключей (PKI) в вашей организации.
Вы также можете использовать самоподписанный сертификат. Ниже приведен пример команды для его генерации при помощи OpenSSL в ОС семейства Linux:
$ openssl req -x509 -nodes -newkey rsa:2048 -days 365 -keyout key.key -out cert.crt \
-subj "/C=RU/ST=./L=./O=./OU=./CN=server-name.domain.com/emailAddress=." \
-addext "subjectAltName = IP:1.1.1.1,DNS:server-name.domain.com"
Запуск Docker-службы СУБД ClickHouse
Дистрибутив СУБД ClickHouse предоставляется в виде Docker-образа. Для установки контейнера с СУБД на сервере Linux выполните следующие действия:
- Установите на сервер ПО Docker, следуя официальной документации https://docs.docker.com/engine/install/.
- Загрузите переданный архив с Docker-образом на сервер.
- Распакуйте архив и загрузите образ в локальное хранилище Docker.
# gunzip infomaximum_clickhouse-23.3.2.37.tar.gzОбратите внимание: Версия образа приведена в качестве примера. При использовании команды замените указанную версию на ту, которую вы устанавливаете.# docker load < infomaximum_clickhouse-23.3.2.37.tar - Если Docker Swarm еще не был инициализирован на сервере, выполните команду запуска.
# docker swarm init --advertise-addr 127.0.0.1:2377 --listen-addr 127.0.0.1:2377 - Создайте секреты с учетными данными администратора СУБД ClickHouse.
# echo -n "infomaximum_user" | docker secret create infomaximum_app_user -# echo -n "b5w4GDSg36" | sha256sum | awk '{print $1}' | docker secret create infomaximum_app_user_password_hash - - Создайте секреты с учетными данными пользователя СУБД ClickHouse с правами только на чтение.
# echo -n "infomaximum_read_user" | docker secret create infomaximum_external_user -# echo -n "m26dhdhFdgj" | sha256sum | awk '{print $1}' | docker secret create infomaximum_external_user_password_hash - - Создайте секреты с SSL-сертификатом и ключом.
# docker secret create infomaximum_clickhouse.crt cert.crt# docker secret create infomaximum_clickhouse.key key.key# openssl dhparam 4096 | docker secret create infomaximum_clickhouse_dhparam.pem - - Создайте тома Docker (volume) для постоянного хранения данных работы контейнера.
# docker volume create infomaximum-clickhouse# docker volume create infomaximum-clickhouse-log - Создайте службу (service).
Обратите внимание: Версия образа приведена в качестве примера. При использовании команды замените указанную версию на ту, которую вы устанавливаете.
# docker service create --name infomaximum-clickhouse \ --secret infomaximum_app_user \ --secret infomaximum_app_user_password_hash \ --secret infomaximum_external_user \ --secret infomaximum_external_user_password_hash \ --secret infomaximum_clickhouse_dhparam.pem \ --secret infomaximum_clickhouse.crt \ --secret infomaximum_clickhouse.key \ --publish published=8123,target=8123,mode=host \ --mount type=volume,src=infomaximum-clickhouse,target=/var/lib/clickhouse/ \ --mount type=volume,src=infomaximum-clickhouse-log,target=/var/log/clickhouse-server \ --restart-max-attempts 5 \ --restart-condition "on-failure" \ dockerhub.office.infomaximum.com/infomaximum/infomaximum-clickhouse:23.3.2.37
Если служба удачно запущена, результатом выполнения команды должно быть сообщение: verify: Service converged.
Чтобы убедиться, что СУБД работает стабильно, откройте в браузере страницу https://<адрес_сервера>:8123/ping или используйте команду curl https://<адрес сервера>:8123/ping. Если настройка выполнена верно, появится сообщение: ОК.
Если сообщение не появляется:
- Проверьте, что контейнер работает.
# docker ps - Обратитесь к логам приложения.
# docker service logs -f infomaximum-clickhouse - Убедитесь, что открыты сетевые проходы до сервера.
Проверьте, не была ли допущена ошибка в шагах запуска, и попробуйте повторить создание службы. Для удаления нерабочей службы используйте команду docker service rm infomaximum-clickhouse.
Подключение сервера Proceset к аналитической СУБД ClickHouse
После установки приложения Infomaximum и СУБД ClickHouse необходимо настроить их соединение. Для этого выполните следующие шаги:
- Нажмите шестеренку в левом нижнем углу и откройте раздел Хранилища данных.

- На странице хранилищ данных выберите нужное подключение и кликните по нему. Откроется страница настройки подключения.
- Укажите параметры подключения к СУБД ClickHouse в соответствии с настройками вашего сервера:
- Название — удобное имя сервера для подключения
- Хост — FQDN сервера ClickHouse
- Порт — по умолчанию 8123
- Имя пользователя — логин администратора СУБД
- Пароль — администратора СУБД
- SSL (Вкл/Выкл) — необходимо включить, если ClickHouse работает по HTTPS. При включении SSL вы можете загрузить корневой сертификат, которым подписан сертификат сервера ClickHouse (или самоподписанный, в случае использования)
- Лимиты:
- Запрос в дашбордах (МБ) — максимальный объем ОЗУ, который выделяется сервером ClickHouse на выполнение одного SQL-запроса, инициированного из дашборда. Значение по умолчанию — 512 МБ
- Запрос в скриптах (МБ) — максимальный объем ОЗУ, который выделяется сервером ClickHouse на выполнение одного SQL-запроса, отправленного из скрипта. Если переключатель отключен, то используется лимит, указанный для дашбордов. Чтобы изменить значение, включите переключатель и укажите новое значение
- Время сессии (минуты) — указывается количество минут, отведенное на хранение сессии по отдельному SQL-запросу. Рекомендуется оставить значение по умолчанию
- Одновременные подключения — допустимое количество открытых сессий сервера Proceset с данным подключением ClickHouse. Рекомендуется оставить значение по умолчанию
- Размер очереди на выполнение — лимит количества SQL-запросов, ожидающих выполнения. Рекомендуется оставить значение по умолчанию
- Нажмите Проверить подключение для тестирования корректности настроек.
- Если тест соединения прошел успешно, нажмите Сохранить. Подключение выполнено.
Если тест соединения не проходит, обратитесь к логу приложения Infomaximum:
- На Windows:
C:\ProgramData\Infomaximum\logs\main.log - На Linux:
var/lib/docker/volumes/infomaximum-app-log/_date/main.logили командаdocker service logs infomaximum-app
Была ли статья полезна?