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

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


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 X-Road: настройка и обслуживание ​======
- +
-## Что такое MessageLog+
  
 MessageLog - база данных PostgreSQL для хранения логов обмена сообщениями X-Road Security Server. MessageLog - база данных PostgreSQL для хранения логов обмена сообщениями X-Road Security Server.
  
 **Содержит:​** **Содержит:​**
-Метаданные запросов/​ответов +  * Метаданные запросов/​ответов 
-Тела сообщений (опционально) +  ​* ​Тела сообщений (опционально) 
-Подписи и временные метки+  ​* ​Подписи и временные метки
  
-## Конфигурация ​в local.ini+==== Конфигурация ​====
  
-Файл: ​`/​etc/​xroad/​conf.d/​local.ini`+Файл: /​etc/​xroad/​conf.d/​local.ini
  
-### Рекомендуемые настройки ​для production+=== Рекомендуемые настройки ​===
  
-```ini+<​code>​
 [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
-```+</​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>​
  
-### Количество записей +Количество записей: 
- +<​code>​
-```bash+
 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>​
  
-## Устранение проблем+==== Устранение проблем ​====
  
-### База ​переполнена+При ​переполнении БД:
  
-```bash +<​code>​ 
-Принудительная очистка старых записей +Очистка старых записей 
-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';"​
-DELETE FROM messagelog ​ +
-WHERE request_in_ts < NOW() - INTERVAL '1 day';"​+
  
-# VACUUM ​после удаления+# VACUUM
 sudo -u postgres psql -d messagelog -c "​VACUUM ANALYZE messagelog;"​ sudo -u postgres psql -d messagelog -c "​VACUUM ANALYZE messagelog;"​
  
-# Перезапуск ​сервиса+# Перезапуск
 sudo systemctl restart xroad-proxy sudo systemctl restart xroad-proxy
-```+</​code>​
  
-## Итоговый пример конфигурации+==== Полный пример конфигурации ​====
  
-```ini+<​code>​
 [proxy-ui] [proxy-ui]
  
Строка 123: Строка 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>​ 
 + 
 +----
  
---- +Автор Даниил Горбенко
-АвторДаниил Горбенко+
  
database-server-security.1770634657.txt.gz · Последние изменения: 2026/02/09 10:57 — infra