]> git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/dnsdistdist/docs/statistics.rst
dnsdist: add frontend response statistics
[thirdparty/pdns.git] / pdns / dnsdistdist / docs / statistics.rst
1 Statistics
2 ==========
3
4 dnsdist keeps statistics on the queries is receives and send out. They can be accessed in different ways:
5
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`)
12
13 To make sense of the statistics, the following relation should hold:
14
15 queries - noncompliant-queries
16 =
17 responses - noncompliant-responses + cache-hits + downstream-timeouts + self-answered + no-policy
18 + rule-drop
19
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.
23
24 acl-drops
25 ---------
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.
28
29 cache-hits
30 ----------
31 Number of times a response was sent using data found in the :doc:`packet cache <guides/cache>`.
32
33 cache-misses
34 ------------
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.
36
37 cpu-sys-msec
38 ------------
39 Milliseconds spent by :program:`dnsdist` in the "system" state.
40
41 cpu-user-msec
42 -------------
43 Milliseconds spent by :program:`dnsdist` in the "user" state.
44
45 downstream-send-errors
46 ----------------------
47 Number of errors when sending a query to a backend.
48
49 downstream-timeouts
50 -------------------
51 Number of queries not answer in time by a backend.
52
53 dyn-block-nmg-size
54 ------------------
55 Number of dynamic blocks entries.
56
57 dyn-blocked
58 -----------
59 Number of queries dropped because of a dynamic block.
60
61 empty-queries
62 -------------
63 Number of empty queries received from clients. Every empty-query is also
64 counted as a `query`.
65
66 fd-usage
67 --------
68 Number of currently used file descriptors.
69
70 frontend-noerror
71 ----------------
72 Number of NoError answers sent to clients.
73
74 frontend-nxdomain
75 -----------------
76 Number of NXDomain answers sent to clients.
77
78 frontend-servfail
79 -----------------
80 Number of ServFail answers sent to clients.
81
82 latency-avg100
83 --------------
84 Average response latency in microseconds of the last 100 packets
85
86 latency-avg1000
87 ---------------
88 Average response latency in microseconds of the last 1000 packets.
89
90 latency-avg10000
91 ----------------
92 Average response latency in microseconds of the last 10000 packets.
93
94 latency-avg1000000
95 ------------------
96 Average response latency in microseconds of the last 1000000 packets.
97
98 latency-slow
99 ------------
100 Number of queries answered in more than 1 second.
101
102 latency0-1
103 ----------
104 Number of queries answered in less than 1 ms.
105
106 latency1-10
107 -----------
108 Number of queries answered in 1-10 ms.
109
110 latency10-50
111 ------------
112 Number of queries answered in 10-50 ms.
113
114 latency50-100
115 -------------
116 Number of queries answered in 50-100 ms.
117
118 latency100-1000
119 ---------------
120 Number of queries answered in 100-1000 ms.
121
122 no-policy
123 ---------
124 Number of queries dropped because no server was available.
125
126 noncompliant-queries
127 --------------------
128 Number of queries dropped as non-compliant.
129
130 noncompliant-responses
131 ----------------------
132 Number of answers from a backend dropped as non-compliant.
133
134 queries
135 -------
136 Number of received queries.
137
138 rdqueries
139 ---------
140 Number of received queries with the recursion desired bit set.
141
142 real-memory-usage
143 -----------------
144 Current memory usage.
145
146 responses
147 ---------
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
150 'responses'.
151
152 rule-drop
153 ---------
154 Number of queries dropped because of a rule.
155
156 rule-nxdomain
157 -------------
158 Number of NXDomain answers returned because of a rule.
159
160 rule-refused
161 ------------
162 Number of Refused answers returned because of a rule.
163
164 rule-servfail
165 -------------
166 Number of ServFail answers returned because of a rule.
167
168 security-status
169 ---------------
170 .. versionadded:: 1.3.4
171
172 The security status of :program:`dnsdist`. This is regularly polled.
173
174 * 0 = Unknown status or unreleased version
175 * 1 = OK
176 * 2 = Upgrade recommended
177 * 3 = Upgrade required (most likely because there is a known security issue)
178
179 self-answered
180 -------------
181 Number of self-answered responses.
182
183 servfail-responses
184 ------------------
185 Number of servfail answers received from backends.
186
187 trunc-failures
188 --------------
189 Number of errors encountered while truncating an answer.
190
191 uptime
192 ------
193 Uptime of the dnsdist process, in seconds.
194