I l@ve RuBoard Previous Section Next Section

5.15 Measuring Queries for Records in Particular Zones

5.15.1 Problem

You want to measure the number of queries a name server receives for records in zones it is authoritative for.

5.15.2 Solution

Use the BIND 9 zone-statistics substatement. To measure the statistics for just a few zones, use zone-statistics as a zone substatement. For example:

zone "foo.example" {
    type slave;
    masters {; };
    file "bak.foo.example";
    zone-statistics yes;

To keep statistics for all zones, use zone-statistics as an options substatement:

options {
    directory "/var/named";
    zone-statistics yes;

Then, to dump the zone's statistics, use rndc stats. The statistics are written to the file named.stats in the name server's working directory, by default. Here's a short sample of a named.stats file:

+++ Statistics Dump +++ (1020821387)
success 37
referral 0
nxrrset 60
nxdomain 9
recursion 12
failure 6
success 6 foo.example
referral 0 foo.example
nxrrset 3 foo.example
nxdomain 1 foo.example
recursion 0 foo.example
failure 0 foo.example
--- Statistics Dump --- (1020821387)

The first six counters are global: total counts for the name server since it started. The next six are specific to the foo.example zone. The sum of the zone-specific values for success, nxrrset, and nxdomain is the total number of queries for records in the zone. (nxrrset is a count of queries for types of records that didn't exist, while nxdomain counts queries for domain names that didn't exist).

5.15.3 Discussion

There's no mechanism comparable to zone-statistics in BIND 8. While you could turn on query logging and extrapolate the same statistics, the overhead would be considerable.

Speaking of overhead, the zone statistics mechanism does use a little extra memory on the name server to store the counters.

5.15.4 See Also

Section 5.13 for information on query logging, which can tell you who is querying a name server; and Section 5.14, for measuring aggregate performance.

    I l@ve RuBoard Previous Section Next Section