database-server-security
Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| database-server-security [2026/02/09 10:57] – создано infra | database-server-security [2026/02/09 11:02] (текущий) – infra | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | # MessageLog X-Road: настройка и обслуживание | + | ====== |
| - | + | ||
| - | ## Что такое MessageLog | + | |
| MessageLog - база данных PostgreSQL для хранения логов обмена сообщениями X-Road Security Server. | MessageLog - база данных PostgreSQL для хранения логов обмена сообщениями X-Road Security Server. | ||
| **Содержит: | **Содержит: | ||
| - | - Метаданные запросов/ | + | * Метаданные запросов/ |
| - | - Тела сообщений (опционально) | + | |
| - | - Подписи и временные метки | + | |
| - | ## Конфигурация | + | ==== Конфигурация |
| - | Файл: | + | Файл: / |
| - | ### Рекомендуемые настройки | + | === Рекомендуемые настройки |
| - | ```ini | + | < |
| [message-log] | [message-log] | ||
| - | # Хранение в БД только 1 день | ||
| keep-records-for=1 | keep-records-for=1 | ||
| - | |||
| - | # Архивирование каждые 2 часа | ||
| archive-interval=0 0/2 * 1/1 * ? * | archive-interval=0 0/2 * 1/1 * ? * | ||
| - | |||
| - | # Очистка каждые 3 часа | ||
| clean-interval=0 0/3 * 1/1 * ? * | clean-interval=0 0/3 * 1/1 * ? * | ||
| - | |||
| - | # Отключить логирование тел сообщений | ||
| message-body-logging=false | message-body-logging=false | ||
| - | |||
| - | # Размеры пакетов для обработки | ||
| clean-transaction-batch=10000 | clean-transaction-batch=10000 | ||
| archive-transaction-batch=10000 | archive-transaction-batch=10000 | ||
| - | ``` | + | </ |
| - | ### Объяснение параметров | + | === Параметры === |
| - | | Параметр | + | ^ Параметр |
| - | |----------|----------|----------| | + | | keep-records-for | 1 | Срок хранения в БД (дни) | |
| - | | `keep-records-for` | 1 | Срок хранения в БД (дни). После этого записи архивируются в файлы | + | | archive-interval | 0 0/2 * 1/1 * ? * | Каждые 2 часа архивировать | |
| - | | `archive-interval` | `0 0/2 * 1/1 * ? *` | Каждые 2 часа архивировать | + | | clean-interval | 0 0/3 * 1/1 * ? * | Каждые 3 часа очищать БД | |
| - | | `clean-interval` | `0 0/3 * 1/1 * ? *` | Каждые 3 часа очищать | + | | message-body-logging | false | Не сохранять тела сообщений | |
| - | | `message-body-logging` | false | Не сохранять тела сообщений | + | | clean-transaction-batch | 10000 | Размер пакета очистки | |
| - | | `clean-transaction-batch` | 10000 | Количество | + | | archive-transaction-batch | 10000 | Размер пакета архивирования | |
| - | | `archive-transaction-batch` | 10000 | Количество | + | |
| - | ## Cron-выражения | + | === Cron-выражения |
| - | Формат: | + | Формат: |
| **Примеры: | **Примеры: | ||
| - | ``` | + | * 0 0/2 * 1/1 * ? * — Каждые 2 часа |
| - | 0 0/2 * 1/1 * ? * # Каждые 2 часа | + | |
| - | 0 0/3 * 1/1 * ? * # Каждые 3 часа | + | |
| - | 0 0 */6 * * ? # Каждые 6 часов | + | |
| - | 0 0 2 * * ? # Ежедневно в 2:00 | + | |
| - | ``` | + | |
| - | ## Хранение архивов | + | <note important> |
| - | Архивные файлы | + | ==== Проверка работы ==== |
| - | ``` | + | |
| - | / | + | |
| - | ``` | + | |
| - | ## Проверка работы | + | Размер базы данных: |
| - | + | < | |
| - | ### Размер базы данных | + | |
| - | + | ||
| - | ```bash | + | |
| sudo -u postgres psql -c " | sudo -u postgres psql -c " | ||
| - | ``` | + | </ |
| - | ### Количество записей | + | Количество записей: |
| - | + | < | |
| - | ```bash | + | |
| sudo -u postgres psql -d messagelog -c " | sudo -u postgres psql -d messagelog -c " | ||
| - | ``` | + | </ |
| - | + | ||
| - | ### Перезапуск для применения настроек | + | |
| - | ```bash | + | Применение настроек: |
| + | < | ||
| sudo systemctl restart xroad-proxy | sudo systemctl restart xroad-proxy | ||
| - | ``` | + | </ |
| - | ## Устранение проблем | + | ==== Устранение проблем |
| - | ### База | + | При |
| - | ```bash | + | < |
| - | # Принудительная очистка старых записей | + | # Очистка старых записей |
| - | sudo -u postgres psql -d messagelog -c " | + | sudo -u postgres psql -d messagelog -c " |
| - | DELETE FROM messagelog | + | |
| - | WHERE request_in_ts < NOW() - INTERVAL '1 day';" | + | |
| - | # VACUUM | + | # VACUUM |
| sudo -u postgres psql -d messagelog -c " | sudo -u postgres psql -d messagelog -c " | ||
| - | # Перезапуск | + | # Перезапуск |
| sudo systemctl restart xroad-proxy | sudo systemctl restart xroad-proxy | ||
| - | ``` | + | </ |
| - | ## Итоговый пример конфигурации | + | ==== Полный пример конфигурации |
| - | ```ini | + | < |
| [proxy-ui] | [proxy-ui] | ||
| Строка 123: | Строка 99: | ||
| wsdl-validator-command = / | wsdl-validator-command = / | ||
| strict-identifier-checks = false | strict-identifier-checks = false | ||
| - | ``` | + | </ |
| + | |||
| + | ---- | ||
| - | --- | + | Автор Даниил Горбенко |
| - | Автор: Даниил Горбенко | + | |
database-server-security.1770634657.txt.gz · Последнее изменение: — infra
