[syslog-ng]destination 'program'
Balazs Scheidler
bazsi@balabit.hu
Mon, 3 Feb 2003 14:28:37 +0100
On Mon, Feb 03, 2003 at 04:15:14PM +0300, Dmitry Frolov wrote:
> Hello,
>
> It seems that syslog-ng starts external program to pipe logs through only at startup.
> The documentation says so too and there's nothing about restart.
>
> Syslog-ng only writes error message to internal log if program is terminated.
>
> Feb 3 15:48:17 loghost syslog-ng[971]: io.c: do_write: write() failed (errno 32), Broken pipe
> Feb 3 15:48:17 loghost syslog-ng[971]: pkt_buffer::do_flush(): Error flushing data
>
> But, in some cases it's desirable to watch for this external filter program and restart
> it when nesessary.
> Program may die suddenly or may need full restart for reconfiguration.
> I know that syslog-ng restarts external filter on SIGHUP, and sure i could write watcher
> script for automatic SIGHUPing of syslog-ng, but automatic filter program restart,
> perhaps with some frequency limitations would be quite useful.
> Is there any considerations against that?
This is the intended behaviour as without this everybody would be putting
program("mail -s alert `read`");
like scripts in their configuration which would effectively DoS their log
server.
Regardless syslog-ng 2 (the development branch) contains code to restart the
program, but possibly it will come with a knob defaulting to FALSE whether
this restart should be done.
--
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1