Date: Thu, 15 Sep 2005 16:24:15 +0100 From: Alex Zbyslaw <xfb52@dial.pipex.com> To: Ashley Moran <ashley.moran@codeweavers.net> Cc: freebsd-questions@freebsd.org Subject: Re: Trying to colour syslog-ng logs to ttyv7 but won't work after a reboot Message-ID: <4329921F.2070006@dial.pipex.com> In-Reply-To: <43298076.7050705@codeweavers.net> References: <43298076.7050705@codeweavers.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Ashley Moran wrote: > I have a 5.4-STABLE server that I've reconfigured to use syslog-ng > instead of syslogd. It collects logs from all our servers and sorts > them into per-host folders. > > Our network admin showed me his gentoo machine earlier which uses ccze > to colour log files as they scroll up the screen. He wanted a > high-res display with our whole network's logs scrolling in the > background (as much for the geek-porn factor as the usefulness). > > After a lot of hacking and patching I managed to get the machine > running 1024x768. I installed ccze, then modified syslog-ng.conf to > use it as a destination: > > destination term { program("ccze -r > /dev/ttyv7"); }; > > I set syslog-ng to log all remote logs to this destination, and after > re-starting syslog-ng to reload the config, it worked fine. However, > for some reason way beyond me, it *will not work* after a reboot. I > have to restart syslog-ng after a reboot before it will log to the > virtual terminal. > > Here is the startup script I created in /usr/local/etc/rc.d/syslog-ng.sh: > > (the mountcritremote and cleanvar requirements I copied from the > syslogd file - I assume I want devfs to access /dev/ttyv7) > > #!/bin/sh > # > > # PROVIDE: syslogng > # REQUIRE: devfs mountcritremote cleanvar > # BEFORE: SERVERS > > . /etc/rc.subr > > name="syslogng" > rcvar=`set_rcvar` > required_files="/usr/local/etc/syslog-ng/syslog-ng.conf" > command="/usr/local/sbin/syslog-ng" > > load_rc_config $name > run_rc_command "$1" > > > > Maybe this is some subtle quirk of the boot process that I haven't > understood. Can anybody help? > The requirements like BEFORE: SERVERS are not honoured by scripts in /usr/local/etc/rc.d. Try placing the script in /etc/rc.d calling it say syslogng (i.e. without the .sh). man rc has more info, as would scanning back through the freebsd-rc archives. I believe that work to make scripts in /usr/local/etc/rc.d work more like system scripts will appear sometime in 6.X, though full integration is, I believe, not expected until 7.X. Right now, your syslogng will be being started *after* lots of servers that might expect to talk to it. I assume you put syslogng_enable="YES" into /etc/rc.conf? as well as syslogd_enable="NO". (Or, it might work just to change syslogd_program="/path/to/syslogngd" and not bother with changing anything else). --Alex
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4329921F.2070006>