The Goal
I'm wanting to configure bind9 on Ubuntu 12.04 to log out to a named pipe. The purpose is to redirect logging to the syslog-ng service.
The Problem
My problem is that when I direct the logging channel to the named pipe file, the bind service will not start. This is the logging clause, where query.log is the FIFO file :
logging {
channel query.log {
file "/var/log/named/query.log";
severity info;
print-time yes;
print-category yes;
};
category queries { query.log; };
category ....
};
This is the output found in syslog:
Jun 12 12:37:53 hostname named[19400]: isc_file_isplainfile '/var/log/named/query.log' failed: invalid file
Jun 12 12:37:53 hostname named[19400]: configuring logging: invalid file
Jun 12 12:37:53 hostname named[19400]: loading configuration: invalid file
What I've Tried
I have validated that the permissions are correct, and logging to a standard file works without issue. I have also validated that I can send data through the pipe, by running
sudo -u bind bash -c 'echo "test" > /var/log/named/query.log'
I see the data appear in syslog-ng as expected. I've also set /usr/sbin/named to both complain and disabled in Apparmor, yet I'm still experiencing the issue.
Help?
Is what I'm proposing to do possible? If so, any pointers on what I might be doing wrong.