Рейтинг:0

Как мне или возможно ли в rsyslog сопоставить нестандартные имена полей со стандартными переменными?

флаг de

Я работаю над централизацией своих журналов на сервере системных журналов, и у меня будут серверы fortigate и Windows (2016), отправляющие системные журналы на один сервер Linux, на котором работает rsyslog, и сохраняйте их в mysql.Я настроил fortigate для отправки системных журналов, но строки в mysql из fortigate не имеют одинаковых имен полей, поэтому данные не записываются во все столбцы в mysql.

Например, системный журнал с Linux-сервера содержит следующее:

2 ноября 11:15:25 ядро ​​fps-linux-01: [3716995.353386] аудит: тип = 1400 аудит (1635869725.570:17): apparmor = "СТАТУС" операция = "profile_load" профиль = "неограниченный" имя = "/usr/ sbin/tcpdump" pid=25552 comm="apparmor_parser"

В результате поля базы данных «FromHost» имеют значение «fps-linux-01». Но запись из фортигейта гласит:

3 ноя 09:04:46 . date=2021-11-03 time=09:03:56 devname="Frederick-200F" devid="FG200FT920907269" eventtime=1635948236739611958 tz="-0500" logid="0000000013" type="traffic" subtype="forward" level="notice" vd="root" srcip=xxxxxxx srcport=59142 srcintf="lan" srcintfrole="lan" dstip=172.98.64.173 dstport=443 dstintf="port16" dstintfrole="wan" srccountry="Reserved" dstcountry ="Соединенные Штаты" sessionid=408405616 proto=6 action="start" policyid=8 policytype="policy" puluuid="2f7b990a-a844-51eb-73cf-8a7dcbe631da" policyname="Filter - Staff" user="xxxxxx" group ="xxxxxxxx" authserver="xxxx" service="HTTPS" trandisp="snat" transip=xxxxxxxxx transport=59142 продолжительность=0 sentbyte=0 rcvdbyte=0 sentpkt=0 rcvdpkt=0 appcat="unscanned"

Из этого FromHost пуст в БД, потому что (я предполагаю) запись fortigate имеет точку в поле имени хоста.

Вот относительные конфиги: $template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" . ?Удаленные журналы и ~

модуль (загрузить = "ommysql") *.* action(type="ommysql" [Информация о соединении])

Я видел, что могу получить свойства сообщения и отформатировать его по мере необходимости, но выполнение на данный момент мне недоступно (то есть я не знаю, как это реализовать).

Вот мое лучшее предположение на данный момент, пожалуйста, исправьте все, что не так или отсутствует: шаблон (имя = "RSYSLOG_StdFmt" тип = "список") { свойство (имя = "имя_разработчика") константа (значение = "") свойство (имя = "тип") константа (значение = ": ") *** Поместите сюда остальную часть сообщения **** }

Возможно ли, чтобы остальные данные после поля «тип» просто возвращались к выходным данным с этого момента? Если да, то как мне это сделать?

Это должно поместить запись в файл журнала, аналогичный собственному системному журналу. Поднимет ли rsyslog-mysql это и правильно поместит в базу данных, или мне нужно также создать специальный шаблон для mysql? Если да, то как применить мой шаблон только к журналам, поступающим из fortigate, а не к локальным записям или журналам с серверов Windows?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.