On Tue, 2 Jun 2009, Sayan Chowdhury wrote: > Hello David, > Thanks for replying. > > I think I should have made my template clearer as well ... > Actually these mac/ip addresses appear in the message portion. with > different kind of logging message that the system generates > so my rule should work for for a message like this as well > > > May 25 08:41:13. 00145e178cc8[12703]: 4|172|CORE| IP 10.0.0.87 assigned to > device DEVICE_0 > should become something like > > > May 25 08:41:13. [HIDDEN MAC][12703]: 4|172|CORE| IP [HIDDEN IP] assigned to > device DEVICE_0 > > > also, the other requirement I have is to change the facility Id in the > outgoing syslog message.
there are few enough facility Ids that you can put them into the template > That's when I thought about a search and replace functionality with the > property replacer ... > Not sure whether it is possible though, so far I have been able to write > property replacers which can drop line feed, or replace / with an _ but not > something like this. I haven't seen any ability to do arbatrary search-and-replace in rsyslog. David Lang > Regards, > Sayan > > > On Tue, Jun 2, 2009 at 5:50 PM, <[email protected]> wrote: > >> On Tue, 2 Jun 2009, Sayan Chowdhury wrote: >> >>> Hello All, >>> >>> This is my first post to this group, apologize if the question seems >> naive. >>> >>> I am trying to change strings within the syslog message before forwarding >> it >>> to an external log server. For example, if my regular expression matches >> an >>> mac or an IP address present within the message, I want to replace it >> with a >>> string like this "<hidden ip>" >>> Another requirement is before forwarding the log to the external server, >> I >>> have to change the facility to a different number (say from local0 to >>> local7) >>> >>> The approach I was taking is defining a template with the regular >> expression >>> in it, checking for the pattern and then replacing the mac/ip address. >>> >>> However, I think this kind of pattern replacement is not supported with >> the >>> property replacer. >>> Is that correct? >>> >>> I am using rsyslog version 3.21 to try this out and here is an example of >>> what I am trying to do >>> >>> A sample log message >>> >>> May 25 08:41:13. 00145e178cc8[12703]: 4|172|CORE|All elements Connected >>> >>> I need to change it to >>> >>> May 25 08:41:13. [Hidden MAC][12703]: 4|172|CORE|All elements Connected >>> >>> >>> Before it gets forwarded to the external machine. >> >> in this case I believe that the MAC would show up in the programname (and >> syslog tag) fields. >> >> so instead of the default format which looks something like >> %timestamp% %hostname% %syslogtag%%msg% >> >> you would do something like >> %timestamp% %hostname% [Hidden MAC]%msg% >> >> and setup the conditions so that if it matches your condition it sends it >> out with the second format, but if it doesn't it uses the first. >> >> this isn't the search-and-replace functionality you were thinking of, but >> I think it will do the basic job (although the example I gave doesn't >> include the PID portion of the syslog tag, doing a substring on the syslog >> tag would let you add that back in if needed) >> >> David Lang >> _______________________________________________ >> rsyslog mailing list >> http://lists.adiscon.net/mailman/listinfo/rsyslog >> http://www.rsyslog.com >> > _______________________________________________ > rsyslog mailing list > http://lists.adiscon.net/mailman/listinfo/rsyslog > http://www.rsyslog.com > _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com

