Это старая версия документа!
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 | Размер пакета архивирования |
Формат: секунды минуты часы день месяц день_недели
Примеры:
Размер базы данных:
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
Автор Даниил Горбенко