4 dnsdist keeps statistics on the queries is receives and send out. They can be accessed in different ways:
6 - via the console (see :ref:`Console`), using :func:`dumpStats` for the general ones,
7 :func:`showServers()` for the ones related to the backends, :func:`showBinds()` for the frontends,
8 `getPool("pool name"):getCache():printStats()` for the ones related to a specific cache and so on
9 - via the internal webserver (see :doc:`../guides/webserver`)
10 - via Carbon / Graphite / Metronome export (see :doc:`../guides/carbon`)
11 - via SNMP (see :doc:`../advanced/snmp`)
13 To make sense of the statistics, the following relation should hold:
15 queries - noncompliant-queries
17 responses - noncompliant-responses + cache-hits + downstream-timeouts + self-answered + no-policy
20 Note that packets dropped by eBPF (see :doc:`../advanced/ebpf`) are
21 accounted for in the eBPF statistics, and do not show up in the metrics
22 described on this page.
26 The number of packets (or TCP messages) dropped because of the :doc:`ACL <advanced/acl>`.
27 If a packet or message is dropped, it is not counted in the `queries` statistic.
31 Number of times a response was sent using data found in the :doc:`packet cache <guides/cache>`.
35 Number of times an answer was not found in the :doc:`packet cache <guides/cache>`. Only counted if a packet cache was setup for the selected pool.
39 Milliseconds spent by :program:`dnsdist` in the "system" state.
43 Milliseconds spent by :program:`dnsdist` in the "user" state.
45 downstream-send-errors
46 ----------------------
47 Number of errors when sending a query to a backend.
51 Number of queries not answer in time by a backend.
55 Number of dynamic blocks entries.
59 Number of queries dropped because of a dynamic block.
63 Number of empty queries received from clients. Every empty-query is also
68 Number of currently used file descriptors.
72 Number of NoError answers sent to clients.
76 Number of NXDomain answers sent to clients.
80 Number of ServFail answers sent to clients.
84 Average response latency in microseconds of the last 100 packets
88 Average response latency in microseconds of the last 1000 packets.
92 Average response latency in microseconds of the last 10000 packets.
96 Average response latency in microseconds of the last 1000000 packets.
100 Number of queries answered in more than 1 second.
104 Number of queries answered in less than 1 ms.
108 Number of queries answered in 1-10 ms.
112 Number of queries answered in 10-50 ms.
116 Number of queries answered in 50-100 ms.
120 Number of queries answered in 100-1000 ms.
124 Number of queries dropped because no server was available.
128 Number of queries dropped as non-compliant.
130 noncompliant-responses
131 ----------------------
132 Number of answers from a backend dropped as non-compliant.
136 Number of received queries.
140 Number of received queries with the recursion desired bit set.
144 Current memory usage.
148 Number of responses received from backends. Note! This is not the number of
149 responses sent to clients. To get that number, add 'cache-hits' and
154 Number of queries dropped because of a rule.
158 Number of NXDomain answers returned because of a rule.
162 Number of Refused answers returned because of a rule.
166 Number of ServFail answers returned because of a rule.
170 .. versionadded:: 1.3.4
172 The security status of :program:`dnsdist`. This is regularly polled.
174 * 0 = Unknown status or unreleased version
176 * 2 = Upgrade recommended
177 * 3 = Upgrade required (most likely because there is a known security issue)
181 Number of self-answered responses.
185 Number of servfail answers received from backends.
189 Number of errors encountered while truncating an answer.
193 Uptime of the dnsdist process, in seconds.