Команды для архивации и очистки журнала сообщений
Для выполнения архивации и очистки журнала сообщений на сервере безопасности СМЭВ ТУНДУК используйте следующие команды:
archive-messages
– команда для архивации сообщенийclean-up-messages
– команда для очистки журнала сообщений
Настройки архивирования
В файле конфигурации /etc/xroad.properties
вы можете указать параметры архивирования сообщений, такие как:
archive.interval
– интервал между архивированием сообщенийarchive.dir
– директория для хранения архивных файловarchive.cleanUp.enabled
– включение/отключение очистки журнала сообщений
Перенос архивных файлов
Для переноса архивных файлов на другую машину или диск вы можете использовать следующие методы:
- HTTP/HTTPS протокол для передачи файлов
- SCP для копирования файлов на другой сервер
- Любой другой удобный для вас способ копирования файлов
Освобождение места в базе данных
База данных осуществляет освобождение незанятого места в фоновом режиме через операцию VACUUM. Для освобождения места в базе данных используйте следующую команду:
VACUUM;
После выполнения всех шагов архивирования и очистки журнала сообщений, вы освободите место, занимаемое данными, и сможете эффективно управлять дисковым пространством на сервере безопасности СМЭВ ТУНДУК.
## Конфигурации архивирования журнала сообщений
Конфигурации архивирования журнала сообщений по умолчанию находятся в файле /etc/xroad/conf.d/addons/message-log.ini. Если размер вашей базы данных стал слишком большим, обычно первая причина заключается в том, что настройки по умолчанию не подходят. Если вы хотите или вам необходимо изменить настройки по умолчанию, вы можете сделать это в файле /etc/xroad/conf.d/local.ini, который игнорирует настройки по умолчанию.
## Настройка архивации
Архивация журнала сообщений, очистка и перенос архивных пакетов, запускаются инструментом cron.
Существуют различные параметры для настройки архивации журнала сообщений, с помощью которых можно настроить архивацию в соответствии с потребностями вашего сервера безопасности. Более подробную информацию можно найти [здесь](https://github.com/nordic-institute/X-Road/blob/develop/doc/Manuals/ug-syspar\_x-road\_v6\_system\_parameters.md#37-message-log-add-on-parameters-message-log)
## Перенос заархивированных пакетов
Есть скрипт, который помогает переносить заархивированные пакеты на другую машину или диск. Для этого в файл конфигурации журнала сообщений /etc/xroad/conf.d/local.ini необходимо добавить следующий параметр:
```ini
## Параметр для переноса архивированных пакетов
[message-log]
archiver_uri=адрес_для_переноса
Этот скрипт использует протокол HTTP/HTTPS и позволяет переносить заархивированные пакеты с одного сервера на другой, например, для архивации. Используя команду -r, архивные пакеты журнала сообщений, которые уже были переданы с сервера безопасности, удаляются, освобождая место на диске.
Журналы сообщений с отметками времени
Все журналы сообщений помещаются на сервер безопасности в журнал сообщений базы данных Postgres. По умолчанию отметка времени добавляется к 10 000 журналам сообщений каждые 48 минут. Если журналы сообщений имеют отметку времени, они могут быть заархивированы. Если более 10 000 журналов новых сообщений без метки времени существуют, их метка времени будет добавлена во время следующей штамповки времени в порядке приоритета.
$ psql -h 127.0.0.1 -U messagelog messagelog
Для просмотра всех столбцов таблицы logrecord, выполните следующую команду:
SELECT * FROM logrecord;
Для каждой записи в таблице logrecord существует параметр архивации, значение которого по умолчанию – false. Когда запись с отметкой времени архивируется, значение параметра меняется на true. Все записи, для которых значение параметра архивации равно true, будут удалены в процессе очистки.
## Увеличение параметра timestamp-records-limit
Для решения проблемы с отметкой времени и архивированием журналов сообщений, можно увеличить параметр timestamp-records-limit. Этот параметр определяет, сколько журналов сообщений получат отметку времени каждые 48 минут. По умолчанию этот параметр равен 10 000. Чтобы увеличить его, необходимо отредактировать файл конфигурации /etc/xroad/conf.d/local.ini и изменить значение на нужное (например, на 15 000 или выше).
## Проверка журналов сообщений без отметки времени
Для того чтобы узнать журнал последних сообщений без отметки времени, можно воспользоваться следующей командой:
```bash
grep -i TIMESTAMP: * /var/log/xroad/op-monitor.log | tail
Проверка заархивированных журналов сообщений
Если нужно подсчитать заархивированные журналы сообщений с отметкой времени, можно использовать команду:
grep -c ARCHIVE: TRUE /var/log/xroad/op-monitor.log
Проверка последнего заархивированного журнала сообщений
Чтобы узнать последний заархивированный журнал сообщений с отметкой времени, можно выполнить следующую команду:
grep -i ARCHIVE: TRUE /var/log/xroad/op-monitor.log | tail
Оптимизация базы данных
Если база данных остается слишком великой даже после архивирования журналов сообщений, причина может быть в незанятом пустом месте базы данных. Для освобождения неиспользуемого пространства эффективно применить команду VACUUM FULL. Однако, учтите, что эта операция заблокирует таблицы, что может повлечь прерывания в работе сервера безопасности.
su - postgres
psql -d messagelog
messagelog=# create extension pgstattuple;
Проверьте текущую ситуацию в таблице журнала сообщений и всплывающих уведомлений, чтобы определить необходимость выполнения VACUUM FULL.
Решение проблем с журналами сообщений и базой данных требует внимательного анализа и управления настройками системы.
Как работает СМЭВ3
СМЭВ3 – это универсальный набор стандартов и правил, который обеспечивает безопасный обмен информацией между информационными системами участников. Основой СМЭВ3 является XML – распространенный формат обмена структурированными данными.
Преимущества использования СМЭВ3:
- Удобство обмена информацией между информационными системами
- Минимизация рисков при передаче данных
- Обеспечение безопасности и конфиденциальности информации
Принципы работы СМЭВ3:
- Установление доверительных отношений между участниками обмена информацией
- Обмен сообщениями в соответствии с установленными стандартами
- Шифрование информации при передаче
- Обеспечение целостности и подлинности данных
Процесс интеграции через СМЭВ3:
- Регистрация в качестве участника системы
- Получение доступа к СМЭВ3 и подключение к техническим ресурсам
- Разработка методов взаимодействия между информационными системами
- Тестирование обмена данными
- Поддержка и сопровождение системы
СМЭВ3 – это необходимый инструмент для организации безопасного и эффективного обмена информацией между различными информационными системами. Благодаря стандартам и правилам, установленным в СМЭВ3, можно обеспечить надежность и безопасность процесса обмена данными.
Собственно, все сообщения в СМЭВ3 — это XML, составленные на основе XSD-схем самого транспорта и вида сведения, отправленные через веб-сервис.
По опыту предыдущих уже неактуальных версий системы в СМЭВ3 сделан упор на гарантии доставки. То есть «доставить любой ценой», несмотря на возможные технические проблемы на стороне любого из участников взаимодействия, — лозунг третьей СМЭВ.
Что такое очереди в СМЭВ3
Важная фишка СМЭВ3 — очереди. В самом транспорте для каждой зарегистрированной системы создаются как минимум 2 очереди: запросов и ответов.
Системы всех участников должны уметь формировать сообщения и подписывать их зарегистрированным сертификатом. Сообщения бывают трёх типов:
Рассмотрим обмен между информационными системами двух ведомств, одна из которых инициирует обмен или запрашивает информацию, вторая — отвечает на запрос.
1. Инициатор отправляет запрос —SendRequest. Он попадает в очередь запросов ответчика. Там запрос будет храниться до тех пор, пока ответчик его не вычитает, но максимум — 14 дней.
Если за 14 дней запрос не вычитают, инициатору придёт «отбивка» от СМЭВ, что его запрос попал в архив.
2. Ответчик опрашивает очередь — GetRequest. Он должен делать это постоянно. И когда туда попадает запрос, ему возвращается непустой «конверт».
3. Ответчик обрабатывает запрос. Получив «конверт», система ответчика должна выполнить ряд действий: распарсить, уложить в базу и т. п. Затем система отправляет в СМЭВ «конверт» с подтверждением получения запроса — AckRequest. Это ещё один уровень для обеспечения гарантированной доставки. Если СМЭВ не получит от ответчика такое подтверждение, через 15 минут запрос снова вернётся в очередь.
4. Инициатор получает ответ. После того как система ответчика подготовит «конверт» с ответом, происходит всё ровно то же самое:
Только тогда обмен считается завершённым.
Конечно, здесь ещё много нюансов:
Но в целом все обмены через СМЭВ3 устроены так, как я описала выше.
Что такое виды сведений в СМЭВ
Важную роль в СМЭВ3 играют такие сущности, как «Виды сведений» (ВС).
Схемами транспорта задаются условно-общие поля для всех обменов, например, для правильной маршрутизации, передачи вложений, подписи и т. п.
Схемами ВС задаются правила, по которым будет формироваться смысловая часть «конверта». То есть как раз та информация, ради которой и осуществляется обмен.
В итоге ВС представляют собой:
ВС в целом может создать и зарегистрировать любой участник взаимодействия. Таких ВС сейчас около 2 750.
Как подключиться к СМЭВ3
Чтобы стать участником взаимодействия, организации нужно пройти 7 шагов.
Как устроен ЛК УВ
Если первые 3 шага инструкции более или менее понятны, то про остальные хотелось бы рассказать подробнее.
Есть у нас потрясающий ЛК УВ. Получить к нему доступ не составит труда, если выполнена заявка из первого пункта. Авторизация происходит под учётной записью ЕСИА. Единственное, администратору профиля вашей организации в ЕСИА нужно будет вас присоединить к организации.
В ЛК УВ автоматизированы все регламентированные процедуры, которые необходимо выполнить для полноценной работы в СМЭВ.
В несколько кликов можно:
ЛК УВ развивается семимильными шагами и завоёвывает сердца наших пользователей. Особенно рады те, кто знает, как было до его появления. Знаете, мы как-то считали: получилось, что ЛК УВ экономит участникам годы (!) жизни.
Среды в СМЭВ3
В СМЭВ3 мы предоставляем 3 среды: разработки, тестовую и продуктивную.
Среда разработки. Она даёт уникальную возможность — попробовать свои силы в СМЭВ, не имея ещё ни одного доступа и не дожидаясь выполнения первых пунктов.
На среде разработки можно создать демоверсию организации, зарегистрировать для неё пару систем, вид сведений и попробовать совершить обмены через СМЭВ.
Тестовая среда. Более популярна, чем среда разработки, потому что сюда перед выходом на прод надо обязательно попасть всем. А большинство поддерживают работоспособность своих тестовых систем и после выхода на прод.
Для тестовой среды и среды разработки не нужен защищённый канал. Опять же получается, что тестироваться можно параллельно с организацией канала для прода.
Ещё одна важная штука для этих сред — сертификат для систем можно сгенерировать прямо в ЛК УВ за несколько секунд.
На тестовой среде помимо её прямого назначения, также проходится ПТГ для получения доступа к видам сведений.
Собственно, ПТГ — это полноценный обмен вашей системы в желаемой роли с нашим эмулятором
Продуктивная среда. Здесь экспериментировать уже нежелательно. Доступна она только через защищённый канал. Конверты подписывать можно только сертификатами, полученными в АУЦ.
Интеграционный узел адаптера (ИУА) СМЭВ3
Лирическое отступление: любовь к аббревиатурам в нашей компании и госсекторе в принципе неспроста. У систем такие названия, чтобы можно было их однозначно идентифицировать. Вот так и с ИУА. Конечно, его любят называть просто «адаптер», но это вызывает недопонимание. Адаптерами подрядчики могут обозвать модули своих систем, а у кого-то разработаны и свои универсальные адаптеры СМЭВ. В СМЭВ4 адаптер — это вообще часть другого ПО.
Итак, ИУА СМЭВ3 — это клиентское ПО, поддерживающее все необходимые операции для выполнения обменов через СМЭВ3. Он разворачивается на стороне участника взаимодействия и предоставляет удобные для интеграции интерфейсы.
По сути, это прослойка между вашей системой и СМЭВ, которая облегчит вам жизнь в несколько раз.
ИУА можно поставить как на Windows, так и на Linux. Есть версия для кубера, а есть для домохозяйки: «далее, далее, ок, готово». Также имеется версия в комплекте со всем необходимым окружением: Java, криптопровайдер и СУБД.
Так выглядит интерфейс адаптера
Чем же поможет ИУА
ИУА распространяется свободно, и мы настоятельно рекомендуем его использовать всем участникам взаимодействия.
Где почитать подробнее и куда бежать с вопросами
Как любые уважающие себя системы, наши СМЭВ, ЛК УВ и ИУА, конечно же, обросли официальной документацией. Много страниц сложно читаемого текста.
Но также у нас есть классная база знаний в виде статей. Называется она Единая система контекстной справки (ЕСКС). Также здесь хранятся официальные документы и дистрибутивы. А ещё есть крайне полезный новостной раздел и форум.
Бот. Судьба сообщения и уведомления
Команда ЛК УВ совместно с другими, внешне не видимыми, но не менее значимыми командами разработали телеграм-бота. С ним можно общаться о судьбе своих обменов и получать уведомления о ключевых событиях, касающихся вас в СМЭВ.
Есть у нас официальный канал связи с эксплуатацией и другими участниками взаимодействия — Ситуационный центр. Там вам ответят здорово и красиво, но не очень быстро.
Однако мы любим наших пользователей, поэтому часто создаём чаты оперативной поддержки в Telegram. Порой они живут годами, а мы с участниками становимся друг другу родными.
Идя в ногу со временем, мы активно ведём телеграм-канал «Новости СМЭВ+». Здесь вы можете не только узнать последние новости, но и задать под любой из них свой вопрос. Неважно, если он будет не в тему новости, — мы ответим!
СМЭВ — это сложная высоконагруженная система. Но мы очень стараемся, чтобы она казалась лёгкой для пользователей, особенно на самом сложном шаге — этапе подключения к ней.
Это всё, что хотелось бы рассказать. Надеюсь на ваш интерес и мотивацию к написанию новых статей.
Благодарю за внимание.
Редактор: Ольга Кочкина
XSD-схема вида сведений – используется СМЭВ в качестве правил, на основании которых выполняется форматный контроль сообщений. XSD – это файл, содержащий XML Schema. В свою очередь XML Schema – язык описания структуры XML-документа.
Электронные сообщения в СМЭВ передаются в формате XML в кодировке UTF-8 с указанием кодировки в заголовке сообщения. Соответствующие им WSDL и XSD файлы также должны использовать кодировку UTF-8 с указанием кодировки в заголовке сообщения.
Правила формирования
Форматы передаваемых данных разрабатываются владельцем сведения с использованием языка описания схем данных XML Schema Definition (XSD) и должны соответствовать следующим правилам:
ИС участников взаимодействия в теле электронных сообщений должны поддерживать применение блоков и элементов данных, а также электронных подписей, описанных в данном документе. Использование других блоков и элементов, отличных от описанных в данном документе, не допускается.
Целевое пространство имён (target namespace) любой схемы, используемой в СМЭВ, должно быть глобально уникально. Чтобы облегчить соблюдение этого требования, в СМЭВ каждому ОИВ – владельцу данных должен присваиваться базовый URI. Все схемы, регистрируемые в СМЭВ этим Владельцем данных, должны иметь target namespace, начинающиеся с базового URI этого владельца. Таким образом, ответственность за уникальность базовых URI несёт оператор СМЭВ, а Владелец данных отвечает за уникальность target namespace в области действия своего базового URI.
Проверка схемы и сообщений
XSD-схема ВС должна проходить проверку на соответствие Методическим рекомендациям СМЭВ с помощью инструмента «Проверка корректности xsd-схем».
Проверка самих XML-сообщений на соответствие Методическим рекомендациям СМЭВ может быть выполнена с помощью инструмента «Проверка корректности xml-сообщения».