Наш Archive-сервер получает журналы, отправленные несколькими Log-серверами - они записывают свой IP в каждом сообщении, которое они отправляют на Archive-сервер.Теперь я хотел «вырезать» их IP-адрес и «src @» из каждого Logmessage с помощью конфигурации rsyslog моего Archive-сервера.
Пример:
192.168.0.12 - один из моихЛог-сервер |Foo - это «настоящий» Source-IP, переведенный в его DNS-имя
Сначала я подумал, что могу использовать «ПОЛЯ» и пробел в качестве разделителя, ноЯ думаю, что я бы сократил DNS-имя моего реального Source-IP, когда я хотел удалить src @.Хотелось бы пойти с sed, если это возможно, но я не знаю, как реализовать это в моем rsyslog.conf
sed 's/\(192.168.0.12 @src\)//'
.
_________ ОБНОВЛЕНИЕ ________
Тамявляется многообещающей функцией под названием «замена», но я не могу заставить ее работать вообще.
https://www.rsyslog.com/doc/v8-stable/rainerscript/functions.html#replace-str-substr-to-replace-replace-with
if ( $fromhost-ip == '192.168.0.12' ) then {
replace($msg, "@src", " ")
-/var/log/foo.log
stop
}
Msgs написаны с использованием foo.log - ноничего не заменено