repos / ops

infra for pico services
git clone https://github.com/picosh/ops.git

ops / monitoring / grafana / config / provisioning / dashboards
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}