Add InfluxDB/Grafana monitoring
This commit is contained in:
		
							
								
								
									
										537
									
								
								grafana/dashboards/pluralkit.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										537
									
								
								grafana/dashboards/pluralkit.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,537 @@ | ||||
| { | ||||
|     "annotations": { | ||||
|       "list": [ | ||||
|         { | ||||
|           "builtIn": 1, | ||||
|           "datasource": "-- Grafana --", | ||||
|           "enable": true, | ||||
|           "hide": true, | ||||
|           "iconColor": "rgba(0, 211, 255, 1)", | ||||
|           "limit": 100, | ||||
|           "name": "Annotations & Alerts", | ||||
|           "showIn": 0, | ||||
|           "type": "dashboard" | ||||
|         } | ||||
|       ] | ||||
|     }, | ||||
|     "editable": false, | ||||
|     "gnetId": null, | ||||
|     "graphTooltip": 0, | ||||
|     "id": 1, | ||||
|     "links": [], | ||||
|     "panels": [ | ||||
|       { | ||||
|         "aliasColors": {}, | ||||
|         "bars": false, | ||||
|         "dashLength": 10, | ||||
|         "dashes": false, | ||||
|         "datasource": "InfluxDB", | ||||
|         "fill": 1, | ||||
|         "gridPos": { | ||||
|           "h": 9, | ||||
|           "w": 12, | ||||
|           "x": 0, | ||||
|           "y": 0 | ||||
|         }, | ||||
|         "id": 6, | ||||
|         "legend": { | ||||
|           "avg": false, | ||||
|           "current": false, | ||||
|           "max": false, | ||||
|           "min": false, | ||||
|           "show": true, | ||||
|           "total": false, | ||||
|           "values": false | ||||
|         }, | ||||
|         "lines": true, | ||||
|         "linewidth": 1, | ||||
|         "links": [], | ||||
|         "nullPointMode": "null", | ||||
|         "percentage": false, | ||||
|         "pointradius": 5, | ||||
|         "points": false, | ||||
|         "renderer": "flot", | ||||
|         "seriesOverrides": [ | ||||
|           { | ||||
|             "alias": "Webhook success rate", | ||||
|             "yaxis": 2 | ||||
|           } | ||||
|         ], | ||||
|         "spaceLength": 10, | ||||
|         "stack": false, | ||||
|         "steppedLine": false, | ||||
|         "targets": [ | ||||
|           { | ||||
|             "alias": "Webhook response time", | ||||
|             "groupBy": [ | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "$__interval" | ||||
|                 ], | ||||
|                 "type": "time" | ||||
|               }, | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "linear" | ||||
|                 ], | ||||
|                 "type": "fill" | ||||
|               } | ||||
|             ], | ||||
|             "measurement": "webhook", | ||||
|             "orderByTime": "ASC", | ||||
|             "policy": "default", | ||||
|             "refId": "A", | ||||
|             "resultFormat": "time_series", | ||||
|             "select": [ | ||||
|               [ | ||||
|                 { | ||||
|                   "params": [ | ||||
|                     "response_time" | ||||
|                   ], | ||||
|                   "type": "field" | ||||
|                 }, | ||||
|                 { | ||||
|                   "params": [], | ||||
|                   "type": "mean" | ||||
|                 } | ||||
|               ] | ||||
|             ], | ||||
|             "tags": [] | ||||
|           }, | ||||
|           { | ||||
|             "alias": "Webhook success rate", | ||||
|             "groupBy": [ | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "$__interval" | ||||
|                 ], | ||||
|                 "type": "time" | ||||
|               }, | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "linear" | ||||
|                 ], | ||||
|                 "type": "fill" | ||||
|               } | ||||
|             ], | ||||
|             "measurement": "webhook", | ||||
|             "orderByTime": "ASC", | ||||
|             "policy": "default", | ||||
|             "refId": "B", | ||||
|             "resultFormat": "time_series", | ||||
|             "select": [ | ||||
|               [ | ||||
|                 { | ||||
|                   "params": [ | ||||
|                     "success" | ||||
|                   ], | ||||
|                   "type": "field" | ||||
|                 }, | ||||
|                 { | ||||
|                   "params": [], | ||||
|                   "type": "mean" | ||||
|                 } | ||||
|               ] | ||||
|             ], | ||||
|             "tags": [] | ||||
|           } | ||||
|         ], | ||||
|         "thresholds": [], | ||||
|         "timeFrom": null, | ||||
|         "timeShift": null, | ||||
|         "title": "Webhook executions", | ||||
|         "tooltip": { | ||||
|           "shared": true, | ||||
|           "sort": 0, | ||||
|           "value_type": "individual" | ||||
|         }, | ||||
|         "type": "graph", | ||||
|         "xaxis": { | ||||
|           "buckets": null, | ||||
|           "mode": "time", | ||||
|           "name": null, | ||||
|           "show": true, | ||||
|           "values": [] | ||||
|         }, | ||||
|         "yaxes": [ | ||||
|           { | ||||
|             "format": "s", | ||||
|             "label": null, | ||||
|             "logBase": 1, | ||||
|             "max": null, | ||||
|             "min": "0", | ||||
|             "show": true | ||||
|           }, | ||||
|           { | ||||
|             "format": "percentunit", | ||||
|             "label": null, | ||||
|             "logBase": 1, | ||||
|             "max": "1", | ||||
|             "min": "0", | ||||
|             "show": true | ||||
|           } | ||||
|         ], | ||||
|         "yaxis": { | ||||
|           "align": false, | ||||
|           "alignLevel": null | ||||
|         } | ||||
|       }, | ||||
|       { | ||||
|         "aliasColors": {}, | ||||
|         "bars": false, | ||||
|         "dashLength": 10, | ||||
|         "dashes": false, | ||||
|         "datasource": "InfluxDB", | ||||
|         "fill": 1, | ||||
|         "gridPos": { | ||||
|           "h": 9, | ||||
|           "w": 12, | ||||
|           "x": 12, | ||||
|           "y": 0 | ||||
|         }, | ||||
|         "id": 2, | ||||
|         "legend": { | ||||
|           "alignAsTable": false, | ||||
|           "avg": false, | ||||
|           "current": false, | ||||
|           "hideEmpty": false, | ||||
|           "hideZero": false, | ||||
|           "max": false, | ||||
|           "min": false, | ||||
|           "rightSide": false, | ||||
|           "show": true, | ||||
|           "total": false, | ||||
|           "values": false | ||||
|         }, | ||||
|         "lines": true, | ||||
|         "linewidth": 1, | ||||
|         "links": [], | ||||
|         "nullPointMode": "null", | ||||
|         "percentage": false, | ||||
|         "pointradius": 5, | ||||
|         "points": false, | ||||
|         "renderer": "flot", | ||||
|         "repeat": null, | ||||
|         "seriesOverrides": [ | ||||
|           { | ||||
|             "alias": "Database Success Rate (%)", | ||||
|             "yaxis": 2 | ||||
|           } | ||||
|         ], | ||||
|         "spaceLength": 10, | ||||
|         "stack": false, | ||||
|         "steppedLine": false, | ||||
|         "targets": [ | ||||
|           { | ||||
|             "alias": "Database response time (ms)", | ||||
|             "groupBy": [ | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "$__interval" | ||||
|                 ], | ||||
|                 "type": "time" | ||||
|               }, | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "linear" | ||||
|                 ], | ||||
|                 "type": "fill" | ||||
|               } | ||||
|             ], | ||||
|             "measurement": "database_query", | ||||
|             "orderByTime": "ASC", | ||||
|             "policy": "default", | ||||
|             "refId": "A", | ||||
|             "resultFormat": "time_series", | ||||
|             "select": [ | ||||
|               [ | ||||
|                 { | ||||
|                   "params": [ | ||||
|                     "response_time" | ||||
|                   ], | ||||
|                   "type": "field" | ||||
|                 }, | ||||
|                 { | ||||
|                   "params": [], | ||||
|                   "type": "mean" | ||||
|                 } | ||||
|               ] | ||||
|             ], | ||||
|             "tags": [] | ||||
|           }, | ||||
|           { | ||||
|             "alias": "Database success rate (%)", | ||||
|             "groupBy": [ | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "$__interval" | ||||
|                 ], | ||||
|                 "type": "time" | ||||
|               }, | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "linear" | ||||
|                 ], | ||||
|                 "type": "fill" | ||||
|               } | ||||
|             ], | ||||
|             "measurement": "database_query", | ||||
|             "orderByTime": "ASC", | ||||
|             "policy": "default", | ||||
|             "query": "SELECT mean(\"success\") FROM \"database_query\" WHERE $timeFilter GROUP BY time($__interval) fill(linear)", | ||||
|             "rawQuery": false, | ||||
|             "refId": "B", | ||||
|             "resultFormat": "time_series", | ||||
|             "select": [ | ||||
|               [ | ||||
|                 { | ||||
|                   "params": [ | ||||
|                     "success" | ||||
|                   ], | ||||
|                   "type": "field" | ||||
|                 }, | ||||
|                 { | ||||
|                   "params": [], | ||||
|                   "type": "mean" | ||||
|                 } | ||||
|               ] | ||||
|             ], | ||||
|             "tags": [] | ||||
|           } | ||||
|         ], | ||||
|         "thresholds": [], | ||||
|         "timeFrom": null, | ||||
|         "timeShift": null, | ||||
|         "title": "Database Queries", | ||||
|         "tooltip": { | ||||
|           "shared": true, | ||||
|           "sort": 0, | ||||
|           "value_type": "individual" | ||||
|         }, | ||||
|         "transparent": false, | ||||
|         "type": "graph", | ||||
|         "xaxis": { | ||||
|           "buckets": null, | ||||
|           "mode": "time", | ||||
|           "name": null, | ||||
|           "show": true, | ||||
|           "values": [] | ||||
|         }, | ||||
|         "yaxes": [ | ||||
|           { | ||||
|             "format": "s", | ||||
|             "label": "", | ||||
|             "logBase": 1, | ||||
|             "max": null, | ||||
|             "min": "0", | ||||
|             "show": true | ||||
|           }, | ||||
|           { | ||||
|             "decimals": null, | ||||
|             "format": "percentunit", | ||||
|             "label": null, | ||||
|             "logBase": 1, | ||||
|             "max": "1", | ||||
|             "min": "0", | ||||
|             "show": true | ||||
|           } | ||||
|         ], | ||||
|         "yaxis": { | ||||
|           "align": false, | ||||
|           "alignLevel": null | ||||
|         } | ||||
|       }, | ||||
|       { | ||||
|         "aliasColors": {}, | ||||
|         "bars": false, | ||||
|         "dashLength": 10, | ||||
|         "dashes": false, | ||||
|         "datasource": "InfluxDB", | ||||
|         "fill": 1, | ||||
|         "gridPos": { | ||||
|           "h": 9, | ||||
|           "w": 12, | ||||
|           "x": 0, | ||||
|           "y": 9 | ||||
|         }, | ||||
|         "id": 4, | ||||
|         "legend": { | ||||
|           "avg": false, | ||||
|           "current": false, | ||||
|           "max": false, | ||||
|           "min": false, | ||||
|           "show": true, | ||||
|           "total": false, | ||||
|           "values": false | ||||
|         }, | ||||
|         "lines": true, | ||||
|         "linewidth": 1, | ||||
|         "links": [], | ||||
|         "nullPointMode": "null", | ||||
|         "percentage": false, | ||||
|         "pointradius": 5, | ||||
|         "points": false, | ||||
|         "renderer": "flot", | ||||
|         "repeat": null, | ||||
|         "seriesOverrides": [], | ||||
|         "spaceLength": 10, | ||||
|         "stack": false, | ||||
|         "steppedLine": false, | ||||
|         "targets": [ | ||||
|           { | ||||
|             "alias": "Command execution time", | ||||
|             "groupBy": [ | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "$__interval" | ||||
|                 ], | ||||
|                 "type": "time" | ||||
|               }, | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "linear" | ||||
|                 ], | ||||
|                 "type": "fill" | ||||
|               } | ||||
|             ], | ||||
|             "measurement": "command", | ||||
|             "orderByTime": "ASC", | ||||
|             "policy": "default", | ||||
|             "refId": "A", | ||||
|             "resultFormat": "time_series", | ||||
|             "select": [ | ||||
|               [ | ||||
|                 { | ||||
|                   "params": [ | ||||
|                     "execution_time" | ||||
|                   ], | ||||
|                   "type": "field" | ||||
|                 }, | ||||
|                 { | ||||
|                   "params": [], | ||||
|                   "type": "mean" | ||||
|                 } | ||||
|               ] | ||||
|             ], | ||||
|             "tags": [] | ||||
|           }, | ||||
|           { | ||||
|             "alias": "Command response time", | ||||
|             "groupBy": [ | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "$__interval" | ||||
|                 ], | ||||
|                 "type": "time" | ||||
|               }, | ||||
|               { | ||||
|                 "params": [ | ||||
|                   "linear" | ||||
|                 ], | ||||
|                 "type": "fill" | ||||
|               } | ||||
|             ], | ||||
|             "measurement": "command", | ||||
|             "orderByTime": "ASC", | ||||
|             "policy": "default", | ||||
|             "refId": "B", | ||||
|             "resultFormat": "time_series", | ||||
|             "select": [ | ||||
|               [ | ||||
|                 { | ||||
|                   "params": [ | ||||
|                     "response_time" | ||||
|                   ], | ||||
|                   "type": "field" | ||||
|                 }, | ||||
|                 { | ||||
|                   "params": [], | ||||
|                   "type": "mean" | ||||
|                 } | ||||
|               ] | ||||
|             ], | ||||
|             "tags": [] | ||||
|           } | ||||
|         ], | ||||
|         "thresholds": [], | ||||
|         "timeFrom": null, | ||||
|         "timeShift": null, | ||||
|         "title": "Commands", | ||||
|         "tooltip": { | ||||
|           "shared": true, | ||||
|           "sort": 0, | ||||
|           "value_type": "individual" | ||||
|         }, | ||||
|         "type": "graph", | ||||
|         "xaxis": { | ||||
|           "buckets": null, | ||||
|           "mode": "time", | ||||
|           "name": null, | ||||
|           "show": true, | ||||
|           "values": [] | ||||
|         }, | ||||
|         "yaxes": [ | ||||
|           { | ||||
|             "format": "s", | ||||
|             "label": null, | ||||
|             "logBase": 1, | ||||
|             "max": null, | ||||
|             "min": "0", | ||||
|             "show": true | ||||
|           }, | ||||
|           { | ||||
|             "format": "short", | ||||
|             "label": null, | ||||
|             "logBase": 1, | ||||
|             "max": null, | ||||
|             "min": null, | ||||
|             "show": true | ||||
|           } | ||||
|         ], | ||||
|         "yaxis": { | ||||
|           "align": false, | ||||
|           "alignLevel": null | ||||
|         } | ||||
|       } | ||||
|     ], | ||||
|     "refresh": false, | ||||
|     "schemaVersion": 16, | ||||
|     "style": "dark", | ||||
|     "tags": [], | ||||
|     "templating": { | ||||
|       "list": [] | ||||
|     }, | ||||
|     "time": { | ||||
|       "from": "now-30m", | ||||
|       "to": "now" | ||||
|     }, | ||||
|     "timepicker": { | ||||
|       "refresh_intervals": [ | ||||
|         "5s", | ||||
|         "10s", | ||||
|         "30s", | ||||
|         "1m", | ||||
|         "5m", | ||||
|         "15m", | ||||
|         "30m", | ||||
|         "1h", | ||||
|         "2h", | ||||
|         "1d" | ||||
|       ], | ||||
|       "time_options": [ | ||||
|         "5m", | ||||
|         "15m", | ||||
|         "1h", | ||||
|         "6h", | ||||
|         "12h", | ||||
|         "24h", | ||||
|         "2d", | ||||
|         "7d", | ||||
|         "30d" | ||||
|       ] | ||||
|     }, | ||||
|     "timezone": "", | ||||
|     "title": "PluralKit Stats", | ||||
|     "uid": "pk", | ||||
|     "version": 1 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user