Раздел меню Обслуживание → Кластеры содержит инструменты управления кластерами в Платформе.
При первой авторизации пользователя система предлагает создать кластер и сервер по умолчанию. При подтверждении пользователя Платформа создает кластер, сервер и сервис обработки процессов. События по созданию и запуску фиксируются в журнале изменений системы.
Имя кластера, имя и наименование сервера наследуются от имени сервера, на котором установлена и запущена Платформа, указанного в операционной системе. В качестве адреса устанавливается ip-адрес 127.0.0.1.
Примечание
При необходимости добавить в кластер дополнительный сервер потребуется сменить адрес 127.0.0.1 на IP-адрес сервера из настроек сетевого подключения либо на имя компьютера сервера, которое должно разрешаться в корректный IP-адрес данного сервера на компьютерах локальной подсети.
Информация о конфигурации серверов, сервисов и систем кластера, работа с их очередями и архивом сообщений, диагностические запросы доступны в Центре мониторинга.
На вкладке Основные проверьте и при необходимости обновите следующие поля:
Название: произвольное название кластера, обязательно для заполнения.
Имя: уникальное имя кластера, необязательно для заполнения.
Комментарий: описание кластера, необязательно для заполнения, поддерживается многострочный ввод.
На вкладке Производительность заполните следующие поля:
Взаимодействие в кластере
Количество потоков передачи данных между серверами: сколько одновременных потоков может использоваться для обмена данными между серверами кластера.
Максимальное количество сообщений в очереди для модуля процессов на своем сервере: до какого объема сообщений модуль процессов будет копить их у себя, прежде чем “переливать” нагрузку.
Процент сообщений в очереди для модуля процессов на своем сервере, при повышении которого передавать выполнение другим серверам: порог, после которого очередь на текущем сервере считается “переполненной”, и задачи отправляются на другие сервера. Чем ниже показатель, тем раньше начнет перераспределяться.
Балансировка нагрузки при обработке сообщений: если включено, система автоматически распределяет задачи по серверам, чтобы не перегружать один.
Выполнение процессов
Количество потоков выполнения процессов: сколько процессов может выполняться одновременно (параллельно).
Максимальное количество спящих процессов: сколько процессов можно “притормозить” и оставить в спящем состоянии, чтобы не выполнять сразу.
Максимальный объем спящих процессов, Мб: ограничение по объему памяти для спящих процессов.
Максимальный объем очереди процессов к обработке, Мб: максимальный размер очереди процессов, которые уже взяты в работу.
Минимальное время ожидания ответа до помещения процесса в очередь спящих, мс: если процесс долго ждет ответа, после этого времени он отправляется в “спящий” режим.
Максимальный процент количества ожидающих процессов от заданного ограничения на объем спящих процессов: ограничение доли “ожидающих” процессов от лимита для спящих. При превышении новые процессы уже не будут переводиться в спящие.
Максимальное время ожидания в шагах, поддерживающие ожидание, минут: если шаг процесса поддерживает ожидание, то не дольше указанного времени.
Минимальное количество сообщений, забираемых из очереди на один поток обработки: минимальный объем сообщений, который один поток берет за один проход.
На вкладке Логирование и сбор событий заполните следующие поля:
Параметры сбора и хранения данных журнала
Уровень логирования для оперативного журнала (minLogLevel): установите необходимый уровень логирования журнала.
Уровень логирования журнала для хранения (minLogLevelHistory): установите необходимый уровень логирования журнала.
Дополнительные разделы журнала (features): установите дополнительный раздел журнала. Запись логов указанного раздела будет происходить без ограничения по уровню логирования.
Параметры сбора и хранения событий
Сохранять в формате Datareon (saveAsBinFiles): при активном флаге события сохраняются в бинарном формате. Формат необходим для работы Сервиса аналитики. По умолчанию флаг активен.
Сохранять в текстовом формате (saveAsTextFiles): при активном флаге события сохраняются в текстовых файлах. По умолчанию флаг не установлен.
Внимание
Допускается включение обоих форматов (и бинарный, и текстовый) одновременно. Один из параметров Сохранять в формате Datareon или Сохранять в текстовом формате должен быть активен.
Уровень логирования событий для оперативного журнала (defaultEventLevel): установите необходимый уровень логирования журнала.
Уровень логирования событий для хранения (defaultEventLevelHistory): установите необходимый уровень логирования.
Параметры хранения файлов в формате Datareon
Сохранять события с телами сообщений (saveBodies): при активном флаге тело сообщения сохраняется в событиях. При умолчанию флаг не установлен. Включение параметра увеличивает объем хранимых данных.
Максимальный размер тела сообщения для хранения (maxBodySizeBytes): максимальный размер тела сообщения, сохраняемого в событии (в байтах). Параметр используется только при активном флаге Сохранять события с телами сообщений.
Параметры хранения текстовых файлов
Длительность хранения (storeDays): определяет срок хранения текстовых файлов журнала и событий, указываются дни.
Максимальный размер каталога (folderMaxSizeMb): максимально допустимый размер каталога с текстовыми файлами журнала и событий, указываются мб. При достижении указанного размера выполняется очистка старых файлов.
Длительность хранения распакованных файлов (uncompressedDays): определяет срок хранения распакованных текстовых файлов (после автоматической распаковки архивов), указываются дни. По истечении срока файлы удаляются.
Максимальный размер распакованных файлов (uncompressedMaxSizeMb): максимальный суммарный размер распакованных текстовых файлов, указываются мб. При превышении значения выполняется удаление наиболее старых файлов.
Максимальный размер каталога для временных файлов (tempFolderMaxSizeMb): максимальный размер каталога, используемого для хранения временных файлов при работе с журналами и событиями, указываются мб.
Длительность хранения временных файлов (tempStoreMinutes): определяет, как долго временные файлы хранятся до автоматического удаления (в минутах).
Нажмите на кнопку Сохранить изменения. Введенные данные будут сохранены, и между кнопками появится кнопка Обновить, которую можно будет использовать для обновления данных:
heartbeatPeriod (integer): период опроса машин координатором (в мс.).
otherMachineSenderThreadsCount (integer): количество потоков при передаче данных между серверами кластера. Может принимать значения от 1 до 12. Значение по умолчанию - 8.
failThreshold (integer): максимальное количество пропущенных heartbeat-сообщений, после которых сервер считается недоступным.
useCertificateForChannels (boolean): использование сертификатов для каналов связи.
useBalancing (boolean): включение балансировки на модулях процессов. Уточнение параметра доступно в настройках модуля процессов.
processParams (array): базовые настройки балансировщика для всех модулей процессов, см. раздел Балансировка. Уточнение параметра доступно в настройках модуля процессов.
commonParams (array): максимальный объем потребляемой памяти модулями процессов, см. раздел Балансировка. Уточнение параметра доступно в настройках модуля процессов.
globalDiagnosticParams (array): настройки диагностики, в том числе уровень логирования, см. раздел Цепочка событий и Очередь. Уточнение параметра доступно в настройках сервера или модуля.
executeRequestTimeoutMs (integer): время ожидания ответа от процесса сервера, направленного процессу сервера-координатора при выполнении запроса получения записей журнала или событий ЦМ. Единица измерения - миллисекунды. Значение по умолчанию - 600000.
counterSettings (array): настройки сбора счетчиков серверов и модулей в ЦН.
useOldDateConverter (boolean): параметр блока deprecatedParams. Флаг, управляющий способом отображения дат: при true время показывается без перевода в локальный часовой пояс, при false — с переводом. По умолчанию установлен флаг false.
useOldServiceUI (boolean): параметр блока deprecatedParams. При true в ЦН видны настройки меню Формы интерфейса, Настройка меню и сервиса Веб-интерфейс. По умолчанию установлен флаг false. Если Веб-интерфейс был ранее создан, то при значении false он отображается в списке сервисов.
Примечание
Некоторые параметры могут быть уточнены в конфигурации конкретного сервера, модуля или системы. Если уточнения нет, то для работы берутся значения, заполненные в кластере.
При возникновении ошибки Сработал лимит на размер директории Temp увеличьте значение tempFolderMaxSizeMb параметра logStorageParams, сохраните изменения и примените конфигурацию.
Внимание
В версии 3.1.2.1 изменение параметра useOldDateConverter доступно только для Типов данных и Внешних типов данных, для Категорий в Версии 3.1.2.1 не применимо.
Параметры ограничения занимаемого дискового пространства настраиваются в блоке параметров diskUsageParams, archiveStorageParams, trackingStorageParams конфигурации кластера и используются для предотвращения переполнения дискового пространства.
archiveMaxSizeMb (integer): максимальный размер (мб) журнала архивных сообщений (папка Archive). Минимально возможное значение - 10 (мб), максимальное - 51200 (мб). Задается параметром archiveStorageParams.archiveMaxSizeMb.
При превышении 90% от максимального объема очищается папка Archive до достижения 80% от максимального. Удаляются самые старые файлы.
trackingMaxSizeMb (integer): максимальный размер (мб) журнала трассировки (папка Trace). Минимально возможное значение - 10 (мб), максимальное - 51200 (мб). Задается параметром trackingStorageParams.trackingMaxSizeMb.
При превышении 90% от максимального объема очищается папка Trace до достижения 80% от максимального. Удаляются самые старые файлы.
dataMaxSizeMb (integer): максимальный размер (мб) данных очередей папки NodeStorage.
Если достигнут порог в 100%, останавливается обработка данных.
logsMaxSizeMb (integer): максимальный размер (мб) папки с логами logs.
При достижении порога в 95% сортируются все файлы в папке Logs по дате, и удаляются файлы, созданные более чем сутки назад до достижения порога в 80%. Если количества устаревших файлов недостаточно для очищения до 80%, удаляются файлы из папок с самым большим количеством файлов.
totalMaxSizeMb (integer): максимальный размер (мб) папки Platform.
При достижении порога в 100% Платформа перестает обрабатывать прием или отправку сообщений. После восстановления памяти Платформа автоматически возобновляет работу. Сообщения, отправленные во время сбоя, продолжают обрабатываться и доходят до получателя.
Примечание
Очистка происходит только тех файлов, которые были созданы самой Платформой и появились в папках в результате работы Платформы.
По умолчанию все серверы, создаваемые в кластере (не в nodeGroups), добавляются в группу default, в рамках которой осуществляется распределение сервисов и систем.
Внимание
Если система или сервис указаны напрямую в конфигурации конкретного сервера, они будут запущены независимо от принадлежности к группе.
При сбое серверов внутри группы сервисы остаются внутри нее — перераспределение не происходит за пределы группы. Это обеспечивает управляемую локализацию нагрузки в рамках одной группы. Концепция изоляции групп гарантирует, что перераспределение нагрузки происходит только внутри группы серверов.
При назначении сервера в пользовательскую группу он запускает только те сервисы и системы, которые также привязаны к этой группе.
Внимание
В случае, если все серверы кластера входят в пользовательские группы, но ни один из них не содержит назначенных сервисов или систем, то системы и сервисы не будут запущены. Соответствующее сообщение записывается в журнал сервера.
Распределение сообщений между модулями процессов осуществляется только в пределах соответствующей пользовательской группы, что особенно важно при высокой нагрузке.
В конфигурации кластера поле nodeGroupCollection содержит массив nodeGroups - групп серверов.
2 группы серверов (1 и 2) - nodeGroupName, nodeGroupId;
в 1 группе: 1 сервер (nodeIds) и 1 система или сервис (systemsAndModulesIds);
во 2 группе: 2 сервера (nodeIds) и 1 система или сервис (systemsAndModulesIds)
Внимание
Все нераспределенные сервисы и системы по умолчанию запускаются на серверах из группы по умолчанию (default). Сервис или система может быть привязана только к одной группе серверов и работает исключительно внутри этой группы.
Внимание
Если хотя бы одна включенная система или сервис не привязана к какому-либо серверу (через группы или в конфигурации сервера), то на домашней странице ЦМ будет ошибка Проблема распределения.
Установите флаг Распределять при балансировке нагрузки процессы между группами, если необходимо перераспределять нагрузку на все сервера. Если флаг не установлен, перераспределение процессов будет только в своей группе.
для добавления Группы нажать +
новая группа будет добавлена в конце списка.
Группе будет присвоено числовое имя последовательно, начиная с 1. Поддерживается редактирование имени группы при двойном щелчке по требуемой группе.
для настройки необходимо выделить соответствующую группу
При необходимости группу можно удалить, нажав на иконку Корзины.
Примечание
Если ранее созданная группа была удалена, ее порядковый номер становится доступным для повторного использования. Таким образом, при создании новой группы используется первый «пропущенный» (свободный) номер, чтобы поддерживать непрерывность нумерации.
выбрать для группы Серверы, Системы и Сервисы
Где:
Серверы - перечень Серверов, настроенных в ЦН
Системы - перечень Внешних систем (Интеграция), настроенных в ЦН
Сервисы - перечень Сервисов, настроенных в ЦН
Доступен мультиселект, перечень Серверов, Систем и Сервисов редактируется - можно удалить и / или добавить в группу.
В кластере может быть несколько серверов, но только один из них является мастер-сервером Центра настройки (ЦН), остальные серверы кластера определяются как не мастер-серверы (slave-серверы).
Роль мастер-сервера определяет, на каком сервере разрешено изменение и применение конфигурации Платформы, в режиме мастера доступны общие элементы управления.
На не мастер-серверах Центра настройки конфигурация доступна только для просмотра без общих элементов управления. Все операции изменения и сохранения данных (например, редактирование форм, добавление и удаление объектов, изменение шагов процессов) на не мастер-серверах заблокированы.
Если мастер не назначен, появится кнопка Не определен мастер ЦН
При открытии формы по кнопке предлагается назначить мастер
В форме доступны следующие варианты:
Да: мастером будет назначен сервер, в котором на данный момент открыт ЦН.
Нет, выбрать другой сервер: откроется форма выбора мастера из всех созданных серверов.
Отмена: форма будет закрыта без внесения изменений.
После выбора сервера нажмите Продолжить и подтвердите назначение в окне подтверждения
После установки Платформы на сервер, предназначенный для добавления в кластер, ЦН открывать не следует. При первом открытии ЦН создается новый кластер, что делает невозможным добавление сервера в существующий кластер.
В ЦН перейдите в раздел Серверы.
В рабочей области раздела нажмите на кнопку + (Добавить).
На странице добавления сервера укажите следующие данные:
Название: название сервера, обязательно для заполнения.
Имя: имя сервера, необязательно для заполнения.
Комментарий: описание сервера, необязательно для заполнения.
Адрес: адрес сервера с установленной Платформой.
Порт: порт сервера с установленной Платформой (по умолчанию - 7290).
Один из серверов кластера всегда будет являться мастером, управляющим работой других серверов кластера.
Начиная с версии 3.2.0, Центр мониторинга является распределенным и запускается на каждом сервере кластера в виде отдельного сервиса. Веб-интерфейс Центра мониторинга доступен по адресу каждого сервера кластера и не зависит от выбора мастера.
Для открытия ЦМ рекомендуется использовать кнопку Центр мониторинга и администрирования в разделе Обслуживание ‣ Управление конфигурацией или Перейти в Центр мониторинга в элементах управления ЦН.
При успешном подключении сервера к кластеру он будет отображен в рабочей области раздела ЦМ Серверы с индикатором зеленого цвета.
Повторите шаги 2-7 для последовательной установки других серверов.
Внимание
Системное время между серверами кластера должно быть синхронизировано. В противном случае последовательность при построении цепочек в ЦМ будет некорректной.
Если сервер получит запрос от ЦН, адрес которого не находится в списке доверенных, сервер не примет запрос и в ответ отправит сообщение с ошибкой. В ЦН будет отображена следующая ошибка: В списке зарегистрированных Центров настроек на сервере отсутствует адрес сервера Центра настроек. Чтобы добавить адрес ЦН в список доверенных на сервере-координаторе, выполните следующую команду на машине сервера-координатора: