Поднят сервер rsyslogd на CentOS, собираются логи в т.ч. с ViPNet HW1000 координатора, приходят подобные сообщения:
Message [03-18 16:54:19] CConfig.UpdateIpsForId: natsettings for NNNN002A: firewallip = 192.168.1.101, forwardip = 192.168.1.101, port = 55777, timeout = 0, virtualip = A000019, proxyid = NNNN000A, flags:BROADCAST ELAPSE
Я хочу на лету подменять NNNN002A на свой текст, например "АП Узел 10". Сделал так:
template(name="logline" type="string" string="%HOSTNAME% %syslogtag% %$!msg%\n")
if (re_match($msg,"NNNN002A")) then {
set $!msg = replace($msg, "NNNN002A", "АП Узел 10");
} else {
set $!msg = $msg;
}
if ( $programname startswith "iplircfg" and $!msg contains "CConfig" ) then {
action(type="ommysql" server="127.0.0.1" db="Syslog" uid="syslog" pwd="syslog")
stop
}
if ( $programname startswith "iplircfg" ) then {
action(type="omfile" file="/dev/null" flushOnTXEnd="off")
stop
}
Но в базу падает старое "...NNNN000A...". Что-то наверняка забыл. Кто-нибудь делал подобное?