Базовые сервисы
Базовые сервисы являются обязательными и создаются автоматически, запускаются на каждом сервере, не требуют обязательного наличия конфигурации.
Основные возможности:
Сбор оперативных данных состояния по каждому серверу кластера в Центре мониторинга.
Обмен данными между сервисами мониторинга на разных серверах.
Открытие ЦМ локально на любом сервере кластера.
В базовые сервисы входят:
Таблица фиксирует:
Название: название сервиса, при редактировании поле обязательное для заполнения.
Имя: имя сервиса.
Комментарий: дополнительные сведения о сервисе.
Базовые сервисы нельзя создать или удалить, только отредактировать существующие с помощью кнопки Карандаш или по двойному клику мыши по нужному серсиву. Кнопка Обновить обновляет таблицу, кнопка Экспорт в Excel выгружает таблицу на локальное устройство.
Сервис для сбора событий
Базовый сервис Сервис для сбора событий (DatareonPlatformEventsStorage) отвечает за сбор событий, которые возникают в сервисах Платформы на узле кластера, и за сохранение этих событий во внутреннюю базу данных (DatareonDB).
Сервис работает автоматически на каждом узле и периодически считывает файлы событий, которые сервисы и системы узла формируют в DatareonDB. Далее события обрабатываются и сохраняются в БД. Эти данные используются другими подсистемами, например — Центром мониторинга и Сервисом аналитики (забирает данные из DatareonDB и сохраняет в СУБД).
При обращении извне сервер использует внутренний кластерный протокол — если событие находится на другом узле, запрос будет отправлен в соответствующее хранилище того узла, где эти события реально сохранены.
Основные моменты:
У каждого хранилища событий (EventsStorage) свои настройки по хранению событий.
Сбор событий идет периодически по всем модулям, размещенным на узле (частота сбора задается параметром collectPeriodSec).
События сохраняются в DatareonDB пачками (batch) для оптимизации (размер пачки задается параметром ProcessPackSize).
Глубина выборки (как далеко назад смотреть файлы) ограничена параметром collectMaxDepthMinutes.
В раздел Сервиса для сбора событий входит:
Вкладка Основные:
Название: название сервиса, при редактировании поле обязательное для заполнения.
Имя: имя сервиса, формируется автоматически на основании Названия.
Комментарий: дополнительные сведения о сервисе, поддерживается многострочный ввод.
Для дополнительных настроек перейдите в режим диалога.
enabled (boolean): включает / выключает сбор событий. По умолчанию и всегда должно быть установлено true.
collectPeriodSec (integer): периодичность запуска сбора, в секундах. По умолчанию 15.
collectMaxCount (integer): максимальное количество событий для обработки за один цикл. По умолчанию 1000.
processPackSize (integer): размер пачки (batch) для сохранения в БД. По умолчанию 100.
collectMaxDepthMinutes (integer): максимальная глубина отбора файлов событий (как далеко назад смотреть), в минутах. По умолчанию 120 (2 часа).
filesStoragePeriodDays (integer): сколько дней хранятся файлы событий на узле. Удаляются файлы, возраст которых превышает установленное значение. По умолчанию 30.
cleanFilesJobSchedule (string): cron-расписание очистки файлов событий. По умолчанию «0 * * * *» - каждый час.
Примечание
При сохранении событий во внутреннюю БД хранилища (DatareonDb) в индексе для каждого сохраненного события проставляется признак IsSaved = true. Этот признак используется для определения возможности удаления файлов. Если в файле для всех событий IsSaved = true, то файл можно удалять, так как все события из файла сохранены в БД хранилища. Сама очистка управляется параметрами filesStoragePeriodDays и cleanFilesJobSchedule. Удаляются файлы событий, сообщений и тел сообщений.
Внимание
Если срок хранения не истек (filesStoragePeriodDays), то независимо от частоты запуска очистки (cleanFilesJobSchedule) эти файлы удалены не будут.
dbStorageMaxNumberOfStoredEvents (integer): максимальное количество событий, которое может храниться в базе данных сборщика событий. При превышении значения выполняется физическое удаление старых событий из базы данных. По умолчанию 0 — ограничение по количеству событий не применяется.
dbStorageMaxRetentionTimeInDays (integer): максимальный срок хранения событий в базе данных сборщика событий (в днях). События, возраст которых превышает указанное значение, подлежат физическому удалению.
Основные правила:
Должно быть задано хотя бы одно из значений: dbStorageMaxNumberOfStoredEvents или dbStorageMaxRetentionTimeInDays.
Очистка выполняется по расписанию (параметр cleanFilesJobSchedule).
Очистка выполняется по файлам целиком — частичное удаление записей внутри файла не производится.
Минимальный шаг очистки — 50 000 событий.
Перед очисткой БД выполняется очистка бинарных файлов.
На время очистки приостанавливается запись новых событий и передача данных в Сервис аналитики.
Примечание
Параметр filesStoragePeriodDays управляет удалением файлов событий на узле (файлы событий, сообщений и тел сообщений). Физическая очистка событий из DatareonDb настраивается параметрами dbStorageMaxNumberOfStoredEvents и dbStorageMaxRetentionTimeInDays.
На вкладке Параметры сервиса будут отображены внесенные изменения.
После внесения данных нажмите на кнопку Сохранить изменения, после этого нажмите на кнопку Применить конфигурацию.
Сохранение событий
События сохраняются в бинарных файлах в каталоге с лог файлами соответствующей системы или модуля. Бинарные файлы создаются для внешних систем и сервисов (кроме базовых сервисов).
Пример формата пути:
Logs\[Тип объекта]\[Ид. объекта]\EventsBin
Например:
Logs\DatareonPlatformProcess\cc18892c-9168-4276-8adc-02ae4882d54b\EventsBin.
Файлы с данными событий сохраняются по датам (подпапки в формате YYYYMMDD).
- События: events_YYYYMMDD_HH_mm_ss_{N:5}_evt.dat. - Сообщения: events_YYYYMMDD_HH_mm_ss_{N:5}_msg.dat. - Тела сообщений: events_YYYYMMDD_HH_mm_ss_{N:5}_bod.dat. - Индекс: events_YYYYMMDD_index.dat.
Максимальный размер файлов с данными (события, сообщения, тела сообщений) ограничен настройками eventsStorageParams конфигурации Кластера.
MaxEventsFileSizeBytes (integer): максимальный размер файла хранения событий (в байтах).
MaxMessagesFileSizeBytes (integer): максимальный размер файла хранения сообщений (в байтах).
MaxBinaryDataFileSizeBytes (integer): максимальный размер файла хранения бинарных данных / тел сообщений (в байтах).
При достижении порога создается новый файл для записи данных события. Размер индекса неограничен, он пишется в рамках даты.
Управление пользователями
Базовый сервис Управление пользователями отвечает за настройку общих параметров политики безопасности пользователей во всех объектах Платформы.
В данном сервисе настраиваются верхнеуровневые правила, применимые ко всем пользователям Платформы.
Создание ролей и пользователей происходит в разделе Управление доступом. Данные о пользователях, ролях и правах доступа хранятся и обрабатываются базовым сервисом Платформы DatareonPlatformCredential.
В раздел Управление пользователями входит:
Вкладка Основные:
Название: название сервиса, при редактировании поле обязательное для заполнения.
Имя: имя сервиса, формируется автоматически на основании Названия.
Комментарий: дополнительные сведения о сервисе, поддерживается многострочный ввод.
Вкладка Параметры сервиса позволяет настроить блокировку пользователей, сложность пароля и авторизацию пользователей через Active Directory (AD).
Блокировка пользователей
Поддерживается возможность настроить условия автоматической блокировки пользователей Credential. А именно блокировка из-за долгого отсутствия успешных аутентификаций со стороны пользователя или из-за большого количества неуспешных попыток аутентификации.
Управление блокировкой пользователей доступно на вкладке Параметры сервиса.
Блокировать неиспользуемые логины по истечению указанного количества дней (withoutLoginDays): максимальное количество дней без авторизации для пользователя в системе. Если пользователь не использует учетную запись в течение установленного времени, он будет отключен. Если в этом параметре указано значение 0, то проверка по этому признаку не выполняется. Процесс блокировки срабатывает каждый день в полночь.
Максимальное количество попыток ввода пароля (maxFailedPasswordAttempts): используется для контроля попыток ввода аутентификационных данных пользователя. Цифровое значение параметра определяет количество допустимых попыток введения неправильного пароля (при значении 0 параметр выключен). После исчерпания указанных попыток ввода аутентификационных данных пользователь будет заблокирован.
Примечание
При выборе пользователей, подлежащих отключению, рассчитывается количество времени между текущим моментом и моментом последнего входа в систему (LastLoginDateTime). Пользователь будет отключен, если это количество больше или равно дням, указанным в withoutLoginDays.
Примечание
Пользователи Администратор и Система не участвуют в проверке и не блокируются.
Настройка паролей
На вкладке Параметры сервиса в подразделе Проверка паролей настраиваются параметры проверки пароля для всех пользователй (блок passwordSettings).
Настраиваемые параметры проверки сложности пароля (checkPassword): активация настроек проверки пароля. Если флажок не установлен (false), то последующие значения блока не активируются.
Проверять с помощью регулярного выражения (useCustomRegex): для включения проверки соответствия длины пароля регулярному выражению необходимо активировать флажок, длина указывается в поле Длина пароля не менее.
Длина пароля не менее (passwordLength): минимально допустимое количество символов в пароле. Поддерживаются значения от 4 до 100. Параметр активен в случае установленного флажка в поле Проверять с помощью регулярного выражения.
Обязательно наличие символов в верхнем регистре (needCapitalLetters): если установлен флажок, то будет происходить проверка пароля на наличие букв в верхнем регистре.
Обязательное наличие символов в нижнем регистре (needSmallLetters): если установлен флажок, то будет происходить проверка пароля на наличие букв в нижнем регистре.
Обязательное наличие спец-символов (needSpecialCharacters): если установлен флажок, то будет происходить проверка пароля на наличие спец.символов.
Обязательное наличие цифр (needNumbers): если установлен флажок, то будет происходить проверка пароля на наличие цифр.
Ограничить срок действия пароля (isIndicationPasswordExpirationValidityPeriod): включение проверки по сроку действия пароля, дни указываются в параметре Срок действия пароля (в днях).
Срок действия пароля (в днях) (passwordExpirationDateCount): указывается срок в днях действия пароля, поддерживаются значения от 0 до 365, при 0 бесконечный срок действия пароля. Поле доступно, если активирован параметр Ограничить срок действия пароля.
Количество изменений пароля перед повторным использованием (reuseAfter): минимальное количество уникальных паролей подряд, которые пользователь должен установить до того, как сможет снова использовать ранее примененный пароль. Например, если указано 10 — пользователь сможет вернуть старый пароль только после того, как он 10 раз сменит пароль на другие (новые) значения.
При попытке сохранить пароль, не соответствующий параметрам сложности, происходит отказ в сохранении пароля.
Примечание
Пользователи Администратор и Система не участвуют в проверке и не блокируются.
Авторизация через домен
Платформа поддерживает авторизацию пользователей через Active Directory (AD) с помощью блока настроек authDomainSettings на вкладке Параметры сервиса. Этот блок позволяет включить или отключить авторизацию через AD, а также указать адрес и порт сервера, на котором настроена служба доменной аутентификации.
Использовать авторизацию через домен Windows (enabled): включает или отключает авторизацию через AD, если флажок установлен, то включена авторизация через AD и доступны для заполнения параметры Сервер и Порт.
Сервер (serverAuthenticationAddress): адрес сервера AD.
Порт (serverAuthenticationPort): порт подключения к серверу AD.
Дополнительные и секретные свойства пользователей
Конфигурация сервиса управления пользователей позволяет добавить пользователям дополнительные и/или секретные свойства. Методы присвоения значений описаны в Библиотеке разработки.
Дополнительные свойства
Дополнительные свойства пользователей добавляются в конфигурацию базового сервиса Управление пользователями в блок additionalFields.
Пример добавляемой конструкции:
"additionalFields": [
{
"$type": "DT.MdmMetadata.BusinessProcesses.Fields.SimpleField, DT_Core",
"type": "String",
"name": "Религия",
"id": "c41bed87-8a55-4c6e-8874-0b6b0f3e389e",
"isArray": false,
"isRequired": false,
"isNullable": false,
"properties": {
"$type": "System.Collections.Generic.Dictionary`2[[System.String,
System.Private.CoreLib],[System.String, System.Private.CoreLib]], System.Private.CoreLib"
}
}
]
Секретные свойства
Секретные свойства пользователей добавляются в конфигурацию базового сервиса Управление пользователями в блок secretFields.
Пример добавляемой конструкции:
"secretFields": [
{
"$type": "DT.MdmMetadata.BusinessProcesses.Fields.SimpleField, DT_Core",
"type": "Decimal",
"decimalOptions": {
"$type": "DT.MdmMetadata.Types.DecimalOptions, DT_TypeBuilder.Entities",
"precision": 10,
"scale": 0,
"autoRound": false
},
"name": "Зарплата",
"id": "768bb0d6-a324-4ec1-9cbd-9a4573a4d6c8",
"isArray": false,
"isRequired": false,
"isNullable": false,
"properties": {
"$type": "System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib],[System.String, System.Private.CoreLib]], System.Private.CoreLib"
}
}
]
Резервирование данных
Резервирование данных используется для восстановления данных сервиса в случае выхода из строя одного из серверов.
При резервировании данных на серверах создаются резервные копии данных, в которые будут реплицироваться сообщения при обмене данными. Резервные данные могут быть созданы на любом из включенных в состав кластера сервере, при этом такой сервер продолжает выполнять назначенные ему функции работы с мастер-данными.
При выходе из строя одного из серверов, указанных в настройках конфигурации кластера, копии данных будут переданы в обработку Платформой.
Информация о работе резервирования находится в ЦМ на вкладке Основные соответствующего сервера.
Сервис мониторинга
Сервис мониторинга обеспечивает работу Центра мониторинга в кластере и позволяет просматривать оперативное состояние сервера / нод кластера.
Сервис запускается как отдельное приложение DatareonPlatformMonitoringService.exe и является обязательным сервисом для работы системы мониторинга. ЦМ можно открыть на любом сервере кластера по адресу: https:\localhost:7201
Принцип работы:
Каждый сервис мониторинга собирает оперативные данные своего сервера и периодически рассылает их другим сервисам мониторинга в кластере. Таким образом, у каждого сервиса есть актуальные данные по всем серверам.
При запросе данных:
Если нужные данные уже есть локально — отображаются они (кеш оперативных данных).
Если данные отсутствуют — сервис мониторинга запрашивает их через удаленный сервис мониторинга (а не напрямую в узел).
При недоступности связи между серверами сервис мониторинга может работать только с собственными данными — в этом случае отображается только информация своей ноды.
В раздел Сервис мониторинга входит:
Название: название сервиса, при редактировании поле обязательное для заполнения.
Имя: имя сервиса, формируется автоматически на основании Названия.
Комментарий: дополнительные сведения о сервисе, поддерживается многострочный ввод.