Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия | |||
|
database-server-security [2026/02/09 10:58] infra |
database-server-security [2026/02/09 11:02] (текущий) infra |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ## MessageLog X-Road: настройка и обслуживание | + | ====== MessageLog X-Road: настройка и обслуживание ====== |
| - | ### Описание | + | MessageLog - база данных PostgreSQL для хранения логов обмена сообщениями X-Road Security Server. |
| - | MessageLog — база данных PostgreSQL для хранения логов обмена сообщениями X-Road Security Server. | + | **Содержит:** |
| + | * Метаданные запросов/ответов | ||
| + | * Тела сообщений (опционально) | ||
| + | * Подписи и временные метки | ||
| - | Содержит: | + | ==== Конфигурация ==== |
| - | * Метаданные запросов/ответов | + | |
| - | * Тела сообщений (опционально) | + | |
| - | * Подписи и временные метки | + | |
| - | --- | + | Файл: /etc/xroad/conf.d/local.ini |
| - | ### Конфигурация | + | === Рекомендуемые настройки === |
| - | **Файл:** `/etc/xroad/conf.d/local.ini` | + | <code> |
| - | + | ||
| - | #### Рекомендуемые настройки | + | |
| - | + | ||
| - | ```ini | + | |
| [message-log] | [message-log] | ||
| keep-records-for=1 | keep-records-for=1 | ||
| Строка 26: | Строка 22: | ||
| clean-transaction-batch=10000 | clean-transaction-batch=10000 | ||
| archive-transaction-batch=10000 | archive-transaction-batch=10000 | ||
| - | ``` | + | </code> |
| - | #### Параметры | + | === Параметры === |
| - | | Параметр | Значение | Описание | | + | ^ Параметр ^ Значение ^ Описание ^ |
| - | |---|---|---| | + | | 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/3 * 1/1 * ? * — Каждые 3 часа |
| - | * `0 0 */6 * * ?` — Каждые 6 часов | + | * 0 0 */6 * * ? — Каждые 6 часов |
| - | * `0 0 2 * * ?` — Ежедневно в 2:00 | + | * 0 0 2 * * ? — Ежедневно в 2:00 |
| - | --- | + | <note important>Архивные файлы автоматически сохраняются в директории /var/lib/xroad/</note> |
| - | ### Хранение архивов | + | ==== Проверка работы ==== |
| - | Директория: `/var/lib/xroad/` | + | Размер базы данных: |
| - | + | <code> | |
| - | --- | + | |
| - | + | ||
| - | ### Проверка работы | + | |
| - | + | ||
| - | **Размер базы данных:** | + | |
| - | ```bash | + | |
| sudo -u postgres psql -c "SELECT pg_size_pretty(pg_database_size('messagelog'));" | sudo -u postgres psql -c "SELECT pg_size_pretty(pg_database_size('messagelog'));" | ||
| - | ``` | + | </code> |
| - | **Количество записей:** | + | Количество записей: |
| - | ```bash | + | <code> |
| sudo -u postgres psql -d messagelog -c "SELECT COUNT(*) FROM messagelog;" | sudo -u postgres psql -d messagelog -c "SELECT COUNT(*) FROM messagelog;" | ||
| - | ``` | + | </code> |
| - | **Применение настроек:** | + | Применение настроек: |
| - | ```bash | + | <code> |
| sudo systemctl restart xroad-proxy | sudo systemctl restart xroad-proxy | ||
| - | ``` | + | </code> |
| - | --- | + | ==== Устранение проблем ==== |
| - | ### Устранение проблем | + | При переполнении БД: |
| - | **При переполнении БД:** | + | <code> |
| - | + | ||
| - | ```bash | + | |
| # Очистка старых записей | # Очистка старых записей | ||
| sudo -u postgres psql -d messagelog -c "DELETE FROM messagelog WHERE request_in_ts < NOW() - INTERVAL '1 day';" | sudo -u postgres psql -d messagelog -c "DELETE FROM messagelog WHERE request_in_ts < NOW() - INTERVAL '1 day';" | ||
| Строка 89: | Строка 76: | ||
| # Перезапуск | # Перезапуск | ||
| sudo systemctl restart xroad-proxy | sudo systemctl restart xroad-proxy | ||
| - | ``` | + | </code> |
| - | --- | + | ==== Полный пример конфигурации ==== |
| - | ### Полный пример конфигурации | + | <code> |
| - | + | ||
| - | ```ini | + | |
| [proxy-ui] | [proxy-ui] | ||
| Строка 114: | Строка 99: | ||
| wsdl-validator-command = /usr/share/xroad/wsdlvalidator/bin/wsdlvalidator_wrapper.sh | wsdl-validator-command = /usr/share/xroad/wsdlvalidator/bin/wsdlvalidator_wrapper.sh | ||
| strict-identifier-checks = false | strict-identifier-checks = false | ||
| - | ``` | + | </code> |
| + | |||
| + | ---- | ||
| - | --- | + | Автор Даниил Горбенко |
| - | **Автор:** Даниил Горбенко | + | |