master
go 151 lines 4.57 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package dnsdist
4
5 import "github.com/netdata/netdata/go/plugins/plugin/framework/collectorapi"
6
7 var charts = collectorapi.Charts{
8 {
9 ID: "queries",
10 Title: "Client queries received",
11 Units: "queries/s",
12 Fam: "queries",
13 Ctx: "dnsdist.queries",
14 Dims: collectorapi.Dims{
15 {ID: "queries", Name: "all", Algo: collectorapi.Incremental},
16 {ID: "rdqueries", Name: "recursive", Algo: collectorapi.Incremental},
17 {ID: "empty-queries", Name: "empty", Algo: collectorapi.Incremental},
18 },
19 },
20 {
21 ID: "queries_dropped",
22 Title: "Client queries dropped",
23 Units: "queries/s",
24 Fam: "queries",
25 Ctx: "dnsdist.queries_dropped",
26 Dims: collectorapi.Dims{
27 {ID: "rule-drop", Name: "rule drop", Algo: collectorapi.Incremental},
28 {ID: "dyn-blocked", Name: "dynamic blocked", Algo: collectorapi.Incremental},
29 {ID: "no-policy", Name: "no policy", Algo: collectorapi.Incremental},
30 {ID: "noncompliant-queries", Name: "non queries", Algo: collectorapi.Incremental},
31 },
32 },
33 {
34 ID: "packets_dropped",
35 Title: "Packets dropped",
36 Units: "packets/s",
37 Fam: "packets",
38 Ctx: "dnsdist.packets_dropped",
39 Dims: collectorapi.Dims{
40 {ID: "acl-drops", Name: "acl", Algo: collectorapi.Incremental},
41 },
42 },
43 {
44 ID: "answers",
45 Title: "Answers statistics",
46 Units: "answers/s",
47 Fam: "answers",
48 Ctx: "dnsdist.answers",
49 Dims: collectorapi.Dims{
50 {ID: "self-answered", Name: "self answered", Algo: collectorapi.Incremental},
51 {ID: "rule-nxdomain", Name: "nxdomain", Algo: collectorapi.Incremental, Mul: -1},
52 {ID: "rule-refused", Name: "refused", Algo: collectorapi.Incremental, Mul: -1},
53 {ID: "trunc-failures", Name: "trunc failures", Algo: collectorapi.Incremental, Mul: -1},
54 },
55 },
56 {
57 ID: "backend_responses",
58 Title: "Backend responses",
59 Units: "responses/s",
60 Fam: "backends",
61 Ctx: "dnsdist.backend_responses",
62 Dims: collectorapi.Dims{
63 {ID: "responses", Name: "responses", Algo: collectorapi.Incremental},
64 },
65 },
66 {
67 ID: "backend_commerrors",
68 Title: "Backend communication errors",
69 Units: "errors/s",
70 Fam: "backends",
71 Ctx: "dnsdist.backend_commerrors",
72 Dims: collectorapi.Dims{
73 {ID: "downstream-send-errors", Name: "send errors", Algo: collectorapi.Incremental},
74 },
75 },
76 {
77 ID: "backend_errors",
78 Title: "Backend error responses",
79 Units: "responses/s",
80 Fam: "backends",
81 Ctx: "dnsdist.backend_errors",
82 Dims: collectorapi.Dims{
83 {ID: "downstream-timeouts", Name: "timeouts", Algo: collectorapi.Incremental},
84 {ID: "servfail-responses", Name: "servfail", Algo: collectorapi.Incremental},
85 {ID: "noncompliant-responses", Name: "non compliant", Algo: collectorapi.Incremental},
86 },
87 },
88 {
89 ID: "cache",
90 Title: "Cache performance",
91 Units: "answers/s",
92 Fam: "cache",
93 Ctx: "dnsdist.cache",
94 Dims: collectorapi.Dims{
95 {ID: "cache-hits", Name: "hits", Algo: collectorapi.Incremental},
96 {ID: "cache-misses", Name: "misses", Algo: collectorapi.Incremental, Mul: -1},
97 },
98 },
99 {
100 ID: "servercpu",
101 Title: "DNSdist server CPU utilization",
102 Units: "ms/s",
103 Fam: "server",
104 Ctx: "dnsdist.servercpu",
105 Type: collectorapi.Stacked,
106 Dims: collectorapi.Dims{
107 {ID: "cpu-sys-msec", Name: "system state", Algo: collectorapi.Incremental},
108 {ID: "cpu-user-msec", Name: "user state", Algo: collectorapi.Incremental},
109 },
110 },
111 {
112 ID: "servermem",
113 Title: "DNSdist server memory utilization",
114 Units: "MiB",
115 Fam: "server",
116 Ctx: "dnsdist.servermem",
117 Type: collectorapi.Area,
118 Dims: collectorapi.Dims{
119 {ID: "real-memory-usage", Name: "memory usage", Div: 1 << 20},
120 },
121 },
122 {
123 ID: "query_latency",
124 Title: "Query latency",
125 Units: "queries/s",
126 Fam: "latency",
127 Ctx: "dnsdist.query_latency",
128 Type: collectorapi.Stacked,
129 Dims: collectorapi.Dims{
130 {ID: "latency0-1", Name: "1ms", Algo: collectorapi.Incremental},
131 {ID: "latency1-10", Name: "10ms", Algo: collectorapi.Incremental},
132 {ID: "latency10-50", Name: "50ms", Algo: collectorapi.Incremental},
133 {ID: "latency50-100", Name: "100ms", Algo: collectorapi.Incremental},
134 {ID: "latency100-1000", Name: "1sec", Algo: collectorapi.Incremental},
135 {ID: "latency-slow", Name: "slow", Algo: collectorapi.Incremental},
136 },
137 },
138 {
139 ID: "query_latency_avg",
140 Title: "Average latency for the last N queries",
141 Units: "microseconds",
142 Fam: "latency",
143 Ctx: "dnsdist.query_latency_avg",
144 Dims: collectorapi.Dims{
145 {ID: "latency-avg100", Name: "100"},
146 {ID: "latency-avg1000", Name: "1k"},
147 {ID: "latency-avg10000", Name: "10k"},
148 {ID: "latency-avg1000000", Name: "1000k"},
149 },
150 },
151 }