[syslog-ng] syslog file is empty

Андрей dukenukem at vpcit.ru
Fri May 14 11:27:04 CEST 2010


I'm using syslog-ng to collect logs from different devices and everything is 
Ok - all log files and directories are created and being written, except 
syslog log files - they are just empty (e.g. /var/log/hostname/syslog size is 
zero). Here is my config:

monitoring:~# cat /etc/syslog-ng/syslog-ng.conf 
@version: 3.0
#
# Syslog-ng configuration file, compatible with default Debian syslogd
# installation. Originally written by anonymous (I can't find his name)
# Revised, and rewrited by me (SZALAY Attila <sasa at debian.org>)

# First, set some global options.
options {
        long_hostnames(off);
        flush_lines(0);
        use_dns(persist_only);
        dns_cache_hosts(/etc/hosts);
        use_fqdn(no);
        owner("root");
        group("adm");
        perm(0655);
        keep_hostname(yes);
};

########################
# Sources
########################
# This is the default behavior of sysklogd package
# Logs may come from unix stream, but not from another machine.
#
source s_src { unix-dgram("/dev/log"); internal();
             file("/proc/kmsg" program_override("kernel"));
             udp(ip(192.168.10.2) port(514));
};

# If you wish to get logs from remote machine you should uncomment
# this and comment the above source line.
#
#source s_net { tcp(ip(127.0.0.1) port(1000) authentication(required) 
encrypt(allow)); };

########################
# Destinations
########################
# First some standard logfile
#
destination d_auth { file("/var/log/$HOST/auth.log" suppress(15)); };
destination d_cron { file("/var/log/$HOST/cron.log" suppress(15)); };
destination d_daemon { file("/var/log/$HOST/daemon.log" suppress(15)); };
destination d_kern { file("/var/log/$HOST/kern.log" suppress(15)); };
destination d_lpr { file("/var/log/$HOST/lpr.log" suppress(15)); };
destination d_mail { file("/var/log/$HOST/mail.log" suppress(15)); };
destination d_syslog { file("/var/$HOST/log/syslog" suppress(15)); };
destination d_user { file("/var/log/$HOST/user.log" suppress(15)); };
destination d_uucp { file("/var/log/$HOST/uucp.log" suppress(15)); };
destination d_radius { file("/var/log/$HOST/radius.log" suppress(15)); };

# This files are the log come from the mail subsystem.
#
destination d_mailinfo { file("/var/log/$HOST/mail/mail.info" suppress(15)); 
};
destination d_mailwarn { file("/var/log/$HOST/mail/mail.warn" suppress(15)); 
};
destination d_mailerr { file("/var/log/$HOST/mail/mail.err" suppress(15)); };

# Logging for INN news system
#
destination d_newscrit { file("/var/log/$HOST/news/news.crit" suppress(15)); 
};
destination d_newserr { file("/var/log/$HOST/news/news.err" suppress(15)); };
destination d_newsnotice { file("/var/$HOST/log/news/news.notice" 
suppress(15)); };

# Some `catch-all' logfiles.
#
destination d_debug { file("/var/log/$HOST/debug" suppress(15)); };
destination d_error { file("/var/log/$HOST/error" suppress(15)); };

# The root's console.
#
#destination d_console { usertty("root");};

# Virtual console.
#
#destination d_console_all { file("/dev/tty10"); };

# The named pipe /dev/xconsole is for the nsole' utility.  To use it,
# you must invoke nsole' with the -file' option:
#
#    $ xconsole -file /dev/xconsole [...]
#
#destination d_xconsole { pipe("/dev/xconsole"); };

# Send the messages to an other host
#
#destination d_net { tcp("127.0.0.1" port(1000) authentication(on) encrypt(on) 
log_fifo_size(1000)); };

# Debian only
#destination d_ppp { file("/var/log/ppp.log"); };

########################
# Filters
########################
# Here's come the filter options. With this rules, we can set which 
# message go where.

filter f_dbg { level(debug); };
filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_err { level(err); };
filter f_crit { level(crit .. emerg); };

filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };
filter f_error { level(err .. emerg) ; };

filter f_auth { facility(auth, authpriv) and not filter(f_debug); };
filter f_cron { facility(cron) and not filter(f_debug); };
filter f_daemon { facility(daemon) and not filter(f_debug); };
filter f_kern { facility(kern) and not filter(f_debug); };
filter f_lpr { facility(lpr) and not filter(f_debug); };
filter f_local { facility(local0, local1, local3, local4, local5,
                        local6, local7) and not filter(f_debug); };
filter f_mail { facility(mail) and not filter(f_debug); };
filter f_news { facility(news) and not filter(f_debug); };
filter f_syslog3 { facility(syslog) and not filter(f_debug); };
filter f_user { facility(user) and not filter(f_debug); };
filter f_uucp { facility(uucp) and not filter(f_debug); };

filter f_cnews { level(notice, err, crit) and facility(news); };
filter f_cother { level(debug, info, notice, warn) or facility(daemon, mail); 
};

#filter f_ppp { facility(local2) and not filter(f_debug); };
filter f_radius { facility(local1) and not filter(f_debug); };
#filter f_console { level(warn .. emerg); };

########################
# Log paths
########################
log { source(s_src); filter(f_auth); destination(d_auth); };
log { source(s_src); filter(f_cron); destination(d_cron); };
log { source(s_src); filter(f_daemon); destination(d_daemon); };
log { source(s_src); filter(f_kern); destination(d_kern); };
log { source(s_src); filter(f_lpr); destination(d_lpr); };
log { source(s_src); filter(f_syslog3); destination(d_syslog); };
log { source(s_src); filter(f_user); destination(d_user); };
log { source(s_src); filter(f_uucp); destination(d_uucp); };
log { source(s_src); filter(f_radius); destination(d_radius); };

log { source(s_src); filter(f_mail); destination(d_mail); };
#log { source(s_src); filter(f_mail); filter(f_info); destination(d_mailinfo); 
};
#log { source(s_src); filter(f_mail); filter(f_warn); destination(d_mailwarn); 
};
#log { source(s_src); filter(f_mail); filter(f_err); destination(d_mailerr); 
};

log { source(s_src); filter(f_news); filter(f_crit); destination(d_newscrit); 
};
log { source(s_src); filter(f_news); filter(f_err); destination(d_newserr); };
log { source(s_src); filter(f_news); filter(f_notice); 
destination(d_newsnotice); };
#log { source(s_src); filter(f_cnews); destination(d_console_all); };
#log { source(s_src); filter(f_cother); destination(d_console_all); };

#log { source(s_src); filter(f_ppp); destination(d_ppp); };

log { source(s_src); filter(f_debug); destination(d_debug); };
log { source(s_src); filter(f_error); destination(d_error); };

#log { source(s_src); filter(f_console); destination(d_console_all);
#                                   destination(d_xconsole); };
#log { source(s_src); filter(f_crit); destination(d_console); };

# All messages send to a remote site
#
#log { source(s_src); destination(d_net); };

Everything seems to be Ok in config, what's wrong? Later I used 2.x version of 
syslog-ng and everything worked.

-- 
С уважением,
Андрей.


More information about the syslog-ng mailing list