diff --git a/nixos/modules/monitoring/server/grafana-config/resources-overview.json b/nixos/modules/monitoring/server/grafana-config/resources-overview.json index 8cf342514143d84de1263a3d6debaf8e40b4c922..cb5bc91da7c3adbb1c9377473b053d31d53550f0 100644 --- a/nixos/modules/monitoring/server/grafana-config/resources-overview.json +++ b/nixos/modules/monitoring/server/grafana-config/resources-overview.json @@ -1279,7 +1279,7 @@ "to": "now" }, "timepicker": {}, - "timezone": "utc", + "timezone": "", "title": "Resources overview", "uid": "ResourcesOverview", "version": 1 diff --git a/nixos/modules/monitoring/server/grafana-config/services-overview.json b/nixos/modules/monitoring/server/grafana-config/services-overview.json index 1606d2e59593fea116323dfaea25448bc4fbc9b6..1af20e88681e1e75a8063b8f9ec62e2ff2eea8af 100644 --- a/nixos/modules/monitoring/server/grafana-config/services-overview.json +++ b/nixos/modules/monitoring/server/grafana-config/services-overview.json @@ -16,7 +16,6 @@ "editable": true, "gnetId": null, "graphTooltip": 0, - "id": 2, "links": [], "panels": [ { @@ -28,9 +27,234 @@ "x": 0, "y": 0 }, + "id": 24, + "panels": [], + "title": "Payments", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "description": "Our calls to the Stripe API: Attempted and successful credit card charges.", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 22, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.5.7", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "processors_stripe_charge_successes", + "interval": "", + "legendFormat": "Successes", + "refId": "A" + }, + { + "exemplar": true, + "expr": "processors_stripe_charge_attempts", + "hide": false, + "interval": "", + "legendFormat": "Attempts", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Stripe charges", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:350", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:351", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "description": "", + "fieldConfig": { + "defaults": {}, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 20, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.5.7", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "redemption_signatures_issued", + "interval": "", + "legendFormat": "Issued signatures", + "refId": "A" + }, + { + "exemplar": true, + "expr": "redemption_voucher_redeemed", + "hide": false, + "interval": "", + "legendFormat": "Redeemed vouchers", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Redemption", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:285", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:286", + "decimals": null, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, "id": 18, "panels": [], - "title": "Payments v1/stripe/charge", + "title": "Payments HTTP v1/stripe/charge", "type": "row" }, { @@ -40,14 +264,21 @@ "dashes": false, "datasource": null, "description": "HTTPS responses per second", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 0, - "y": 1 + "y": 9 }, + "hiddenSeries": false, "id": 4, "legend": { "avg": false, @@ -62,9 +293,10 @@ "linewidth": 1, "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.5.7", "pointradius": 2, "points": false, "renderer": "flot", @@ -74,8 +306,10 @@ "steppedLine": false, "targets": [ { - "expr": "rate(http_responses_total{path=\"v1/stripe/charge\"}[5m])", + "exemplar": true, + "expr": "rate(http_responses_total{path=\"v1/stripe/charge\", instance=\"payments\"}[5m])", "instant": false, + "interval": "", "legendFormat": "{{status}}", "refId": "A" } @@ -84,7 +318,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "v1/stripe/charge RPS", + "title": "Requests per second", "tooltip": { "shared": true, "sort": 0, @@ -100,14 +334,16 @@ }, "yaxes": [ { + "$$hashKey": "object:452", "format": "short", "label": null, "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true }, { + "$$hashKey": "object:453", "format": "short", "label": null, "logBase": 1, @@ -128,14 +364,21 @@ "dashes": false, "datasource": null, "description": "", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 8, - "y": 1 + "y": 9 }, + "hiddenSeries": false, "id": 15, "legend": { "avg": false, @@ -150,9 +393,10 @@ "linewidth": 1, "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, - "percentage": true, + "percentage": false, + "pluginVersion": "7.5.7", "pointradius": 2, "points": false, "renderer": "flot", @@ -162,12 +406,16 @@ "steppedLine": false, "targets": [ { - "expr": "sum(http_responses_total{path=\"v1/stripe/charge\", status=\"4XX\"}) / sum(http_responses_total{path=\"v1/redeem\"})", + "exemplar": true, + "expr": "sum(http_responses_total{path=\"v1/stripe/charge\", status=\"4XX\"}) / sum(http_responses_total{path=\"v1/stripe/charge\"})", + "interval": "", "legendFormat": "Client error (4XX) rate", "refId": "A" }, { - "expr": "sum(http_responses_total{path=\"v1/stripe/charge\", status=\"5XX\"}) / sum(http_responses_total{path=\"v1/redeem\"})", + "exemplar": true, + "expr": "sum(http_responses_total{path=\"v1/stripe/charge\", status=\"5XX\"}) / sum(http_responses_total{path=\"v1/stripe/charge\"})", + "interval": "", "legendFormat": "Server error (5XX) rate", "refId": "B" } @@ -176,7 +424,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "v1/stripe/charge error rate", + "title": "Error rate", "tooltip": { "shared": true, "sort": 0, @@ -192,14 +440,16 @@ }, "yaxes": [ { + "$$hashKey": "object:576", "format": "percentunit", "label": null, "logBase": 1, - "max": "100", + "max": "1", "min": "0", "show": true }, { + "$$hashKey": "object:577", "format": "percent", "label": null, "logBase": 1, @@ -220,15 +470,22 @@ "dashLength": 10, "dashes": false, "datasource": null, - "description": "Requests taking longer than 1 s, between 1 sec and 10 msec, and 10 msec and below", + "description": "Request durations, stacked", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 2, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 16, - "y": 1 + "y": 9 }, + "hiddenSeries": false, "id": 12, "legend": { "avg": false, @@ -244,51 +501,68 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, - "pluginVersion": "6.4.3", + "pluginVersion": "7.5.7", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, - "stack": false, + "stack": true, "steppedLine": false, "targets": [ { - "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"0.01\"}", + "exemplar": true, + "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"0.1\"}", "format": "time_series", "hide": false, "instant": false, + "interval": "", "intervalFactor": 1, - "legendFormat": "=< 0.01s", + "legendFormat": "=< 0.1s", "refId": "A" }, { - "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"1.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"0.01\"}", + "exemplar": true, + "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"1.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"0.1\"}", "format": "time_series", "hide": false, "instant": false, + "interval": "", "intervalFactor": 1, "legendFormat": "=< 1s", "refId": "D" }, { - "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"+Inf\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"1.0\"}", + "exemplar": true, + "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"5.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"1.0\"}", "format": "time_series", "hide": false, "instant": false, + "interval": "", "intervalFactor": 1, - "legendFormat": "> 1s", + "legendFormat": "=< 1s", "refId": "B" + }, + { + "exemplar": true, + "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"+Inf\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"5.0\"}", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "> 5s", + "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "v1/stripe/charge durations", + "title": "Durations", "tooltip": { "shared": true, "sort": 0, @@ -304,6 +578,7 @@ }, "yaxes": [ { + "$$hashKey": "object:625", "format": "short", "label": null, "logBase": 1, @@ -312,6 +587,7 @@ "show": true }, { + "$$hashKey": "object:626", "format": "short", "label": null, "logBase": 1, @@ -332,11 +608,11 @@ "h": 1, "w": 24, "x": 0, - "y": 8 + "y": 16 }, "id": 11, "panels": [], - "title": "Payments v1/redeem", + "title": "Payments HTTP v1/redeem", "type": "row" }, { @@ -346,14 +622,21 @@ "dashes": false, "datasource": null, "description": "HTTPS responses per second", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 0, - "y": 9 + "y": 17 }, + "hiddenSeries": false, "id": 2, "legend": { "avg": false, @@ -368,9 +651,10 @@ "linewidth": 1, "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, + "pluginVersion": "7.5.7", "pointradius": 2, "points": false, "renderer": "flot", @@ -391,7 +675,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "v1/redeem RPS", + "title": "Requests per second", "tooltip": { "shared": true, "sort": 0, @@ -407,14 +691,16 @@ }, "yaxes": [ { + "$$hashKey": "object:751", "format": "short", "label": null, "logBase": 1, "max": null, - "min": null, + "min": "0", "show": true }, { + "$$hashKey": "object:752", "format": "short", "label": null, "logBase": 1, @@ -434,14 +720,21 @@ "dashLength": 10, "dashes": false, "datasource": null, + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 8, - "y": 9 + "y": 17 }, + "hiddenSeries": false, "id": 16, "legend": { "avg": false, @@ -456,9 +749,10 @@ "linewidth": 1, "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, - "percentage": true, + "percentage": false, + "pluginVersion": "7.5.7", "pointradius": 2, "points": false, "renderer": "flot", @@ -482,7 +776,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "v1/redeem error rate", + "title": "Error rate", "tooltip": { "shared": true, "sort": 0, @@ -498,14 +792,16 @@ }, "yaxes": [ { + "$$hashKey": "object:804", "format": "percentunit", "label": null, "logBase": 1, - "max": "100", + "max": "1", "min": "0", "show": true }, { + "$$hashKey": "object:805", "format": "percent", "label": null, "logBase": 1, @@ -526,15 +822,22 @@ "dashLength": 10, "dashes": false, "datasource": null, - "description": "Requests taking longer than 1 s, between 1 sec and 10 msec, and 10 msec and below", + "description": "Request durations, stacked.", + "fieldConfig": { + "defaults": { + "links": [] + }, + "overrides": [] + }, "fill": 2, "fillGradient": 0, "gridPos": { "h": 7, "w": 8, "x": 16, - "y": 9 + "y": 17 }, + "hiddenSeries": false, "id": 13, "legend": { "avg": false, @@ -550,51 +853,68 @@ "links": [], "nullPointMode": "null", "options": { - "dataLinks": [] + "alertThreshold": true }, "percentage": false, - "pluginVersion": "6.4.3", + "pluginVersion": "7.5.7", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, - "stack": false, + "stack": true, "steppedLine": false, "targets": [ { - "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"0.01\"}", + "exemplar": true, + "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"0.1\"}", "format": "time_series", "hide": false, "instant": false, + "interval": "", "intervalFactor": 1, - "legendFormat": "=< 0.01s", + "legendFormat": "=< 0.1s", "refId": "A" }, { - "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"1.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"0.01\"}", + "exemplar": true, + "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"1.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"0.1\"}", "format": "time_series", "hide": false, "instant": false, + "interval": "", "intervalFactor": 1, "legendFormat": "=< 1s", "refId": "D" }, { - "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"+Inf\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"1.0\"}", + "exemplar": true, + "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"5.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"1.0\"}", "format": "time_series", "hide": false, "instant": false, + "interval": "", "intervalFactor": 1, - "legendFormat": "> 1s", + "legendFormat": "=< 5s", "refId": "B" + }, + { + "exemplar": true, + "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"+Inf\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"5.0\"}", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "> 5s", + "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "v1/redeem durations", + "title": "Durations", "tooltip": { "shared": true, "sort": 0, @@ -610,6 +930,7 @@ }, "yaxes": [ { + "$$hashKey": "object:853", "format": "short", "label": null, "logBase": 1, @@ -618,6 +939,7 @@ "show": true }, { + "$$hashKey": "object:854", "format": "short", "label": null, "logBase": 1, @@ -633,14 +955,14 @@ } ], "refresh": "", - "schemaVersion": 20, + "schemaVersion": 27, "style": "dark", "tags": [], "templating": { "list": [] }, "time": { - "from": "now-3h", + "from": "now-7d", "to": "now" }, "timepicker": { @@ -660,5 +982,5 @@ "timezone": "", "title": "Services overview", "uid": "ServicesOverview", - "version": 6 + "version": 1 }