У нас есть приложение Java, регистрирующее структурированные данные (MDC с log4j) через syslog в rsyslog (7.6.3) на localhost. Затем localhost должен перенаправить эти сообщения журнала на центральный узел ведения журнала (также на котором запущен rsyslog (7.4.4)), который отформатирует сообщения журнала и распределит их в файлы.
Проблема в том, что мы видим структурированные данные на локальном хосте (регистрируя %rawmsg%
в файл), но в нем нет структурированных данных %rawmsg%
как получено на сервере регистрации. Пересылка осуществляется через UDP.
Как мы можем передать структурированные данные как структурированные данные через rsyslog?
В стандартный шаблон для удаленной пересылки используется традиционный формат BSD Syslog. Попробуйте использовать предопределенный шаблон RSYSLOG_SyslogProtocol23Format
направить в syslog-протокол формат со структурированными данными. Например.:
*.* @logserver;RSYSLOG_SyslogProtocol23Format