Инструменты пользователя

Инструменты сайта


upgrade-security-server-new-722

Это старая версия документа!


MessageLog X-Road: настройка и обслуживание

MessageLog — база данных PostgreSQL для хранения логов обмена сообщениями X-Road Security Server.

Содержит:

  • Метаданные запросов/ответов
  • Тела сообщений (опционально)
  • Подписи и временные метки

Конфигурация

Файл: /etc/xroad/conf.d/local.ini

Рекомендуемые настройки

[message-log]
keep-records-for=1
archive-interval=0 0/2 * 1/1 * ? *
clean-interval=0 0/3 * 1/1 * ? *
message-body-logging=false
clean-transaction-batch=10000
archive-transaction-batch=10000

Параметры

Параметр Значение Описание
keep-records-for 1 Срок хранения в БД (дни)
archive-interval 0 0/2 * 1/1 * ? * Каждые 2 часа архивировать
clean-interval 0 0/3 * 1/1 * ? * Каждые 3 часа очищать БД
message-body-logging false Не сохранять тела сообщений
clean-transaction-batch 10000 Размер пакета очистки
archive-transaction-batch 10000 Размер пакета архивирования

Cron-выражения

Формат: секунды минуты часы день месяц день_недели

Примеры:

  • 0 0/2 * 1/1 * ? * — Каждые 2 часа
  • 0 0/3 * 1/1 * ? * — Каждые 3 часа
  • 0 0 */6 * * ? — Каждые 6 часов
  • 0 0 2 * * ? — Ежедневно в 2:00
Архивные файлы автоматически сохраняются в директории /var/lib/xroad/

Проверка работы

Размер базы данных:

sudo -u postgres psql -c "SELECT pg_size_pretty(pg_database_size('messagelog'));"

Количество записей:

sudo -u postgres psql -d messagelog -c "SELECT COUNT(*) FROM messagelog;"

Применение настроек:

sudo systemctl restart xroad-proxy

Устранение проблем

При переполнении БД:

# Очистка старых записей
sudo -u postgres psql -d messagelog -c "DELETE FROM messagelog WHERE request_in_ts < NOW() - INTERVAL '1 day';"

# VACUUM
sudo -u postgres psql -d messagelog -c "VACUUM ANALYZE messagelog;"

# Перезапуск
sudo systemctl restart xroad-proxy

Полный пример конфигурации

[proxy-ui]

[proxy]
allow-get-wsdl-request = true
client-http-port = 80
client-https-port = 443

[message-log]
keep-records-for=1
archive-interval=0 0/2 * 1/1 * ? *
clean-interval=0 0/3 * 1/1 * ? *
message-body-logging=false
clean-transaction-batch=10000
archive-transaction-batch=10000

[proxy-ui-api]
wsdl-validator-command = /usr/share/xroad/wsdlvalidator/bin/wsdlvalidator_wrapper.sh
strict-identifier-checks = false

Автор Даниил Горбенко

upgrade-security-server-new-722.1770634824.txt.gz · Последние изменения: 2026/02/09 11:00 — infra