[syslog-ng] Rewrite regex not working entirely
N. Max Pierson
nmaxpierson at gmail.com
Wed Jan 16 16:32:52 UTC 2019
Hi Atilla,
I switched the double quotes to single quotes and that fixed the issue. I
do not believe the docs stated to use single quotes for full regular
expressions to work which is why I used double quotes but in either case
this resolved the issue.
Thanks for the feedback!
Regards,
Max
On Wed, Jan 16, 2019 at 5:41 AM Szakacs, Attila <attila.szakacs at balabit.com>
wrote:
> Hi Max,
>
> I tried "\w\d" , etc... in "pcre" type subst rewrite rule on 3.19.
> My config:
>
> @version: 3.19
> @include "scl.conf"
>
> source s_udp5001 {
> udp(
> port(5001)
> keep-hostname(yes)
> flags(no-parse)
> );
> };
>
> destination d_test {
> file(
> "/tmp/test.log"
> );
> };
>
> rewrite r_chars {
> subst(
> "^[a-z]+ [0-9]+ [0-9]+:[0-9]+:[0-9]+ [a-z]+: ",
> "",
> value("$MESSAGE"),
> type("pcre"),
> flags("ignore-case")
> );
> };
>
> rewrite r_pcre {
> subst(
> '^\w+\s\d+\s\d+:\d+:\d+\s\w+:\s',
> "",
> value("$MESSAGE"),
> type("pcre"),
> flags("ignore-case")
> );
> };
>
> log {
> source(s_udp5001);
> #rewrite(r_chars);
> rewrite(r_pcre);
> destination(d_test);
> };
>
> I think you need to make sure, that the regular expression is set between
> single quotes (e.g.: '^\w+\s\d+\s\d+:\d+:\d+\s\w+:\s')
>
> Best regards,
> Attila
>
> On Tue, Jan 15, 2019 at 11:12 PM N. Max Pierson <nmaxpierson at gmail.com>
> wrote:
>
>> Hi Evan,
>>
>> I have tried both pcre and posix and neither seem to work.
>>
>> On Tue, Jan 15, 2019 at 4:08 PM Evan Rempel <erempel at uvic.ca> wrote:
>>
>>> You have defined your regular expresion as "posix" which does not have
>>> the \d \s etc.
>>> If you change the type to "pcre" then it should work for you.
>>>
>>>
>>> On 1/15/19 2:01 PM, N. Max Pierson wrote:
>>>
>>> Hi List,
>>>
>>> I am using version 3.5 and it seems as though regex (posix or pcre)
>>> doesn't work completely. Take the example string below (which is the
>>> message part of the syslog).
>>>
>>> Jan 15 15:50:57 CST: %DAEMON-3-SYSTEM_MSG: NTP Receive dropping message:
>>> Received NTP control mode packet. Drop count:147972 - ntpd[15029]
>>>
>>> I am trying to match the date at the beginning of the message and remove
>>> it. When I use \w, \s, \d, etc, they do not match anything. If I match on a
>>> character classes it works fine (ex [a-z]+ or [0-9]+).
>>>
>>> Here is my statement for the rewrite rule.
>>>
>>> rewrite r_nexus{ subst("^[a-z]+ [0-9]+ [0-9]+:[0-9]+:[0-9]+ [a-z]+: ",
>>> "", value("MESSAGE"), type("posix"), flags("ignore-case"),
>>> condition(filter(f_nexus))); };
>>>
>>> The above seems to get me what I want but are the character matches not
>>> supposed to work in syslog-ng version 3.5??
>>>
>>> Regards,
>>> Max
>>>
>>>
>>>
>>> ______________________________________________________________________________
>>> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>>> Documentation:
>>> http://www.balabit.com/support/documentation/?product=syslog-ng
>>> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>>>
>>>
>> ______________________________________________________________________________
>> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>> Documentation:
>> http://www.balabit.com/support/documentation/?product=syslog-ng
>> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>>
>>
> ______________________________________________________________________________
> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Documentation:
> http://www.balabit.com/support/documentation/?product=syslog-ng
> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.balabit.hu/pipermail/syslog-ng/attachments/20190116/2833bfd1/attachment-0001.html>
More information about the syslog-ng
mailing list