@seqular
Сисадмин

Как заменить часть текста в rsyslog msg?

Поднят сервер 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...". Что-то наверняка забыл. Кто-нибудь делал подобное?
  • Вопрос задан
  • 293 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы