У меня есть пара устройств sonicwall, указывающих на экземпляр rsyslog (v4.6.2), которые, по-видимому, неправильно форматируют свои сообщения для плагина mysql.
Экземпляр rsyslog без проблем регистрирует другие устройства (серверы Linux и некоторые коммутаторы), но часть сообщения для устройств sonicwall возвращается как
$ msgНЕДЕЙСТВИТЕЛЬНОЕ ИМЯ СОБСТВЕННОСТИ
Остальная часть сообщения регистрируется правильно (время, источник, объект и т. Д.)
Глядя на журнал отладки rsyslog, я вижу это при получении сообщения
отметка времени: вызываемое действие, запись на ommysql.so
отметка времени: недопустимый идентификатор свойства: '0'
Если я также зарегистрируюсь в рекомендуемом шаблоне «отладки» (на основе файла), результат будет примерно следующим:
FROMHOST: 'XXXX', HOSTNAME: 'Real Hostname', PRI: 129, syslogtag 'id = firewall', programname: 'id = firewall', APP-NAME: 'id = firewall', PROCID: '-', MSGID : '-',
TIMESTAMP: '31 января 14:10:12', СТРУКТУРИРОВАННЫЕ ДАННЫЕ: '-',
msg: 'sn = 0017C5272ED0 time = "2012-01-31 14:10:13" fw = X.X.X.X pri = 1 c = 32 m = 608 msg = "IPS
Предупреждение об обнаружении: INFO SNMP Access (UDP) "sid = 748 ipscat = INFO ipspri = 3 n = 0 src = X.X.X.X: LAN: DNS_NAME dst = X.X.X.X: 161: ПРИНТЕРЫ: '
rawmsg: '<129> id = firewall sn = 0017C5272ED0 time = "2012-01-31 14:10:13" fw = XXXX pri = 1 c = 32 m = 608 msg = "Предупреждение об обнаружении IPS: ИНФОРМАЦИЯ SNMP (UDP) "sid = 748 ipscat = INFO ipspri = 3 n = 0 src = XXXX: 1052: LAN: DNS_NAME dst = XXXX: 161: ПРИНТЕРЫ: '
rsyslog сейчас обновлен до версии 6.3.3, но я не могу найти никаких подтверждений, что моя проблема исправлена в более поздней версии.
Я хотел бы придерживаться официальных rpms от centos, если это возможно, однако «шаблон отладки» выглядит нормально, и я полагаю, что это проблема с плагином mysql, и обновление может быть моим единственным вариантом.
Прежде чем я пойду по этому пути, есть идеи, можно ли это исправить, изменив шаблон, который я использую, или какой-то другой параметр, который я пропустил?
В шаблоне sql есть опечатка: $ msg% вместо% msg%; который rsyslog пытался мне сказать, и я даже процитировал его в своем первоначальном вопросе.