Difference between revisions of "Syslog"

From YobiWiki
Jump to navigation Jump to search
Line 54: Line 54:
   
 
===Tuning logcheck filters===
 
===Tuning logcheck filters===
  +
====Solving the issue at the source====
 
I have many such messages in the vserver:
 
I have many such messages in the vserver:
 
pam_limits[863]: setrlimit limit #6 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0
 
pam_limits[863]: setrlimit limit #6 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0
Line 59: Line 60:
 
<br>To get rid of it, comment the line in /etc/pam.d/cron and /etc/pam.d/ssh:
 
<br>To get rid of it, comment the line in /etc/pam.d/cron and /etc/pam.d/ssh:
 
#session required pam_limits.so
 
#session required pam_limits.so
  +
====Writing and testing new rules====
 
 
To test logcheck filtering rules:
 
To test logcheck filtering rules:
 
<pre>
 
<pre>
 
sed -e 's/[[:space:]]*$//' /var/log/syslog | egrep '<regexp>'
 
sed -e 's/[[:space:]]*$//' /var/log/syslog | egrep '<regexp>'
 
</pre>
 
</pre>
  +
Then you can dry run logcheck on the command line:
 
  +
su logcheck -s /bin/bash -c "/usr/sbin/logcheck -l /var/log/remote/mx/auth.log -o -t"
  +
This is easier if you have sudo installed...
  +
====Examples of home-made rules====
 
For common imapd timeouts:
 
For common imapd timeouts:
 
/etc/logcheck/ignore.d.paranoid/local-imap:
 
/etc/logcheck/ignore.d.paranoid/local-imap:

Revision as of 19:24, 4 December 2006

Syslog-ng install

apt-get install syslog-ng

Example of /etc/syslog-ng/syslog-ng.conf:

Comment kernel source out as we are in a vserver:

   source s_all {
       #file("/proc/kmsg" log_prefix("kernel: "));

I want to keep the original hostnames:

   options {
       keep_hostname(1);

Enable logging per remote host

   source net { udp(ip(192.168.x.xxx)); };
   destination df_zeus    {   file("/var/log/syslog-zeus.log"    owner("root") group("adm") perm(0640)); };
   destination df_public  {   file("/var/log/syslog-public.log"  owner("root") group("adm") perm(0640)); };
   destination df_private {   file("/var/log/syslog-private.log" owner("root") group("adm") perm(0640)); };
   destination df_ns0     {   file("/var/log/syslog-ns0.log"     owner("root") group("adm") perm(0640)); };
   destination df_sql     {   file("/var/log/syslog-sql.log"     owner("root") group("adm") perm(0640)); };
   destination df_others  {   file("/var/log/syslog-$HOST.log"   owner("root") group("adm") perm(0640)); };
   filter f_zeus    { host(192.168.x.xxx); };
   filter f_public  { host(192.168.x.xxx); };
   filter f_private { host(192.168.x.xxx); };
   filter f_ns0     { host(192.168.x.xxx); };
   filter f_sql     { host(192.168.x.xxx); };
   filter f_others  { not host(192.168.x.xxx) and not host(192.168.x.xxx) and not host(192.168.x.xxx) and not host(192.168.x.xxx) and not host(192.168.x.xxx) };
   log { 
       source(net);
       filter(f_zeus);
       destination(df_zeus);
   };
   log {
       ...

Allow inbound connections from monitoring subnet

iptables -A INPUT -s xxxx -d xxxx -p udp --dport 514 -m state --state NEW -j ACCEPT

On satellite hosts: add to /etc/syslog.conf

  • .* @192.168.x.xxx

Resources & Credits


Logcheck

apt-get install logcheck logcheck-database

In /etc/logcheck/logcheck.conf:

REPORTLEVEL="paranoid"

Tuning logcheck filters

Solving the issue at the source

I have many such messages in the vserver:

pam_limits[863]: setrlimit limit #6 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0

Not sure why, probably because vserver max limits are reduced.
To get rid of it, comment the line in /etc/pam.d/cron and /etc/pam.d/ssh:

#session    required     pam_limits.so

Writing and testing new rules

To test logcheck filtering rules:

sed -e 's/[[:space:]]*$//' /var/log/syslog | egrep '<regexp>'

Then you can dry run logcheck on the command line:

su logcheck -s /bin/bash -c "/usr/sbin/logcheck -l /var/log/remote/mx/auth.log -o -t" 

This is easier if you have sudo installed...

Examples of home-made rules

For common imapd timeouts:

/etc/logcheck/ignore.d.paranoid/local-imap:
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ imapd: TIMEOUT, user=[a-z]+, ip=\[[:.0-9a-f]+\], headers=0, body=0, rcvd=[0-9]+, sent=[0-9]+, time=[0-9]+, starttls=1$

TODO