Hello, I have 2 servers running isc-dhcp3-server and syslog-ng. I have configured dhcpd to run in a chroot. The following (reproducible) sequence of events cause dhcpd logging to break: 1) Start syslog-ng 2) Start isc-dhcpd (At this point, logging is working fine) 3) `pkill -HUP syslog-ng` (This happens on the hour whenever logfiles need rotating, but can also be effected manually) 4) dhcpd logging is now broken 5) Restart isc-dhcpd (logging works again)
My theory is that when isc-dhcpd starts, it gets an fd to the syslog socket. When syslog-ng receives a HUP, that socket is reopened and isc-dhcpd's fd is now broken. Relevant options from rc.conf: | syslogd_enable="NO" | newsyslog_enable="NO" | syslog_ng_enable="YES" | dhcpd_enable="YES" | dhcpd_flags="-q" | dhcpd_conf="/usr/local/etc/dhcpd.conf" | dhcpd_includedir="/usr/local/etc/dhcpd.d" | dhcpd_withumask="022" | dhcpd_chuser_enable="YES" | dhcpd_withuser="dhcpd" | dhcpd_withgroup="dhcpd" | dhcpd_devfs_enable="YES" | dhcpd_rootdir="/var/jails/dhcpd" | dhcpd_chroot_enable="YES" | dhcpd_ifaces="bge0" My workaround: For the hosts in question, I've added to the logrotate postrotate script: `/usr/local/etc/rc.d/isc-dhcpd restart > /dev/null` This workaround makes me a little uncomfortable, because these instances of dhcpd are critical for thousands of end users. Is this a bug? Is there a better workaround? Logging from all other applications on the system is unaffected by the HUP to syslog-ng, including two jailed instances of bind9 (syslog-ng on the host opens up the socket /var/run/log inside those jails). Any insight would be greatly appreciated. Thanks, -- Chris Cowart Lead Systems Administrator Network Infrastructure, RSSP-IT UC Berkeley
signature.asc
Description: Digital signature