summarylogtreecommitdiffstats
path: root/logging
blob: c598f640e32cb9f45607d412c9b9c0f22cf19a03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
logging {
    channel default_log {
        file "/var/named/logs/default.log" versions 3 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity info;
    };
    channel auth_servers_log {
        file "/var/named/logs/auth_servers.log" versions 100 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity info;
    };
    channel dnssec_log {
        file "/var/named/logs/dnssec.log" versions 3 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity info;
    };
    channel zone_transfers_log {
        file "/var/named/logs/zone_transfers.log" versions 3 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity info;
    };
    channel ddns_log {
        file "/var/named/logs/ddns.log" versions 3 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity info;
    };
    channel client_security_log {
        file "/var/named/logs/client_security.log" versions 3 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity info;
    };
    channel rate_limiting_log {
        file "/var/named/logs/rate_limiting.log" versions 3 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity info;
    };
    channel rpz_log {
        file "/var/named/logs/rpz.log" versions 3 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity info;
    };
    channel dnstap_log {
        file "/var/named/logs/dnstap.log" versions 3 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity info;
    };
//
// If you have the category ‘queries’ defined, and you don’t want query logging
// by default, make sure you add option ‘querylog no;’ - then you can toggle
// query logging on (and off again) using command ‘rndc querylog’
//
//    channel queries_log {
//        file "/var/named/logs/queries.log" versions 600 size 20m;
//        print-time yes;
//        print-category yes;
//        print-severity yes;
//        severity info;
//    };
//
// This channel is dynamic so that when the debug level is increased using
// rndc while the server is running, extra information will be logged about
// failing queries.  Other debug information for other categories will be
// sent to the channel default_debug (which is also dynamic), but without
// affecting the regular logging.
//
    channel query-errors_log {
        file "/var/named/logs/query.log-errors" versions 5 size 20m;
        print-time yes;
        print-category yes;
        print-severity yes;
        severity dynamic;
    };
//
// This is the default syslog channel, defined here for clarity.  You don’t
// have to use it if you prefer to log to your own channels.
// It sends to syslog’s daemon facility, and sends only logged messages
// of priority info and higher.
// (The options to print time, category and severity are non-default.)
//
    channel default_syslog {
        print-time yes;
        print-category yes;
        print-severity yes;
        syslog daemon;
        severity info;
    };
//
// This is the default debug output channel, defined here for clarity.  You
// might want to redefine the output destination if it doesn’t fit with your
// local system administration plans for logging.  It is also a special
// channel that only produces output if the debug level is non-zero.
//
    channel default_debug {
        print-time yes;
        print-category yes;
        print-severity yes;
        file "named.run";
        severity dynamic;
    };
//
// Log routine stuff to syslog and default log:
//
    category default { default_syslog; default_debug; default_log; };
    category config { default_syslog; default_debug; default_log; };
    category dispatch { default_syslog; default_debug; default_log; };
    category network { default_syslog; default_debug; default_log; };
    category general { default_syslog; default_debug; default_log; };
//
// From BIND 9.12 and newer, you can direct zone load logging to another
// channel with the new zoneload logging category.  If this would be useful
// then firstly, configure the new channel, and then edit the line below
// to direct the category there instead of to syslog and default log:
//
    category zoneload { default_syslog; default_debug; default_log; };
//
// Log messages relating to what we got back from authoritative servers during
// recursion (if lame-servers and edns-disabled are obscuring other messages
// they can be sent to their own channel or to null).  Sometimes these log
// messages will be useful to research why some domains don’t resolve or
// don’t resolve reliably
//
    category resolver { auth_servers_log; default_debug; };       
    category cname { auth_servers_log; default_debug; };       
    category delegation-only { auth_servers_log; default_debug; };
    category lame-servers { auth_servers_log; default_debug; };
    category edns-disabled { auth_servers_log; default_debug; };
//
// Log problems with DNSSEC:
//
    category dnssec { dnssec_log; default_debug; };
//
// Log together all messages relating to authoritative zone propagation
//
    category notify { zone_transfers_log; default_debug; };       
    category xfer-in { zone_transfers_log; default_debug; };       
    category xfer-out { zone_transfers_log; default_debug; };
//
// Log together all messages relating to dynamic updates to DNS zone data:
//
    category update{ ddns_log; default_debug; };
    category update-security { ddns_log; default_debug; };
//
// Log together all messages relating to client access and security.
// (There is an additional category ‘unmatched’ that is by default sent to
// null but which can be added here if you want more than the one-line
// summary that is logged for failures to match a view).
//
    category client{ client_security_log; default_debug; };       
    category security { client_security_log; default_debug; };
//
// Log together all messages that are likely to be related to rate-limiting.
// This includes RRL (Response Rate Limiting) - usually deployed on authoritative
// servers and fetches-per-server|zone.  Note that it does not include
// logging of changes for clients-per-query (which are logged in category
// resolver).  Also note that there may on occasions be other log messages
// emitted by the database category that don’t relate to rate-limiting
// behaviour by named.
//
    category rate-limit { rate_limiting_log; default_debug; };       
    category spill { rate_limiting_log; default_debug; };       
    category database { rate_limiting_log; default_debug; };
//
// Log DNS-RPZ (Response Policy Zone) messages (if you are not using DNS-RPZ
// then you may want to comment out this category and associated channel)
//
//    category rpz { rpz_log; default_debug; };
//
// Log messages relating to the "dnstap" DNS traffic capture system  (if you
// are not using dnstap, then you may want to comment out this category and
// associated channel).
//
//   category dnstap { dnstap_log; default_debug; };
//
// If you are running a server (for example one of the Internet root
// nameservers) that is providing RFC 5011 trust anchor updates, then you
// may be interested in logging trust anchor telemetry reports that your
// server receives to analyze anchor propagation rates during a key rollover.
// If this would be useful then firstly, configure the new channel, and then
// un-comment and the line below to direct the category there instead of to
// syslog and default log:
//
//
    category trust-anchor-telemetry { default_syslog; default_debug; default_log; };
//
// If you have the category ‘queries’ defined, and you don’t want query logging
// by default, make sure you add option ‘querylog no;’ - then you can toggle
// query logging on (and off again) using command ‘rndc querylog’
//
    category queries { queries_log; };
//
// This logging category will only emit messages at debug levels of 1 or
// higher - it can be useful to troubleshoot problems where queries are
// resulting in a SERVFAIL response.
//
    category query-errors {query-errors_log; };
};