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 .. versionadded:: 1.5.0
41 Time spent waiting for I/O to complete by the whole system.
45 .. versionadded:: 1.5.0
47 Stolen time, which is the time spent by the whole system in other operating systems when running in a virtualized environment.
51 Milliseconds spent by :program:`dnsdist` in the "system" state.
55 Milliseconds spent by :program:`dnsdist` in the "user" state.
57 downstream-send-errors
58 ----------------------
59 Number of errors when sending a query to a backend.
63 Number of queries not answer in time by a backend.
67 Number of dynamic blocks entries.
71 Number of queries dropped because of a dynamic block.
75 Number of empty queries received from clients. Every empty-query is also
80 Number of currently used file descriptors.
84 Number of NoError answers sent to clients.
88 Number of NXDomain answers sent to clients.
92 Number of ServFail answers sent to clients.
96 Average response latency in microseconds of the last 100 packets
100 Average response latency in microseconds of the last 1000 packets.
104 Average response latency in microseconds of the last 10000 packets.
108 Average response latency in microseconds of the last 1000000 packets.
112 Number of queries answered in more than 1 second.
116 Total response time of all queries combined in milliseconds since the start of dnsdist. Can be used to calculate the
117 average response time over all queries.
121 Number of queries contributing to response time histogram
125 Number of queries contributing to response time histogram per latency bucket
129 Number of queries answered in less than 1 ms.
133 Number of queries answered in 1-10 ms.
137 Number of queries answered in 10-50 ms.
141 Number of queries answered in 50-100 ms.
145 Number of queries answered in 100-1000 ms.
149 Number of queries dropped because no server was available.
153 Number of queries dropped as non-compliant.
155 noncompliant-responses
156 ----------------------
157 Number of answers from a backend dropped as non-compliant.
161 Number of received queries.
165 Number of received queries with the recursion desired bit set.
169 Current memory usage.
173 Number of responses received from backends. Note! This is not the number of
174 responses sent to clients. To get that number, add 'cache-hits' and
179 Number of queries dropped because of a rule.
183 Number of NXDomain answers returned because of a rule.
187 Number of Refused answers returned because of a rule.
191 Number of ServFail answers returned because of a rule.
195 .. versionadded:: 1.3.4
197 The security status of :program:`dnsdist`. This is regularly polled.
199 * 0 = Unknown status or unreleased version
201 * 2 = Upgrade recommended
202 * 3 = Upgrade required (most likely because there is a known security issue)
206 Number of self-answered responses.
210 Number of servfail answers received from backends.
214 Number of errors encountered while truncating an answer.
218 .. versionadded:: 1.5.0
220 From /proc/net/snmp InErrors.
224 .. versionadded:: 1.5.0
226 From /proc/net/snmp NoPorts.
230 .. versionadded:: 1.5.0
232 From /proc/net/snmp RcvbufErrors.
236 .. versionadded:: 1.5.0
238 From /proc/net/snmp SndbufErrors.
242 Uptime of the dnsdist process, in seconds.