NAME
bind9-query2dlf - convert BIND9 querylogs to dlf
SYNOPSIS
bind9-query2dlf
DESCRIPTION
bind9-query2dlf expects BIND 9 query log files on stdin.
If you have a
channel query_logging {file "/var/log/named_querylog"versions 3 size 100M;print-time yes; // timestamp log entries};
in your named.conf, the produced logfiles are supported. Optionally, you could add
print-category yes; // print category nameprint-severity yes; // print severity level
to this channel. Query logs as produced by a patched BIND (see NOTES below) are supported too.
EXAMPLE
With print-time, print-category and print-severity set:
Feb 25 11:09:43.651 queries: info: client 10.0.0.3#1035:query: 3.example.com.nl IN AFeb 25 11:09:48.739 queries: info: client 10.0.0.3#1035:query: 3.example.com.nl IN AFeb 25 12:50:32.476 queries: info: client 10.0.0.3#1035:query: 21.example.com.co.uk IN AFeb 25 12:50:34.110 queries: info: client 10.0.0.3#1035:query: 22.example.com IN AFeb 25 12:50:34.525 lame-servers: info: lame server on'22.example.com' (in '23.example.com'?): 10.0.0.4#53Feb 25 12:50:34.715 queries: info: client 10.0.0.3#1035:query: 24.example.com IN AFeb 26 07:30:08.211 queries: info: client 10.0.0.1#1050:query: 1.0.0.10.in-addr.arpa IN PTRFeb 26 12:26:55.455 queries: info: client 10.0.0.1#1051:query: 28.example.com.nl IN MXFeb 04 04:02:00.932 general: info: loading configurationfrom '/etc/336.example.com'Feb 18 04:02:01.023 security: warning: zone'337.example.com.nl' allows updates by IP address, whichis insecureFeb 18 04:02:01.049 config: warning: option 'use-id-pool'is obsoleteFeb 18 04:02:01.049 config: warning: option 'check-names'is not implementedFeb 18 04:02:01.049 config: warning: option'statistics-interval' is not yet implementedFeb 18 04:02:01.049 network: info: no IPv6 interfaces foundFeb 04 16:47:18.289 security: info: client 10.0.0.201#137:query deniedFeb 20 07:26:53.731 general: info: runningFeb 13 08:01:56.138 general: info: shutting downFeb 13 08:01:56.140 network: info: no longer listening on10.0.0.3#53Feb 14 08:02:13.983 general: info: refresh_callback: zone384.example.com/IN: failure for 10.0.0.204#53: timed out
With only print-time set:
Aug 27 04:07:13.361 client 127.0.0.1#3123: query: foo.com IN ANYAug 27 04:07:13.438 client 127.0.0.1#3123: query: fu.bar.nl IN AAAAAug 27 04:07:13.443 client 127.0.0.1#3123: query: fu.bar.nl IN A
NOTES
Bind9 doesn't log wether the query was recursive, therefore the last dlf field (DLF_RESOLVER) is a '-'. However, applying this patch by Wytze van der Raay:
# patch bin/named/query.c to log recursive/non-recursive query indicationSRC=bin/named/query.cif [ -f ${SRC}.org ]thenecho "Patched ${SRC} already in place"elseecho "Patch ${SRC} for recursive/non-recursive query indication"cp -p ${SRC} ${SRC}.orgpatch -p0 ${SRC} <<\!--- bin/named/query.c.org Mon Sep 24 22:57:48 2001+++ bin/named/query.c Tue Sep 25 09:55:21 2001@@ -3272,7 +3272,8 @@dns_rdatatype_format(rdataset->type, typename, sizeof(typename));
ns_client_log(client, NS_LOGCATEGORY_QUERIES, NS_LOGMODULE_QUERY,- level, "query: %s %s %s", namebuf, classname, typename);+ level, "query: %s %s %s%s", namebuf, classname, typename,+ WANTRECURSION(client) ? "+" : "-");}
void!fi
will yield loglines like
Nov 11 12:06:42.829 queries: info: client 10.0.0.1#3664:query: 6.example.com.nl IN A+
A '+' indicates a recursive query, - indicates a non-recursive query, the lack of + or - indicates a non-patched bind9. See Wytze's message of Fri, 28 Dec 2001 16:56:30 +0100 on [email protected] , archived at http://www.mail-archive.com/[email protected]/msg00501.html .
This type of logfiles is recognised by the script.
THANKS
Wytze van der Raay, for supplying the BIND 9 query log patch.
SEE ALSO
bind8-query2dlf(1), The bind9 online documentation, as distributed with BIND (but unfortunately not online at http://isc.org/ , you might like http://doc.mdcc.cx/doc/bind/html/logging.html though)
VERSION
$Id: bind9-query2dlf.in,v 1.23 2002/01/11 14:58:51 vanbaal Exp $
COPYRIGHT
Copyright (C) 2001 Joost Bekkers <[email protected]>, Copyright (C) 2000, 2001 Stichting LogReport Foundation [email protected]
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program (see COPYING); if not, check with http://www.gnu.org/copyleft/gpl.html or write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
AUTHOR
Joost Bekkers <[email protected]>, based on Edwin Groothuis and Joost van Baal's work, now maintained by the LogReport team.