[syslog-ng] lsof shows open files which should be closed
Balazs Scheidler
bazsi at balabit.hu
Thu Dec 20 10:28:51 CET 2007
On Wed, 2007-12-19 at 12:31 +0100, Nagy Daniel wrote:
> Hello,
>
> Scenario: this is a log server which receives logs from variuos hosts
> via TCP. We use time macros, which create a new log file in every hour
> for each remote host. The problem is, that 'lsof -c syslog-ng'
> shows, that the logfiles of the previous hours are still open,
> which exhausts the number of file descriptors after a while.
> kill -HUP syslog-ng corrects this as a workaround.
>
> System: RHEL4
> Syslog-ng: 2.0.5 compiled from source
>
> Relevant config parts:
> options {
> flush_lines(16);
> flush_timeout(1000);
> time_reopen (10);
> log_fifo_size (1000);
> use_dns (yes);
> use_fqdn (no);
> create_dirs (no);
> keep_hostname (yes);
> stats_freq(0);
> time_sleep(20);
> time_reap(10);
> };
>
> source s_net {
> tcp(max-connections(512));
> };
>
> destination d_freemail_pop3{
> file("/data/syslog/FP-$YEAR$MONTH$DAY-$HOUR0000-$HOST.log"
> template ("$YEAR.$MONTH.$DAY $HOUR:$MIN:$SEC $TZOFFSET $HOST $MSG\n")
> template_escape(no)
> group("bar")
> perm(0660));
> };
>
>
> For example 'lsof -c syslog-ng' at 12:20 shows these entries as open
> (it shows more, there are examples only):
> syslog-ng 8314 root 10w REG 253,0 1840830 3965325
> /data/syslog/TM-20071219-110000-mx08a.log
> syslog-ng 8314 root 249w REG 253,0 5521445 3965131
> /data/bar/data/target/mail/TM-20071219-100000-mx07a.log (deleted)
>
> The second is also interesting. After some minutes of an hour change,
> a script moves the log to an other directory. That's why the path
> of the second line is changed. But is it still open by syslog-ng?
syslog-ng keeps the files opened for a little while after the last
message is written to it to avoid open/reopen for each message.
This interval can be controlled using the time_reap() option, which
defaults to 60sec, if I remember correctly.
Decrease time_reap(), or increase the number of file descriptors using
"ulimit -n".
--
Bazsi
More information about the syslog-ng
mailing list