Alessandro Dotti Contra

Linux/Unix DevOps


Bind logging configuration

Configuring the way bind logs events works essentially in two steps: first we need to configure the channels bind will use for logging, then we have to specify which event we like to log to a particular channel.

Step 1: create the directory for storing logs

#> mkdir /var/log/bind
#> chown bind.bind /var/log/bind

Step 2: update named.conf configuration file

logging {
channel b_log {
	file "/var/log/bind/bind.log" versions 9 size 1m;
	print-time yes;
	print-category yes;
	print-severity yes;
	severity info;
};
channel b_query {
	file "/var/log/bind/query.log" versions 4 size 1m;
	print-time yes;
	severity info;
};
category default { default_syslog; default_debug; b_log; };
category queries { b_query; };
};

All parameters are well covered in the bind documentation, so please refer to it for an in-depth explanation; I'll just add a quick note about version and size parameters. version tells bind to keep a fixed numbers of backups of the log file (it acts like a rotation mechanism similar to logrotate), while size specifies the maximum size of the log file (once the size exceed, logs are rotated).