9. Statistics

The Loop nameserver maintains many statistics counters and provides an interface for administrators to access them in an XML format.

Warning

The counter symbol names may change in future major releases. Please check the release notes before upgrading.

The statistics information is categorized into the following sections.

Incoming Requests

The number of incoming DNS requests for each OPCODE.

Incoming Queries

The number of incoming queries for each RR type.

Outgoing Queries

The number of outgoing queries for each RR type sent from the internal resolver. Maintained per view.

Name Server Statistics

Statistics counters about incoming request processing.

Zone Maintenance Statistics

Statistics counters regarding zone maintenance operations such as zone transfers.

Resolver Statistics

Statistics counters about name resolution performed in the internal resolver. Maintained per view.

Cache DB RRsets

The number of RRsets per RR type and nonexistent names stored in the cache database. If the exclamation mark (!) is printed for a RR type, it means that particular type of RRset is known to be nonexistent (this is also known as "NXRRSET"). If a hash mark (#) is present then the RRset is marked for garbage collection. Maintained per view.

Socket I/O Statistics

Statistics counters about network related events.

A subset of statistics is collected and shown per-zone for which the server has the authority when zone-statistics is set to full (or yes for backward compatibility. See the description of zone-statistics in section_title for further details.

These statistics counters are shown with their zone and view names. The view name is omitted when the server is not configured with explicit views.

Statistics counters are dumped in an XML format to the file specified by the statistics-file configuration option.

9.1. XML Format

Error

TODOMUKS: Add examples of parsing the XML statistics.

9.2. Counters

The following tables summarize statistics counters that Loop provides. For each row of the tables, the leftmost column is the abbreviated symbol name of that counter. These symbols are shown in the statistics information accessed via an HTTP statistics channel. The rightmost column gives the description of the counter, which is also shown in the statistics file (but, in this document, possibly with slight modification for better readability). Additional notes may also be provided in this column.

9.3. Nameserver Counters

Symbol

Description

``Requestv4 ``

IPv4 requests received. Note: this also counts non query requests.

``Requestv6 ``

IPv6 requests received. Note: this also counts non query requests.

``ReqEdns0` `

Requests with EDNS(0) received.

ReqBadEDN SVer

Requests with unsupported EDNS version received.

ReqTSIG

Requests with TSIG received.

ReqSIG0

Requests with SIG(0) received.

``ReqBadSIG ``

Requests with invalid (TSIG or SIG(0)) signature.

ReqTCP

TCP requests received.

AuthQryRe j

Authoritative (non recursive) queries rejected.

``RecQryRej ``

Recursive queries rejected.

XfrRej

Zone transfer requests rejected.

``UpdateRej ``

Dynamic update requests rejected.

``Response` `

Responses sent.

RespTrunc ated

Truncated responses sent.

``RespEDNS0 ``

Responses with EDNS(0) sent.

``RespTSIG` `

Responses with TSIG sent.

``RespSIG0` `

Responses with SIG(0) sent.

QrySucces s

Queries resulted in a successful answer. This means the query which returns a NOERROR response with at least one answer RR.

QryAuthAn s

Queries resulted in authoritative answer.

QryNoauth Ans

Queries resulted in non authoritative answer.

QryReferr al

Queries resulted in referral answer.

QryNxrrse t

Queries resulted in NOERROR responses with no data.

QrySERVFA IL

Queries resulted in SERVFAIL.

QryFORMER R

Queries resulted in FORMERR.

QryNXDOMA IN

Queries resulted in NXDOMAIN.

QryRecurs ion

Queries which caused the server to perform recursion in order to find the final answer.

QryDuplic ate

Queries which the server attempted to recurse but discovered an existing query with the same IP address, port, query ID, name, type and class already being processed.

QryDroppe d

Recursive queries for which the server discovered an excessive number of existing recursive queries for the same name, type and class and were subsequently dropped. This is the number of dropped queries due to the reason explained with the clients-per-query and max-clients-per-query options (see the description about ` <#clients-per-query>`__.)

QryFailur e

Other query failures. This corresponds

Note: this counter is provided mainly for backward compatibility with the previous versions. Normally a more fine-grained counters such as AuthQryRej and RecQryRej that would also fall into this counter are provided, and so this counter would not be of much interest in practice.

XfrReqDon e

Requested zone transfers completed.

UpdateReq Fwd

Update requests forwarded.

UpdateRes pFwd

Update responses forwarded.

UpdateFwd Fail

Dynamic update forward failed.

UpdateDon e

Dynamic updates completed.

UpdateFai l

Dynamic updates failed.

UpdateBad Prereq

Dynamic updates rejected due to prerequisite failure.

RateDropp ed

Responses dropped by rate limits.

RateSlipp ed

Responses truncated by rate limits.

RPZRewrit es

Response policy zone rewrites.

9.4. Zone Maintenance Counters

The following are statistics counters related to zone maintenance operations such as zone transfers.

Symbol

Description

NotifyOutv4

IPv4 notifies sent.

NotifyOutv6

IPv6 notifies sent.

NotifyInv4

IPv4 notifies received.

NotifyInv6

IPv6 notifies received.

NotifyRej

Incoming notifies rejected.

SOAOutv4

IPv4 SOA queries sent.

SOAOutv6

IPv6 SOA queries sent.

AXFRReqv4

IPv4 AXFR requested.

AXFRReqv6

IPv6 AXFR requested.

IXFRReqv4

IPv4 IXFR requested.

IXFRReqv6

IPv6 IXFR requested.

XfrSuccess

Zone transfer requests succeeded.

XfrFail

Zone transfer requests failed.

9.5. Resolver Counters

The following are statistics counters related to query resolution performed in the internal resolver. They are maintained per-view.

Symbol

Description

Queryv4

IPv4 queries sent.

Queryv6

IPv6 queries sent.

Responsev 4

IPv4 responses received.

Responsev 6

IPv6 responses received.

``NXDOMAIN` `

NXDOMAIN received.

``SERVFAIL` `

SERVFAIL received.

FORMERR

FORMERR received.

OtherErro r

Other errors received.

``EDNS0Fail ``

EDNS(0) query failures.

``Mismatch` `

Mismatch responses received. The DNS ID, response's source address, and/or the response's source port does not match what was expected. (The port must be 53 or as defined by the port option.) This may be an indication of a cache poisoning attempt.

``Truncated ``

Truncated responses received.

Lame

Lame delegations received.

Retry

Query retries performed.

QueryAbor t

Queries aborted due to quota control.

QuerySock Fail

Failures in opening query sockets. One common reason for such failures is a failure of opening a new socket due to a limitation on file descriptors.

QueryTime out

Query timeouts.

GlueFetch v4

IPv4 NS address fetches invoked.

GlueFetch v6

IPv6 NS address fetches invoked.

GlueFetch v4Fail

IPv4 NS address fetch failed.

GlueFetch v6Fail

IPv6 NS address fetch failed.

ValAttemp t

DNSSEC validation attempted.

ValOk

DNSSEC validation succeeded.

``ValNegOk` `

DNSSEC validation on negative information succeeded.

ValFail

DNSSEC validation failed.

``QryRTTnn` `

Frequency table on round trip times (RTTs) of queries. Each nn specifies the corresponding frequency. In the sequence of nn_1, nn_2, ..., nn_m, the value of nn_i is the number of queries whose RTTs are between nn_(i-1) (inclusive) and nn_i (exclusive) milliseconds. For the sake of convenience we define nn_0 to be 0. The last entry should be represented as nn_m+, which means the number of queries whose RTTs are equal to or over nn_m milliseconds.

9.6. Socket I/O Counters

The following are statistics counters related to network events.

Symbol

Description

UDP4Open

IPv4 UDP sockets opened successfully

UDP6Open

IPv6 UDP sockets opened successfully

TCP4Open

IPv4 TCP sockets opened successfully

TCP6Open

IPv6 TCP sockets opened successfully

RawOpen

Raw sockets opened successfully

UDP4OpenFail

Failures in opening IPv4 UDP sockets

UDP6OpenFail

Failures in opening IPv6 UDP sockets

TCP4OpenFail

Failures in opening IPv4 TCP sockets

TCP6OpenFail

Failures in opening IPv6 TCP sockets

RawOpenFail

Failures in opening raw sockets

UDP4Close

IPv4 UDP sockets closed

UDP6Close

IPv6 UDP sockets closed

TCP4Close

IPv4 TCP sockets closed

TCP6Close

IPv6 TCP sockets closed

RawClose

Raw sockets closed

UDP4BindFail

Failures in binding IPv4 UDP sockets

UDP6BindFail

Failures in binding IPv6 UDP sockets

TCP4BindFail

Failures in binding IPv4 TCP sockets

TCP6BindFail

Failures in binding IPv6 TCP sockets

UDP4ConnFail

Failures in connecting IPv4 UDP sockets

UDP6ConnFail

Failures in connecting IPv6 UDP sockets

TCP4ConnFail

Failures in connecting IPv4 TCP sockets

TCP6ConnFail

Failures in connecting IPv6 TCP sockets

UDP4Conn

IPv4 UDP connections established successfully

UDP6Conn

IPv6 UDP connections established successfully

TCP4Conn

IPv4 TCP connections established successfully

TCP6Conn

IPv6 TCP connections established successfully

TCP4AcceptFail

Failures in accepting incoming IPv4 TCP connection requests

TCP6AcceptFail

Failures in accepting incoming IPv6 TCP connection requests

TCP4Accept

Incoming IPv4 TCP connections successfully accepted

TCP6Accept

Incoming IPv6 TCP connections successfully accepted

UDP4SendErr

Errors in IPv4 UDP socket send operations

UDP6SendErr

Errors in IPv6 UDP socket send operations

TCP4SendErr

Errors in IPv4 TCP socket send operations

TCP6SendErr

Errors in IPv6 TCP socket send operations

UDP4RecvErr

Errors in IPv4 UDP socket receive operations. It includes errors of send operations on a connected UDP socket notified by an ICMP error message.

UDP6RecvErr

Errors in IPv6 UDP socket receive operations. It includes errors of send operations on a connected UDP socket notified by an ICMP error message.

TCP4RecvErr

Errors in IPv4 TCP socket receive operations

TCP6RecvErr

Errors in IPv6 TCP socket receive operations

RawRecvErr

Errors in raw socket receive operations

UDP4Active

IPv4 UDP sockets currently active

UDP6Active

IPv6 UDP sockets currently active

TCP4Active

IPv4 TCP sockets currently active

TCP6Active

IPv6 TCP sockets currently active

RawActive

Raw sockets currently active