[syslog-ng]Newbie Filter question (Solaris)

Mike Nerone syslog-ng@lists.balabit.hu
Fri, 6 Aug 2004 12:03:29 -0500


You meant to use:
 
==============
filter f_notalteon {
        not match("10.155.68.2") and not match("10.155.68.3");
};
==============
 
Note that the boolean op is "and", not "or". The opposite of "A or B" is
"not A and not B" (see http://www.wordiq.com/definition/Laws_of_logic or
Google "DeMorgan's theorem".

Mike

________________________________

From: syslog-ng-admin@lists.balabit.hu
[mailto:syslog-ng-admin@lists.balabit.hu] On Behalf Of Kenneth Gullberg
Sent: Thursday, July 29, 2004 05:45
To: syslog-ng@lists.balabit.hu
Subject: [syslog-ng]Newbie Filter question (Solaris)


Hi,
 
Im new to syslogng and want to replace the normal syslogd in solaris with
-ng because of the filters. 
 
I run postfix on 2 loadbalanced machines and i want to get rid of the
healthchecks log entries.
 
I setup a conf file that looks like this:
 
options { 
        long_hostnames(off); 
 
        # doesn't actually help on Solaris, log(3) truncates at 1024 chars
        log_msg_size(8192);
 
        # buffer just a little for performance
        sync(1); 
 
        # memory is cheap, buffer messages unable to write (like to loghost)
        log_fifo_size(2048); 
 
        # The time to wait before a dead connection is reestablished
(seconds)
        time_reopen(10);
};
###############################################################
source src { 
        sun-stream("/dev/log" door("/etc/.syslog_door"));
        internal(); 
};
###############################################################
destination alteon { 
        file("/var/log/alteon"); 
};
destination notalteon { 
        file("/var/log/notalteon"); 
};
destination ipf {
        file("/var/log/ipf.log");
};
###############################################################
filter f_mail { 
        facility(mail); 
};
filter f_not_mail {
        not facility(mail); 
};
filter f_ipf {
        facility(local0);
};
filter f_alteon {
        match("10.155.68.2") or match("10.155.68.3");
};
 
filter f_notalteon {
        not match("10.155.68.2") or not match("10.155.68.3");
};
###############################################################
log {
        source(src);
        filter(f_alteon);
        destination(alteon);
};
log {
        source(src);
        filter(f_notalteon);
        destination(notalteon);
};
log {
        source(src);
        filter(f_ipf);
        destination(ipf);
};
 
 
According to this i should log everything that contains 10.155.68.2 or .3 to
/var/log/alteon and if it doesnt contain .2 or .3 to /var/log/notalteon and
it will also send the ip filter logs to its own log (which works). 
 
It seems that f_alteon och f_ipf works. But f_notalteon logs both stuff that
does contain .2 and .3 and stuff that doesnt contain .2 and .3
 
What have i missed?
 
// Kenneth