Antonio Mika
·
04 Aug 22
caddy-metrics-2.json
1{
2 "annotations": {
3 "list": [
4 {
5 "builtIn": 1,
6 "datasource": {
7 "type": "datasource",
8 "uid": "grafana"
9 },
10 "enable": true,
11 "hide": true,
12 "iconColor": "rgba(0, 211, 255, 1)",
13 "name": "Annotations & Alerts",
14 "target": {
15 "limit": 100,
16 "matchAny": false,
17 "tags": [],
18 "type": "dashboard"
19 },
20 "type": "dashboard"
21 }
22 ]
23 },
24 "description": "Dashboard set for Caddy proxy",
25 "editable": true,
26 "fiscalYearStartMonth": 0,
27 "gnetId": 14280,
28 "graphTooltip": 0,
29 "links": [],
30 "liveNow": false,
31 "panels": [
32 {
33 "datasource": {
34 "type": "prometheus",
35 "uid": "PBFA97CFB590B2093"
36 },
37 "fieldConfig": {
38 "defaults": {
39 "color": {
40 "mode": "palette-classic"
41 },
42 "custom": {
43 "axisLabel": "",
44 "axisPlacement": "auto",
45 "barAlignment": 0,
46 "drawStyle": "line",
47 "fillOpacity": 50,
48 "gradientMode": "opacity",
49 "hideFrom": {
50 "legend": false,
51 "tooltip": false,
52 "viz": false
53 },
54 "lineInterpolation": "linear",
55 "lineWidth": 1,
56 "pointSize": 5,
57 "scaleDistribution": {
58 "type": "linear"
59 },
60 "showPoints": "never",
61 "spanNulls": false,
62 "stacking": {
63 "group": "A",
64 "mode": "none"
65 },
66 "thresholdsStyle": {
67 "mode": "off"
68 }
69 },
70 "mappings": [],
71 "thresholds": {
72 "mode": "absolute",
73 "steps": [
74 {
75 "color": "green",
76 "value": null
77 },
78 {
79 "color": "red",
80 "value": 80
81 }
82 ]
83 },
84 "unit": "short"
85 },
86 "overrides": []
87 },
88 "gridPos": {
89 "h": 5,
90 "w": 24,
91 "x": 0,
92 "y": 0
93 },
94 "id": 10,
95 "options": {
96 "legend": {
97 "calcs": [
98 "min",
99 "max",
100 "mean"
101 ],
102 "displayMode": "table",
103 "placement": "bottom",
104 "sortBy": "Mean",
105 "sortDesc": true
106 },
107 "tooltip": {
108 "mode": "multi",
109 "sort": "none"
110 }
111 },
112 "pluginVersion": "9.0.5",
113 "targets": [
114 {
115 "datasource": {
116 "type": "prometheus",
117 "uid": "PBFA97CFB590B2093"
118 },
119 "editorMode": "code",
120 "expr": "avg(rate(caddy_http_requests_total{instance=~\"$instance\",handler=~\"$handler\"}[5m])*10) by (instance, handler)",
121 "instant": false,
122 "interval": "",
123 "intervalFactor": 2,
124 "legendFormat": "{{instance}} - {{handler}}",
125 "refId": "A"
126 }
127 ],
128 "title": "HTTP(S) requests total",
129 "transformations": [
130 {
131 "id": "calculateField",
132 "options": {
133 "mode": "reduceRow",
134 "reduce": {
135 "reducer": "sum"
136 },
137 "replaceFields": false
138 }
139 }
140 ],
141 "type": "timeseries"
142 },
143 {
144 "datasource": {
145 "type": "prometheus",
146 "uid": "PBFA97CFB590B2093"
147 },
148 "fieldConfig": {
149 "defaults": {
150 "color": {
151 "mode": "palette-classic"
152 },
153 "custom": {
154 "axisLabel": "",
155 "axisPlacement": "auto",
156 "barAlignment": 0,
157 "drawStyle": "line",
158 "fillOpacity": 10,
159 "gradientMode": "none",
160 "hideFrom": {
161 "legend": false,
162 "tooltip": false,
163 "viz": false
164 },
165 "lineInterpolation": "linear",
166 "lineWidth": 1,
167 "pointSize": 5,
168 "scaleDistribution": {
169 "type": "linear"
170 },
171 "showPoints": "never",
172 "spanNulls": false,
173 "stacking": {
174 "group": "A",
175 "mode": "none"
176 },
177 "thresholdsStyle": {
178 "mode": "off"
179 }
180 },
181 "mappings": [],
182 "thresholds": {
183 "mode": "absolute",
184 "steps": [
185 {
186 "color": "green",
187 "value": null
188 },
189 {
190 "color": "red",
191 "value": 80
192 }
193 ]
194 },
195 "unit": "short"
196 },
197 "overrides": []
198 },
199 "gridPos": {
200 "h": 5,
201 "w": 24,
202 "x": 0,
203 "y": 5
204 },
205 "id": 6,
206 "options": {
207 "legend": {
208 "calcs": [
209 "min",
210 "max",
211 "mean"
212 ],
213 "displayMode": "table",
214 "placement": "bottom",
215 "sortBy": "Mean",
216 "sortDesc": true
217 },
218 "tooltip": {
219 "mode": "multi",
220 "sort": "none"
221 }
222 },
223 "pluginVersion": "9.0.5",
224 "targets": [
225 {
226 "datasource": {
227 "type": "prometheus",
228 "uid": "PBFA97CFB590B2093"
229 },
230 "editorMode": "code",
231 "expr": "avg(rate(caddy_http_request_errors_total{instance=~\"$instance\",handler=~\"$handler\"}[5m])*10) by (instance, handler)",
232 "interval": "",
233 "intervalFactor": 2,
234 "legendFormat": "{{instance}} - {{handler}}",
235 "range": true,
236 "refId": "A"
237 }
238 ],
239 "title": "HTTP(S) errors total",
240 "type": "timeseries"
241 },
242 {
243 "datasource": {
244 "type": "prometheus",
245 "uid": "PBFA97CFB590B2093"
246 },
247 "description": "",
248 "fieldConfig": {
249 "defaults": {
250 "color": {
251 "mode": "palette-classic"
252 },
253 "custom": {
254 "axisLabel": "",
255 "axisPlacement": "auto",
256 "barAlignment": 0,
257 "drawStyle": "line",
258 "fillOpacity": 40,
259 "gradientMode": "opacity",
260 "hideFrom": {
261 "legend": false,
262 "tooltip": false,
263 "viz": false
264 },
265 "lineInterpolation": "linear",
266 "lineWidth": 1,
267 "pointSize": 5,
268 "scaleDistribution": {
269 "type": "linear"
270 },
271 "showPoints": "never",
272 "spanNulls": false,
273 "stacking": {
274 "group": "A",
275 "mode": "none"
276 },
277 "thresholdsStyle": {
278 "mode": "off"
279 }
280 },
281 "mappings": [],
282 "thresholds": {
283 "mode": "absolute",
284 "steps": [
285 {
286 "color": "green",
287 "value": null
288 },
289 {
290 "color": "red",
291 "value": 80
292 }
293 ]
294 },
295 "unit": "decbytes"
296 },
297 "overrides": []
298 },
299 "gridPos": {
300 "h": 8,
301 "w": 12,
302 "x": 0,
303 "y": 10
304 },
305 "id": 15,
306 "options": {
307 "legend": {
308 "calcs": [
309 "min",
310 "max",
311 "mean"
312 ],
313 "displayMode": "table",
314 "placement": "bottom",
315 "sortBy": "Mean",
316 "sortDesc": true
317 },
318 "tooltip": {
319 "mode": "multi",
320 "sort": "none"
321 }
322 },
323 "pluginVersion": "9.0.5",
324 "targets": [
325 {
326 "datasource": {
327 "type": "prometheus",
328 "uid": "PBFA97CFB590B2093"
329 },
330 "editorMode": "code",
331 "expr": "histogram_quantile(0.5, sum by (le, instance, handler) (rate(caddy_http_response_size_bytes_bucket{instance=~\"$instance\", handler=~\"$handler\"}[5m])))",
332 "format": "time_series",
333 "instant": false,
334 "interval": "",
335 "intervalFactor": 1,
336 "legendFormat": "p50 - {{instance}} - {{handler}}",
337 "refId": "A"
338 }
339 ],
340 "title": "Median response size in bytes",
341 "type": "timeseries"
342 },
343 {
344 "datasource": {
345 "type": "prometheus",
346 "uid": "PBFA97CFB590B2093"
347 },
348 "description": "",
349 "fieldConfig": {
350 "defaults": {
351 "color": {
352 "mode": "palette-classic"
353 },
354 "custom": {
355 "axisLabel": "",
356 "axisPlacement": "auto",
357 "barAlignment": 0,
358 "drawStyle": "line",
359 "fillOpacity": 40,
360 "gradientMode": "opacity",
361 "hideFrom": {
362 "legend": false,
363 "tooltip": false,
364 "viz": false
365 },
366 "lineInterpolation": "linear",
367 "lineWidth": 1,
368 "pointSize": 5,
369 "scaleDistribution": {
370 "type": "linear"
371 },
372 "showPoints": "never",
373 "spanNulls": false,
374 "stacking": {
375 "group": "A",
376 "mode": "none"
377 },
378 "thresholdsStyle": {
379 "mode": "off"
380 }
381 },
382 "mappings": [],
383 "thresholds": {
384 "mode": "absolute",
385 "steps": [
386 {
387 "color": "green",
388 "value": null
389 },
390 {
391 "color": "red",
392 "value": 80
393 }
394 ]
395 },
396 "unit": "short"
397 },
398 "overrides": []
399 },
400 "gridPos": {
401 "h": 8,
402 "w": 12,
403 "x": 12,
404 "y": 10
405 },
406 "id": 14,
407 "options": {
408 "legend": {
409 "calcs": [
410 "min",
411 "max",
412 "mean"
413 ],
414 "displayMode": "table",
415 "placement": "bottom",
416 "sortBy": "Mean",
417 "sortDesc": true
418 },
419 "tooltip": {
420 "mode": "multi",
421 "sort": "none"
422 }
423 },
424 "pluginVersion": "9.0.5",
425 "targets": [
426 {
427 "datasource": {
428 "type": "prometheus",
429 "uid": "PBFA97CFB590B2093"
430 },
431 "editorMode": "code",
432 "expr": "histogram_quantile(0.5, sum by (le, instance, handler) (rate(caddy_http_response_duration_seconds_bucket{instance=~\"$instance\", handler=~\"$handler\"}[5m])))",
433 "format": "time_series",
434 "instant": false,
435 "interval": "",
436 "intervalFactor": 1,
437 "legendFormat": "p50 - {{instance}} - {{handler}}",
438 "refId": "A"
439 }
440 ],
441 "title": "Median response duration in seconds",
442 "type": "timeseries"
443 },
444 {
445 "datasource": {
446 "type": "prometheus",
447 "uid": "PBFA97CFB590B2093"
448 },
449 "description": "",
450 "fieldConfig": {
451 "defaults": {
452 "color": {
453 "mode": "palette-classic"
454 },
455 "custom": {
456 "axisLabel": "",
457 "axisPlacement": "auto",
458 "barAlignment": 0,
459 "drawStyle": "line",
460 "fillOpacity": 10,
461 "gradientMode": "none",
462 "hideFrom": {
463 "legend": false,
464 "tooltip": false,
465 "viz": false
466 },
467 "lineInterpolation": "linear",
468 "lineWidth": 1,
469 "pointSize": 5,
470 "scaleDistribution": {
471 "type": "linear"
472 },
473 "showPoints": "never",
474 "spanNulls": false,
475 "stacking": {
476 "group": "A",
477 "mode": "none"
478 },
479 "thresholdsStyle": {
480 "mode": "off"
481 }
482 },
483 "mappings": [],
484 "thresholds": {
485 "mode": "absolute",
486 "steps": [
487 {
488 "color": "green",
489 "value": null
490 },
491 {
492 "color": "red",
493 "value": 80
494 }
495 ]
496 },
497 "unit": "short"
498 },
499 "overrides": []
500 },
501 "gridPos": {
502 "h": 7,
503 "w": 24,
504 "x": 0,
505 "y": 18
506 },
507 "id": 11,
508 "options": {
509 "legend": {
510 "calcs": [
511 "min",
512 "max",
513 "mean"
514 ],
515 "displayMode": "table",
516 "placement": "bottom",
517 "sortBy": "Mean",
518 "sortDesc": true
519 },
520 "tooltip": {
521 "mode": "multi",
522 "sort": "none"
523 }
524 },
525 "pluginVersion": "9.0.5",
526 "targets": [
527 {
528 "datasource": {
529 "type": "prometheus",
530 "uid": "PBFA97CFB590B2093"
531 },
532 "editorMode": "code",
533 "expr": "sum(rate(caddy_http_request_duration_seconds_count{instance=~\"$instance\",handler=~\"$handler\"}[5m])) by (instance, handler)",
534 "interval": "",
535 "legendFormat": "{{instance}} - {{handler}}",
536 "range": true,
537 "refId": "A"
538 }
539 ],
540 "title": "Request/Response duration seconds",
541 "type": "timeseries"
542 }
543 ],
544 "refresh": false,
545 "schemaVersion": 36,
546 "style": "dark",
547 "tags": [
548 "caddy"
549 ],
550 "templating": {
551 "list": [
552 {
553 "allValue": "",
554 "current": {
555 "selected": true,
556 "text": [
557 "prose.sh:443"
558 ],
559 "value": [
560 "prose.sh:443"
561 ]
562 },
563 "datasource": {
564 "type": "prometheus",
565 "uid": "PBFA97CFB590B2093"
566 },
567 "definition": "label_values(caddy_http_requests_total, instance)",
568 "hide": 0,
569 "includeAll": true,
570 "label": "Instance",
571 "multi": true,
572 "name": "instance",
573 "options": [],
574 "query": {
575 "query": "label_values(caddy_http_requests_total, instance)",
576 "refId": "StandardVariableQuery"
577 },
578 "refresh": 2,
579 "regex": "",
580 "skipUrlSync": false,
581 "sort": 0,
582 "tagValuesQuery": "",
583 "tagsQuery": "",
584 "type": "query",
585 "useTags": false
586 },
587 {
588 "allValue": "",
589 "current": {
590 "selected": true,
591 "text": [
592 "reverse_proxy"
593 ],
594 "value": [
595 "reverse_proxy"
596 ]
597 },
598 "datasource": {
599 "type": "prometheus",
600 "uid": "PBFA97CFB590B2093"
601 },
602 "definition": "label_values(caddy_http_requests_total{instance=~\"$instance\"}, handler)",
603 "hide": 0,
604 "includeAll": true,
605 "label": "Handler",
606 "multi": true,
607 "name": "handler",
608 "options": [],
609 "query": {
610 "query": "label_values(caddy_http_requests_total{instance=~\"$instance\"}, handler)",
611 "refId": "StandardVariableQuery"
612 },
613 "refresh": 2,
614 "regex": "",
615 "skipUrlSync": false,
616 "sort": 0,
617 "tagValuesQuery": "",
618 "tagsQuery": "",
619 "type": "query",
620 "useTags": false
621 }
622 ]
623 },
624 "time": {
625 "from": "now-15m",
626 "to": "now"
627 },
628 "timepicker": {},
629 "timezone": "",
630 "title": "Caddy exporter",
631 "uid": "6zdvM3hGz",
632 "version": 4,
633 "weekStart": ""
634}