github.com/netdata/go.d.plugin@v0.58.1/modules/coredns/charts.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package coredns 4 5 import "github.com/netdata/go.d.plugin/agent/module" 6 7 type ( 8 // Charts is an alias for module.Charts 9 Charts = module.Charts 10 // Chart is an alias for module.Chart 11 Chart = module.Chart 12 // Dims is an alias for module.Dims 13 Dims = module.Dims 14 // Dim is an alias for module.Dim 15 Dim = module.Dim 16 ) 17 18 var summaryCharts = Charts{ 19 { 20 ID: "dns_request_count_total", 21 Title: "Number Of DNS Requests", 22 Units: "requests/s", 23 Fam: "summary", 24 Ctx: "coredns.dns_request_count_total", 25 Dims: Dims{ 26 {ID: "request_total", Name: "requests", Algo: module.Incremental}, 27 }, 28 }, 29 { 30 ID: "dns_responses_count_total", 31 Title: "Number Of DNS Responses", 32 Units: "responses/s", 33 Fam: "summary", 34 Ctx: "coredns.dns_responses_count_total", 35 Dims: Dims{ 36 {ID: "response_total", Name: "responses", Algo: module.Incremental}, 37 }, 38 }, 39 { 40 ID: "dns_request_count_total_per_status", 41 Title: "Number Of Processed And Dropped DNS Requests", 42 Units: "requests/s", 43 Fam: "summary", 44 Ctx: "coredns.dns_request_count_total_per_status", 45 Type: module.Stacked, 46 Dims: Dims{ 47 {ID: "request_per_status_processed", Name: "processed", Algo: module.Incremental}, 48 {ID: "request_per_status_dropped", Name: "dropped", Algo: module.Incremental}, 49 }, 50 }, 51 { 52 ID: "dns_no_matching_zone_dropped_total", 53 Title: "Number Of Dropped DNS Requests Because Of No Matching Zone", 54 Units: "requests/s", 55 Fam: "summary", 56 Ctx: "coredns.dns_no_matching_zone_dropped_total", 57 Dims: Dims{ 58 {ID: "no_matching_zone_dropped_total", Name: "dropped", Algo: module.Incremental}, 59 }, 60 }, 61 { 62 ID: "dns_panic_count_total", 63 Title: "Number Of Panics", 64 Units: "panics/s", 65 Fam: "summary", 66 Ctx: "coredns.dns_panic_count_total", 67 Dims: Dims{ 68 {ID: "panic_total", Name: "panics", Algo: module.Incremental}, 69 }, 70 }, 71 { 72 ID: "dns_requests_count_total_per_proto", 73 Title: "Number Of DNS Requests Per Transport Protocol", 74 Units: "requests/s", 75 Fam: "summary", 76 Ctx: "coredns.dns_requests_count_total_per_proto", 77 Type: module.Stacked, 78 Dims: Dims{ 79 {ID: "request_per_proto_udp", Name: "udp", Algo: module.Incremental}, 80 {ID: "request_per_proto_tcp", Name: "tcp", Algo: module.Incremental}, 81 }, 82 }, 83 { 84 ID: "dns_requests_count_total_per_ip_family", 85 Title: "Number Of DNS Requests Per IP Family", 86 Units: "requests/s", 87 Fam: "summary", 88 Ctx: "coredns.dns_requests_count_total_per_ip_family", 89 Type: module.Stacked, 90 Dims: Dims{ 91 {ID: "request_per_ip_family_v4", Name: "v4", Algo: module.Incremental}, 92 {ID: "request_per_ip_family_v6", Name: "v6", Algo: module.Incremental}, 93 }, 94 }, 95 //{ 96 // ID: "dns_requests_duration_seconds", 97 // Title: "Number Of DNS Requests Per Bucket", 98 // Units: "requests/s", 99 // Fam: "summary", 100 // Ctx: "coredns.dns_requests_duration_seconds", 101 // Type: module.Stacked, 102 // Dims: Dims{ 103 // {ID: "request_duration_seconds_bucket_0.00025", Name: "0.00025s", Algo: module.Incremental}, 104 // {ID: "request_duration_seconds_bucket_0.0005", Name: "0.0005s", Algo: module.Incremental}, 105 // {ID: "request_duration_seconds_bucket_0.001", Name: "0.001s", Algo: module.Incremental}, 106 // {ID: "request_duration_seconds_bucket_0.002", Name: "0.002s", Algo: module.Incremental}, 107 // {ID: "request_duration_seconds_bucket_0.004", Name: "0.004s", Algo: module.Incremental}, 108 // {ID: "request_duration_seconds_bucket_0.008", Name: "0.008s", Algo: module.Incremental}, 109 // {ID: "request_duration_seconds_bucket_0.016", Name: "0.016s", Algo: module.Incremental}, 110 // {ID: "request_duration_seconds_bucket_0.032", Name: "0.032s", Algo: module.Incremental}, 111 // {ID: "request_duration_seconds_bucket_0.064", Name: "0.064s", Algo: module.Incremental}, 112 // {ID: "request_duration_seconds_bucket_0.128", Name: "0.128s", Algo: module.Incremental}, 113 // {ID: "request_duration_seconds_bucket_0.256", Name: "0.256s", Algo: module.Incremental}, 114 // {ID: "request_duration_seconds_bucket_0.512", Name: "0.512s", Algo: module.Incremental}, 115 // {ID: "request_duration_seconds_bucket_1.024", Name: "1.024s", Algo: module.Incremental}, 116 // {ID: "request_duration_seconds_bucket_2.048", Name: "2.048s", Algo: module.Incremental}, 117 // {ID: "request_duration_seconds_bucket_4.096", Name: "4.096s", Algo: module.Incremental}, 118 // {ID: "request_duration_seconds_bucket_8.192", Name: "8.192s", Algo: module.Incremental}, 119 // {ID: "request_duration_seconds_bucket_+Inf", Name: "+Inf", Algo: module.Incremental}, 120 // }, 121 //}, 122 { 123 ID: "dns_requests_count_total_per_type", 124 Title: "Number Of DNS Requests Per Type", 125 Units: "requests/s", 126 Fam: "summary", 127 Ctx: "coredns.dns_requests_count_total_per_per_type", 128 Type: module.Stacked, 129 Dims: Dims{ 130 {ID: "request_per_type_A", Name: "A", Algo: module.Incremental}, 131 {ID: "request_per_type_AAAA", Name: "AAAA", Algo: module.Incremental}, 132 {ID: "request_per_type_MX", Name: "MX", Algo: module.Incremental}, 133 {ID: "request_per_type_SOA", Name: "SOA", Algo: module.Incremental}, 134 {ID: "request_per_type_CNAME", Name: "CNAME", Algo: module.Incremental}, 135 {ID: "request_per_type_PTR", Name: "PTR", Algo: module.Incremental}, 136 {ID: "request_per_type_TXT", Name: "TXT", Algo: module.Incremental}, 137 {ID: "request_per_type_NS", Name: "NS", Algo: module.Incremental}, 138 {ID: "request_per_type_DS", Name: "DS", Algo: module.Incremental}, 139 {ID: "request_per_type_DNSKEY", Name: "DNSKEY", Algo: module.Incremental}, 140 {ID: "request_per_type_RRSIG", Name: "RRSIG", Algo: module.Incremental}, 141 {ID: "request_per_type_NSEC", Name: "NSEC", Algo: module.Incremental}, 142 {ID: "request_per_type_NSEC3", Name: "NSEC3", Algo: module.Incremental}, 143 {ID: "request_per_type_IXFR", Name: "IXFR", Algo: module.Incremental}, 144 {ID: "request_per_type_ANY", Name: "ANY", Algo: module.Incremental}, 145 {ID: "request_per_type_other", Name: "other", Algo: module.Incremental}, 146 }, 147 }, 148 { 149 ID: "dns_responses_count_total_per_rcode", 150 Title: "Number Of DNS Responses Per Rcode", 151 Units: "responses/s", 152 Fam: "summary", 153 Ctx: "coredns.dns_responses_count_total_per_rcode", 154 Type: module.Stacked, 155 Dims: Dims{ 156 {ID: "response_per_rcode_NOERROR", Name: "NOERROR", Algo: module.Incremental}, 157 {ID: "response_per_rcode_FORMERR", Name: "FORMERR", Algo: module.Incremental}, 158 {ID: "response_per_rcode_SERVFAIL", Name: "SERVFAIL", Algo: module.Incremental}, 159 {ID: "response_per_rcode_NXDOMAIN", Name: "NXDOMAIN", Algo: module.Incremental}, 160 {ID: "response_per_rcode_NOTIMP", Name: "NOTIMP", Algo: module.Incremental}, 161 {ID: "response_per_rcode_REFUSED", Name: "REFUSED", Algo: module.Incremental}, 162 {ID: "response_per_rcode_YXDOMAIN", Name: "YXDOMAIN", Algo: module.Incremental}, 163 {ID: "response_per_rcode_YXRRSET", Name: "YXRRSET", Algo: module.Incremental}, 164 {ID: "response_per_rcode_NXRRSET", Name: "NXRRSET", Algo: module.Incremental}, 165 {ID: "response_per_rcode_NOTAUTH", Name: "NOTAUTH", Algo: module.Incremental}, 166 {ID: "response_per_rcode_NOTZONE", Name: "NOTZONE", Algo: module.Incremental}, 167 {ID: "response_per_rcode_BADSIG", Name: "BADSIG", Algo: module.Incremental}, 168 {ID: "response_per_rcode_BADKEY", Name: "BADKEY", Algo: module.Incremental}, 169 {ID: "response_per_rcode_BADTIME", Name: "BADTIME", Algo: module.Incremental}, 170 {ID: "response_per_rcode_BADMODE", Name: "BADMODE", Algo: module.Incremental}, 171 {ID: "response_per_rcode_BADNAME", Name: "BADNAME", Algo: module.Incremental}, 172 {ID: "response_per_rcode_BADALG", Name: "BADALG", Algo: module.Incremental}, 173 {ID: "response_per_rcode_BADTRUNC", Name: "BADTRUNC", Algo: module.Incremental}, 174 {ID: "response_per_rcode_BADCOOKIE", Name: "BADCOOKIE", Algo: module.Incremental}, 175 {ID: "response_per_rcode_other", Name: "other", Algo: module.Incremental}, 176 }, 177 }, 178 } 179 180 var serverCharts = Charts{ 181 { 182 ID: "per_%s_%s_dns_request_count_total", 183 Title: "Number Of DNS Requests, %s %s", 184 Units: "requests/s", 185 Fam: "%s %s", 186 Ctx: "coredns.server_dns_request_count_total", 187 Dims: Dims{ 188 {ID: "%s_request_total", Name: "requests", Algo: module.Incremental}, 189 }, 190 }, 191 { 192 ID: "per_%s_%s_dns_responses_count_total", 193 Title: "Number Of DNS Responses, %s %s", 194 Units: "responses/s", 195 Fam: "%s %s", 196 Ctx: "coredns.server_dns_responses_count_total", 197 Dims: Dims{ 198 {ID: "%s_response_total", Name: "responses", Algo: module.Incremental}, 199 }, 200 }, 201 { 202 ID: "per_%s_%s_dns_request_count_total_per_status", 203 Title: "Number Of Processed And Dropped DNS Requests, %s %s", 204 Units: "requests/s", 205 Fam: "%s %s", 206 Ctx: "coredns.server_dns_request_count_total_per_status", 207 Type: module.Stacked, 208 Dims: Dims{ 209 {ID: "%s_request_per_status_processed", Name: "processed", Algo: module.Incremental}, 210 {ID: "%s_request_per_status_dropped", Name: "dropped", Algo: module.Incremental}, 211 }, 212 }, 213 { 214 ID: "per_%s_%s_dns_requests_count_total_per_proto", 215 Title: "Number Of DNS Requests Per Transport Protocol, %s %s", 216 Units: "requests/s", 217 Fam: "%s %s", 218 Ctx: "coredns.server_dns_requests_count_total_per_proto", 219 Type: module.Stacked, 220 Dims: Dims{ 221 {ID: "%s_request_per_proto_udp", Name: "udp", Algo: module.Incremental}, 222 {ID: "%s_request_per_proto_tcp", Name: "tcp", Algo: module.Incremental}, 223 }, 224 }, 225 { 226 ID: "per_%s_%s_dns_requests_count_total_per_ip_family", 227 Title: "Number Of DNS Requests Per IP Family, %s %s", 228 Units: "requests/s", 229 Fam: "%s %s", 230 Ctx: "coredns.server_dns_requests_count_total_per_ip_family", 231 Type: module.Stacked, 232 Dims: Dims{ 233 {ID: "%s_request_per_ip_family_v4", Name: "v4", Algo: module.Incremental}, 234 {ID: "%s_request_per_ip_family_v6", Name: "v6", Algo: module.Incremental}, 235 }, 236 }, 237 //{ 238 // ID: "per_%s_%s_dns_requests_duration_seconds", 239 // Title: "Number Of DNS Requests Per Bucket, %s %s", 240 // Units: "requests/s", 241 // Fam: "%s %s", 242 // Ctx: "coredns.server_dns_requests_duration_seconds", 243 // Type: module.Stacked, 244 // Dims: Dims{ 245 // {ID: "%s_request_duration_seconds_bucket_0.00025", Name: "0.00025s", Algo: module.Incremental}, 246 // {ID: "%s_request_duration_seconds_bucket_0.0005", Name: "0.0005s", Algo: module.Incremental}, 247 // {ID: "%s_request_duration_seconds_bucket_0.001", Name: "0.001s", Algo: module.Incremental}, 248 // {ID: "%s_request_duration_seconds_bucket_0.002", Name: "0.002s", Algo: module.Incremental}, 249 // {ID: "%s_request_duration_seconds_bucket_0.004", Name: "0.004s", Algo: module.Incremental}, 250 // {ID: "%s_request_duration_seconds_bucket_0.008", Name: "0.008s", Algo: module.Incremental}, 251 // {ID: "%s_request_duration_seconds_bucket_0.016", Name: "0.016s", Algo: module.Incremental}, 252 // {ID: "%s_request_duration_seconds_bucket_0.032", Name: "0.032s", Algo: module.Incremental}, 253 // {ID: "%s_request_duration_seconds_bucket_0.064", Name: "0.064s", Algo: module.Incremental}, 254 // {ID: "%s_request_duration_seconds_bucket_0.128", Name: "0.128s", Algo: module.Incremental}, 255 // {ID: "%s_request_duration_seconds_bucket_0.256", Name: "0.256s", Algo: module.Incremental}, 256 // {ID: "%s_request_duration_seconds_bucket_0.512", Name: "0.512s", Algo: module.Incremental}, 257 // {ID: "%s_request_duration_seconds_bucket_1.024", Name: "1.024s", Algo: module.Incremental}, 258 // {ID: "%s_request_duration_seconds_bucket_2.048", Name: "2.048s", Algo: module.Incremental}, 259 // {ID: "%s_request_duration_seconds_bucket_4.096", Name: "4.096s", Algo: module.Incremental}, 260 // {ID: "%s_request_duration_seconds_bucket_8.192", Name: "8.192s", Algo: module.Incremental}, 261 // {ID: "%s_request_duration_seconds_bucket_+Inf", Name: "+Inf", Algo: module.Incremental}, 262 // }, 263 //}, 264 { 265 ID: "per_%s_%s_dns_requests_count_total_per_type", 266 Title: "Number Of DNS Requests Per Type, %s %s", 267 Units: "requests/s", 268 Fam: "%s %s", 269 Ctx: "coredns.server_dns_requests_count_total_per_per_type", 270 Type: module.Stacked, 271 Dims: Dims{ 272 {ID: "%s_request_per_type_A", Name: "A", Algo: module.Incremental}, 273 {ID: "%s_request_per_type_AAAA", Name: "AAAA", Algo: module.Incremental}, 274 {ID: "%s_request_per_type_MX", Name: "MX", Algo: module.Incremental}, 275 {ID: "%s_request_per_type_SOA", Name: "SOA", Algo: module.Incremental}, 276 {ID: "%s_request_per_type_CNAME", Name: "CNAME", Algo: module.Incremental}, 277 {ID: "%s_request_per_type_PTR", Name: "PTR", Algo: module.Incremental}, 278 {ID: "%s_request_per_type_TXT", Name: "TXT", Algo: module.Incremental}, 279 {ID: "%s_request_per_type_NS", Name: "NS", Algo: module.Incremental}, 280 {ID: "%s_request_per_type_DS", Name: "DS", Algo: module.Incremental}, 281 {ID: "%s_request_per_type_DNSKEY", Name: "DNSKEY", Algo: module.Incremental}, 282 {ID: "%s_request_per_type_RRSIG", Name: "RRSIG", Algo: module.Incremental}, 283 {ID: "%s_request_per_type_NSEC", Name: "NSEC", Algo: module.Incremental}, 284 {ID: "%s_request_per_type_NSEC3", Name: "NSEC3", Algo: module.Incremental}, 285 {ID: "%s_request_per_type_IXFR", Name: "IXFR", Algo: module.Incremental}, 286 {ID: "%s_request_per_type_ANY", Name: "ANY", Algo: module.Incremental}, 287 {ID: "%s_request_per_type_other", Name: "other", Algo: module.Incremental}, 288 }, 289 }, 290 { 291 ID: "per_%s_%s_dns_responses_count_total_per_rcode", 292 Title: "Number Of DNS Responses Per Rcode, %s %s", 293 Units: "responses/s", 294 Fam: "%s %s", 295 Ctx: "coredns.server_dns_responses_count_total_per_rcode", 296 Type: module.Stacked, 297 Dims: Dims{ 298 {ID: "%s_response_per_rcode_NOERROR", Name: "NOERROR", Algo: module.Incremental}, 299 {ID: "%s_response_per_rcode_FORMERR", Name: "FORMERR", Algo: module.Incremental}, 300 {ID: "%s_response_per_rcode_SERVFAIL", Name: "SERVFAIL", Algo: module.Incremental}, 301 {ID: "%s_response_per_rcode_NXDOMAIN", Name: "NXDOMAIN", Algo: module.Incremental}, 302 {ID: "%s_response_per_rcode_NOTIMP", Name: "NOTIMP", Algo: module.Incremental}, 303 {ID: "%s_response_per_rcode_REFUSED", Name: "REFUSED", Algo: module.Incremental}, 304 {ID: "%s_response_per_rcode_YXDOMAIN", Name: "YXDOMAIN", Algo: module.Incremental}, 305 {ID: "%s_response_per_rcode_YXRRSET", Name: "YXRRSET", Algo: module.Incremental}, 306 {ID: "%s_response_per_rcode_NXRRSET", Name: "NXRRSET", Algo: module.Incremental}, 307 {ID: "%s_response_per_rcode_NOTAUTH", Name: "NOTAUTH", Algo: module.Incremental}, 308 {ID: "%s_response_per_rcode_NOTZONE", Name: "NOTZONE", Algo: module.Incremental}, 309 {ID: "%s_response_per_rcode_BADSIG", Name: "BADSIG", Algo: module.Incremental}, 310 {ID: "%s_response_per_rcode_BADKEY", Name: "BADKEY", Algo: module.Incremental}, 311 {ID: "%s_response_per_rcode_BADTIME", Name: "BADTIME", Algo: module.Incremental}, 312 {ID: "%s_response_per_rcode_BADMODE", Name: "BADMODE", Algo: module.Incremental}, 313 {ID: "%s_response_per_rcode_BADNAME", Name: "BADNAME", Algo: module.Incremental}, 314 {ID: "%s_response_per_rcode_BADALG", Name: "BADALG", Algo: module.Incremental}, 315 {ID: "%s_response_per_rcode_BADTRUNC", Name: "BADTRUNC", Algo: module.Incremental}, 316 {ID: "%s_response_per_rcode_BADCOOKIE", Name: "BADCOOKIE", Algo: module.Incremental}, 317 {ID: "%s_response_per_rcode_other", Name: "other", Algo: module.Incremental}, 318 }, 319 }, 320 } 321 322 var zoneCharts = func() Charts { 323 c := serverCharts.Copy() 324 _ = c.Remove("per_%s_%s_dns_request_count_total_per_status") 325 return *c 326 }()