Итак, вы стали администратором системы Directum RX, которая установлена локально. С чего же стоит начать? В статье расскажем основные рекомендации для начинающего администратора, который будет заниматься поддержкой стабильности и производительности системы.
Прежде всего рекомендуем начать с изучения архитектуры системы. Важно сразу разобраться и понять, из каких компонентов состоит система, как они взаимодействуют друг с другом. В дальнейшем это поможет правильно устанавливать компоненты системы, менять конфигурационные настройки, отслеживать их работоспособность и анализировать логи.
Кратко зафиксируем здесь основные моменты:
Благодаря использованию микросервисов обеспечивается:
Подробно архитектура системы описана в справке.
Для сохранности и безопасности данных администратору нужно настроить резервное копирование и восстановление базы данных и резервное копирование файлового хранилища.
Резервное копирование позволяет восстанавливать данные, утерянные в результате возникновения физических и логических ошибок, а также ошибочных действий пользователей, например, случайного удаления записи справочника или некорректно изменения документа.
Далее рассмотрим отдельно особенности и рекомендации по резервному копированию БД и ФХ.
Резервное копирование и восстановление БД осуществляется средствами СУБД. Поддерживается работа с Microsoft SQL Server и PostgreSQL. В зависимости от используемой СУБД могут использоваться разные варианты: полное, разностное резервное копирование, резервное копирование журнала транзакций.
Выбор плана и стратегии резервного копирования базы данных Directum RX зависит от множества факторов, например, размера БД, приемлемого объема потери данных и активности работы с системой. Для обеспечения минимального достаточного уровня сохранности данных рекомендуется выполнять один из видов резервного копирования ежедневно. Пример реализации плана резервного копирования приведен в разделе справки «Стратегии резервного копирования».
Файловые хранилища представляют собой обычные папки в операционной системе, поэтому в качестве инструмента для создания бэкапов ФХ можно использовать любые средства резервного копирования файлов, например, штатную консольную программу RoboCopy.
В справке есть раздел «Резервное копирование файлового хранилища». В нем предлагается использовать стандартный компонент Microsoft Windows «Система архивации данных Windows Server».
Рекомендации по частоте создания бэкапов ФХ, месту их хранения те же, что и для бэкапов БД. Они были перечислены выше.
Допустимо использовать более поздние бэкапы ФХ с более ранними бэкапами БД. Если в базе данных не будет информации о телах документов (версиях), которые есть в файловом хранилище, то эти файлы в ФХ просто не будут использоваться.
Обратная ситуация, когда в ФХ нет файлов для версий документов, которые есть в БД, может привести к ошибкам в работе с этими документами.
Чтобы вовремя диагностировать проблемы, решать их на ранней стадии, рекомендуется организовать регулярное наблюдение за системой и серверами. Для этого доступны следующие возможности:
Точки контроля, по-крупному:
Немного подробнее остановимся на лог-файлах. При сбоях в работе компонентов системы все сообщения об ошибках, предупреждениях и информационные сообщения фиксируются в лог-файлах. Проанализировав файлы, можно получить сводные данные активности пользователей, вручную исправить ошибки.
Есть несколько видов лог-файлов.
Серверные лог-файлы – место сохранения лог-файлов указано в параметре LOGS_PATH в конфигурационном файле config.yml. Пример имени серверного лог-файла:
<Имя_сервера>.<Наименование серверной компоненты>.<Дата>.log
Например: SERVER.WebServer.2020-05-28.log
Remote-логирование (веб-клиент) – передача клиентских логов на сервер c целью собрать ошибки клиентов и статистику времени выполнения операций. Логи сохраняются на сервере в настроенную папку, в которой логи разделяются по файлам. Сообщения, которые логируют программный код клиента, накапливаются и передаются пачками, по умолчанию по 100 штук. Исключение составляют сообщения о том, что пользователь разлогинился, они отправляются сразу же. Пример имени лог-файла веб-клиента:
<ip-адрес>.WebClient.<Код системы>.<Дата>.log
Например: 37-235-64-229.WebClient.DirectumRX.2020-05-28.log
В случае, если в клиентском лог-файле встретилась какая-либо «общая ошибка», например, «Внутренняя ошибка сервера», либо ее текст непонятен, необходимо:
При обращении в службу поддержки с какой-либо ошибкой необходимо сообщить указанные выше данные.
При активной работе системы быстро растет количество лог-файлов, размер папок, где они хранятся. Если не следить за этим, то с течением времени логи могут занять все свободное место на диске, создавая этим различные проблемы. Рекомендации ниже позволят этих проблем избежать.
Расположение текстовых лог-файлов можно менять в конфигурационном файле config.yml. Подробно можно посмотреть в разделе справки «Лог-файлы во время работы».
Ну и перед тем, как приступить к настройке системы, нужно подготовить учетные записи. После установки в Directum RX появится несколько учетных записей для системных пользователей. Рассмотрим их подробнее.
Administrator. Администратор системы, под которым выполняется первоначальная настройка системы. Для входа в Directum RX используйте пароль, который был указан при установке системы. После этого:
Adviser. Пользователь, у которого есть права на просмотр любых объектов системы. Смените пароль пользователя, если планируете его использовать. Если нет, то в целях безопасности закройте запись данного пользователя.
Integration Service. Учетная запись для сервиса интеграции. Смените пароль пользователя, если планируете использовать интеграцию, например, с 1С. Если интеграция не нужна, то закройте запись данного пользователя.
Итак, в целях безопасности проверьте перечисленные учетные записи для системных пользователей. Для Adviser и Integration Service смените пароли, если они будут использоваться, иначе их нужно закрыть. Учетную запись Administrator закройте и настраивайте систему от своего администратора, с другим логином и паролем.
Кроме того, есть еще Service User. Учетная запись, под которой будут работать сервисы Workflow, сервис предпросмотра, сервис планировщика и другие. Задается на этапе установки системы, если было выбрано значение Использовать стандартную учетную запись «Service User». В дальнейшем не рекомендуется менять пароль данной учетной записи. Но, если по каким-то причинам вы изменили пароль, то нужно доработать конфигурационный файл config.yml. Параметры:
<var name="AUTHENTICATION_USE_THREAD_IDENTITY" value="false" />
<var name="AUTHENTICATION_USERNAME" value="Service User" />
<var name="AUTHENTICATION_PASSWORD" value="***" />
Перед тем, как изменить конфиг, нужно остановить сервисы командой do all down. После сохранения изменений сервисы надо запустить командой do all up.
После этого можно переходить к настройке Directum RX. Обратите внимание, если политики компании предусматривают, что в целях безопасности периодически необходимо менять пароли для входа в систему, то администратор может в настройках учетной записи для пользователя установить Требовать смены пароля при следующем входе. В этом случае при входе в систему у пользователя откроется окно:
И напоследок рекомендации к надежности пароля:
На этом все, используйте рекомендации в своей работе, а также делитесь в комментариях к статье своими рекомендациями и вариантами настройки.
>> Допустимо использовать более поздние бэкапы ФХ с более ранними бэкапами БД. Если в базе данных не будет информации о телах документов (версиях), которые есть в файловом хранилище, то эти файлы в ФХ просто не будут использоваться.
Интересно, проверяли на практике следующую ситуацию:
В ФХ есть жизненный цикл данных: transient (незафиксированные), persistent (долгоживущие), deleted (помеченные на удаление).
Если в ФХ есть тело документа в состоянии persistent, т.е. какая-то сущность в системе ссылается на эти данные. Эта ссылочная информация хранится в БД. Далее, БД восстановили из бэкапа, и этой ссылочной информации в БД не стало. Удалятся ли такие данные из ФХ автоматически? Или сервис хранилищ будет их игнорировать, т.к. они persistent.
По идее если удалятся, то это может быть очень удобным инструментом синхронизации данных в ФХ и БД после восстановления из бэкапа последней. Все лишние данные система сама вычистит из ФХ.
Андрей, если я правильно понял суть Вашего сообщения, то ответ нет. Эти данные не удалятся.
В любом случае, восстановление данных из резервной копии - нештатная ситуация. Поэтому в данной ситуации риск получить "мусор" в ФХ, ИМХО, оправдан.
Немного дополню статью Дмитрия: после восстановления БД и ФХ из резервной копии необходимо под пользователем с правами администратора в системе Directum RX запустить фоновый процесс "Контроль целостности версий документов". после запуска будет снята пометка на удаление "ошибочно" помеченных тел документов. Это дополнительные меры предосторожности.
Про резервное копирование от себя могу добавить, что рекомендуется придерживаться правила 3-2-1:
Дмитрий об этом написал, но я хочу продублировать еще раз. Ведь не зря говорят, что "Админы делятся на тех кто не делает бэкапы, и тех кто уже делает".
В идеальной картине мира правило расширяется до 3-2-1-0, где 0 означает "0 ошибок". Т.е. для контроля целостности бэкапы должны регулярно где-то разворачиваться и администратор должен контролировать, что не нарушена физическая или логическая целостность резервной копии.
Авторизуйтесь, чтобы написать комментарий