{ "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": true, "gnetId": null, "graphTooltip": 1, "iteration": 1617066952719, "links": [], "panels": [ { "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 10, "panels": [], "title": "Combined overview", "type": "row" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "*Warning:* CPU load can be a bit of a deceiving metric\n\nBest I can say is read the [wikipedia article](https://en.wikipedia.org/wiki/Load_(computing)#Interpretation)", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 30, "gradientMode": "hue", "hideFrom": { "graph": false, "legend": false, "tooltip": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "short" }, "overrides": [ { "matcher": { "id": "byName", "options": "mangadex-at-home" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "CPU load (1m)" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-green", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 8, "w": 6, "x": 0, "y": 1 }, "id": 18, "interval": null, "links": [], "options": { "graph": {}, "legend": { "calcs": [ "min", "max", "mean", "last" ], "displayMode": "table", "placement": "bottom" }, "tooltipOptions": { "mode": "multi" } }, "pluginVersion": "7.4.0", "targets": [ { "expr": "process_cpu_usage", "interval": "", "legendFormat": "CPU load (1m)", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "CPU Load", "type": "timeseries" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "Amount *used* by the JVM\n\nIt might have requested more from the system (*commited*), but this is the amount it actually is using out of it", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 30, "gradientMode": "hue", "hideFrom": { "graph": false, "legend": false, "tooltip": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "decbytes" }, "overrides": [ { "matcher": { "id": "byName", "options": "Committed" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Used" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Committed" }, "properties": [ { "id": "custom.fillOpacity", "value": 0 }, { "id": "custom.lineWidth", "value": 2 } ] } ] }, "gridPos": { "h": 8, "w": 6, "x": 6, "y": 1 }, "id": 19, "interval": null, "links": [], "options": { "graph": {}, "legend": { "calcs": [ "min", "max", "mean", "last" ], "displayMode": "table", "placement": "bottom" }, "tooltipOptions": { "mode": "multi" } }, "pluginVersion": "7.4.0", "targets": [ { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(jvm_memory_used_bytes)", "hide": false, "interval": "", "legendFormat": "Used", "refId": "A", "units": "none", "valueHandler": "Number Threshold" }, { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(jvm_memory_committed_bytes)", "hide": false, "instant": false, "interval": "", "legendFormat": "Committed", "refId": "B", "units": "none", "valueHandler": "Number Threshold" } ], "timeFrom": null, "timeShift": null, "title": "RAM", "type": "timeseries" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "Cache size allocated, does not include metadata or other overhead, but does somewhat account for block sizes.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 30, "gradientMode": "hue", "hideFrom": { "graph": false, "legend": false, "tooltip": false }, "lineInterpolation": "linear", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "decbytes" }, "overrides": [ { "matcher": { "id": "byName", "options": "Max" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Used" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Max" }, "properties": [ { "id": "custom.fillOpacity", "value": 0 }, { "id": "custom.lineWidth", "value": 2 } ] } ] }, "gridPos": { "h": 8, "w": 6, "x": 12, "y": 1 }, "id": 57, "interval": null, "links": [], "options": { "graph": {}, "legend": { "calcs": [ "min", "max", "mean", "last" ], "displayMode": "table", "placement": "bottom" }, "tooltipOptions": { "mode": "multi" } }, "pluginVersion": "7.4.0", "targets": [ { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(cache_used_bytes)", "hide": false, "interval": "", "legendFormat": "Used", "refId": "A", "units": "none", "valueHandler": "Number Threshold" }, { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(cache_max_bytes)", "hide": false, "instant": false, "interval": "", "legendFormat": "Max", "refId": "B", "units": "none", "valueHandler": "Number Threshold" } ], "timeFrom": null, "timeShift": null, "title": "Cache", "type": "timeseries" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "This is the mean outgoing network speed reported, by blocks of [$itvl].", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 70, "gradientMode": "hue", "hideFrom": { "graph": false, "legend": false, "tooltip": false }, "lineInterpolation": "linear", "lineStyle": { "dash": [ 0, 10 ], "fill": "dot" }, "lineWidth": 1, "pointSize": 2, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "bps" }, "overrides": [ { "__systemRef": "hideSeriesFrom", "matcher": { "id": "byNames", "options": { "mode": "exclude", "names": [ "Actual" ], "prefix": "All except:", "readOnly": true } }, "properties": [ { "id": "custom.hideFrom", "value": { "graph": true, "legend": false, "tooltip": false } } ] }, { "matcher": { "id": "byName", "options": "Actual" }, "properties": [ { "id": "color", "value": { "fixedColor": "super-light-blue", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 8, "w": 6, "x": 18, "y": 1 }, "id": 20, "interval": "", "links": [], "options": { "graph": {}, "legend": { "calcs": [ "min", "max", "mean", "last" ], "displayMode": "table", "placement": "bottom" }, "tooltipOptions": { "mode": "multi" } }, "pluginVersion": "7.4.0", "targets": [ { "aggregation": "Last", "datasource": "Prometheus", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(rate(client_sent_bytes_total[$itvl])) * 8", "interval": "", "legendFormat": "Actual", "refId": "B", "units": "none", "valueHandler": "Number Threshold" } ], "timeFrom": null, "timeShift": null, "title": "Outgoing bandwidth [$itvl]", "type": "timeseries" }, { "datasource": "Prometheus", "description": "Current uptime of client process", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "decimals": 2, "mappings": [], "noValue": "Client not found!", "thresholds": { "mode": "absolute", "steps": [ { "color": "super-light-blue", "value": null } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, "x": 0, "y": 9 }, "id": 51, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "/.*/", "values": false }, "text": {}, "textMode": "value_and_name" }, "pluginVersion": "7.4.0", "targets": [ { "expr": "process_uptime_seconds", "instant": true, "interval": "", "legendFormat": "Version: {{ version }}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "Uptime", "transformations": [ { "id": "organize", "options": { "excludeByName": { "Time": true }, "indexByName": {}, "renameByName": {} } } ], "transparent": true, "type": "stat" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "This is the number of threads the JVM is currently using\n\nShould generally be around `50 + `", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "super-light-blue", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 2, "x": 4, "y": 9 }, "id": 32, "interval": null, "links": [], "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "text": {}, "textMode": "auto" }, "pluginVersion": "7.4.0", "targets": [ { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(jvm_threads_live_threads)", "interval": "", "legendFormat": "", "refId": "A", "units": "none", "valueHandler": "Number Threshold" } ], "timeFrom": null, "timeShift": null, "title": "Threads", "transparent": true, "type": "stat" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "Files currently opened\n\nShould generally be around `100 + `", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "super-light-blue", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 2, "x": 6, "y": 9 }, "id": 34, "interval": null, "links": [], "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "text": {}, "textMode": "auto" }, "pluginVersion": "7.4.0", "targets": [ { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(process_files_open_files)", "interval": "", "legendFormat": "", "refId": "A", "units": "none", "valueHandler": "Number Threshold" } ], "timeFrom": null, "timeShift": null, "title": "FDs", "transparent": true, "type": "stat" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "This can be seen as the \"live\" memory of the JVM\n\nIn a healthy situation, it should fluctuate up and down regularly (as more data is used, then old one is released)", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "super-light-blue", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 3, "w": 2, "x": 8, "y": 9 }, "id": 30, "interval": null, "links": [], "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "text": {}, "textMode": "auto" }, "pluginVersion": "7.4.0", "targets": [ { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(jvm_memory_used_bytes{area=\"heap\"})", "interval": "", "legendFormat": "JVM", "refId": "A", "units": "none", "valueHandler": "Number Threshold" } ], "timeFrom": null, "timeShift": null, "title": "Heap", "transparent": true, "type": "stat" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "This can be seen as the memory used by the JVM for critical use\n\nIt should generally be mostly static and not vary much", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "super-light-blue", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 3, "w": 2, "x": 10, "y": 9 }, "id": 36, "interval": null, "links": [], "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "text": {}, "textMode": "auto" }, "pluginVersion": "7.4.0", "targets": [ { "expr": "sum(jvm_memory_used_bytes{area=\"nonheap\"})", "interval": "", "legendFormat": "", "refId": "B" } ], "timeFrom": null, "timeShift": null, "title": "Non-heap", "transparent": true, "type": "stat" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "This is the percentage of time that your client spends freeing up memory, specifically when this process requires your application to completely pause.\n\nIf this is at 50%, it would mean that out of every 1 second that passes, your application is paused for 500ms of it. It should never be higher than a percent or so.", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null }, { "color": "#EAB839", "value": 0.03 }, { "color": "dark-red", "value": 0.1 } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, "x": 12, "y": 9 }, "id": 31, "interval": null, "links": [], "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "text": {}, "textMode": "auto" }, "pluginVersion": "7.4.0", "targets": [ { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(rate(jvm_gc_pause_seconds_sum[$itvl])) / sum(rate(process_uptime_seconds[$itvl]))", "interval": "", "legendFormat": "", "refId": "A", "units": "none", "valueHandler": "Number Threshold" } ], "timeFrom": null, "timeShift": null, "title": "Time lost to GC", "transparent": true, "type": "stat" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "Total number of requests successfully served over timerange selected", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "super-light-blue", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, "x": 16, "y": 9 }, "id": 37, "interval": null, "links": [], "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "text": {}, "textMode": "value_and_name" }, "pluginVersion": "7.4.0", "targets": [ { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(increase(http_server_request_latency_seconds_count{status=~\"2..\", path=~\"(.*)data/{chapterHash}/{fileName}\"}[$__range]))", "instant": false, "interval": "", "legendFormat": "Over timerange", "refId": "B", "units": "none", "valueHandler": "Number Threshold" }, { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(increase(http_server_request_latency_seconds_count{status=~\"2..\", path=~\"(.*)data/{chapterHash}/{fileName}\"}[1y]))", "instant": false, "interval": "", "legendFormat": "Total (1y)", "refId": "A", "units": "none", "valueHandler": "Number Threshold" } ], "timeFrom": null, "timeShift": null, "title": "Served images", "transparent": true, "type": "stat" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "Total bytes sent over timerange currently selected", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "super-light-blue", "value": null } ] }, "unit": "decbytes" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, "x": 20, "y": 9 }, "id": 35, "interval": null, "links": [], "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "text": {}, "textMode": "value_and_name" }, "pluginVersion": "7.4.0", "targets": [ { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(increase(client_sent_bytes_total[$__range]))", "instant": true, "interval": "", "legendFormat": "Over timerange", "refId": "B", "units": "none", "valueHandler": "Number Threshold" }, { "aggregation": "Last", "decimals": 2, "displayAliasType": "Warning / Critical", "displayType": "Regular", "displayValueWithAlias": "Never", "expr": "sum(increase(client_sent_bytes_total[1y]))", "instant": true, "interval": "", "legendFormat": "Total (1y)", "refId": "A", "units": "none", "valueHandler": "Number Threshold" } ], "timeFrom": null, "timeShift": null, "title": "Sent data", "transparent": true, "type": "stat" }, { "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 12 }, "id": 12, "panels": [], "title": "Mangadex", "type": "row" }, { "aliasColors": { "ClientAbortException": "dark-red", "Duration - 0.999": "red", "Failures": "dark-red", "IllegalStateException": "yellow", "Mean response time - HIT": "super-light-green", "Mean response time - MISS": "super-light-yellow", "Request": "dark-green", "Request - FAIL": "dark-red", "Request - HIT": "dark-green", "Request - MISS": "dark-yellow", "Success": "dark-green", "TTFB": "super-light-green", "TTFB - 0.999": "dark-red", "TTFB - HIT": "green", "TTFB - MISS": "super-light-yellow" }, "bars": false, "dashLength": 10, "dashes": false, "datasource": "Prometheus", "description": "", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 10, "fillGradient": 0, "gridPos": { "h": 14, "w": 9, "x": 0, "y": 13 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": true, "current": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.4.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [ { "alias": "/Mean response.*/", "fill": 0, "linewidth": 2, "stack": false, "yaxis": 2 } ], "spaceLength": 10, "stack": true, "steppedLine": false, "targets": [ { "expr": "sum(rate(http_server_request_latency_seconds_count{path=~\"(.*)data/{chapterHash}/{fileName}\", status=~\"(4|5)..\"}[$itvl]))", "interval": "", "legendFormat": "Request - FAIL", "refId": "B" }, { "expr": "sum(rate(http_server_request_latency_seconds_count{path=~\"(.*)data/{chapterHash}/{fileName}\", status=~\"2..\"}[$itvl])) by (cache)", "interval": "", "legendFormat": "Request - {{ cache }}", "refId": "A" }, { "expr": "sum(rate(http_server_request_latency_seconds_sum{path=~\"(.*)data/{chapterHash}/{fileName}\", status=~\"2..\"}[$itvl]) / rate(http_server_request_latency_seconds_count{path=~\"(.*)data/{chapterHash}/{fileName}\", status=~\"2..\"}[$itvl])) by (cache)", "interval": "", "legendFormat": "Mean response time - {{ cache }}", "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Requests served [$itvl]", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "format": "reqps", "label": null, "logBase": 1, "max": null, "min": "0", "show": true }, { "format": "s", "label": null, "logBase": 1, "max": null, "min": "0", "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": { "ClientAbortException": "dark-red", "HIT": "dark-blue", "IllegalStateException": "yellow", "MISS": "yellow", "Success": "green" }, "bars": false, "dashLength": 10, "dashes": false, "datasource": "Prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 10, "fillGradient": 0, "gridPos": { "h": 8, "w": 8, "x": 9, "y": 13 }, "hiddenSeries": false, "id": 3, "legend": { "alignAsTable": true, "avg": true, "current": true, "max": true, "min": true, "rightSide": false, "show": true, "sort": "current", "sortDesc": true, "total": false, "values": true }, "lines": true, "linewidth": 0, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": true, "pluginVersion": "7.4.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": true, "steppedLine": false, "targets": [ { "expr": "sum(rate(http_server_request_latency_seconds_count{path=~\"(.*)data/{chapterHash}/{fileName}\"}[$itvl])) by (cache)", "interval": "", "legendFormat": "{{ cache }}", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Cache spread [$itvl]", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:314", "format": "reqps", "label": null, "logBase": 1, "max": "100", "min": "0", "show": true }, { "$$hashKey": "object:315", "format": "percentunit", "label": "hitrate", "logBase": 1, "max": "100", "min": "0", "show": false } ], "yaxis": { "align": false, "alignLevel": null } }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "mappings": [ { "from": "1", "id": 1, "text": "Disconnected", "to": "1000", "type": 2, "value": "" }, { "from": "0", "id": 2, "text": "Connected", "to": "1", "type": 2, "value": "" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-green", "value": null }, { "color": "dark-red", "value": 1 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 4, "w": 3, "x": 17, "y": 13 }, "id": 56, "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "text": {}, "textMode": "value" }, "pluginVersion": "7.4.0", "targets": [ { "expr": "sum(resilience4j_circuitbreaker_state{name=\"upstream\", state!=\"closed\"})", "instant": true, "interval": "", "legendFormat": "{{ state }}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "Upstream status", "type": "stat" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "Average cache hitrate of the current timerange\n\nSplits timerange in blocks of [$itvl], and averages their averages", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": {}, "mappings": [], "max": 1, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-red", "value": null }, { "color": "#EAB839", "value": 0.75 }, { "color": "dark-green", "value": 0.9 } ] }, "unit": "percentunit" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 20, "y": 13 }, "id": 54, "interval": null, "links": [], "options": { "colorMode": "background", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "text": {}, "textMode": "auto" }, "pluginVersion": "7.4.0", "targets": [ { "expr": "sum(rate(http_server_request_latency_seconds_count{path=~\"(.*)data/{chapterHash}/{fileName}\", cache=\"HIT\"}[$itvl])) / sum(rate(http_server_request_latency_seconds_count{path=~\"(.*)data/{chapterHash}/{fileName}\"}[$itvl]))", "interval": "", "legendFormat": "", "refId": "B" } ], "timeFrom": null, "timeShift": null, "title": "Avg hitrate over timerange", "type": "stat" }, { "aliasColors": { "200 - SUCCESS": "dark-green", "ClientAbortException": "dark-red", "Count": "dark-green", "Count - Exception: IllegalStateException": "dark-red", "Downloads": "dark-green", "Duration": "super-light-green", "IllegalStateException": "yellow", "Slow calls - failed": "dark-red", "Slow calls - successful": "yellow", "Success": "green", "TTFB": "super-light-blue", "Upstream failures": "dark-red", "failed": "dark-red", "ignored": "yellow" }, "bars": true, "dashLength": 10, "dashes": false, "datasource": "Prometheus", "description": "This panel displays stats about upstream fetches\n\nTTFB is the time taken by upstream to start replying\n\nStatuses can be:\n- **successful** - executed with success\n- **failed** - executed but failed for some reason\n- **ignored** - to avoid spamming upstream when it's dead or suffering, the client avoids calling it many times in a row if they keep failing", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 8, "fillGradient": 0, "gridPos": { "h": 10, "w": 7, "x": 17, "y": 17 }, "hiddenSeries": false, "id": 13, "legend": { "alignAsTable": true, "avg": true, "current": true, "hideEmpty": true, "hideZero": true, "max": true, "min": true, "show": true, "total": false, "values": true }, "lines": false, "linewidth": 1, "nullPointMode": "null as zero", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.4.0", "pointradius": 2, "points": false, "renderer": "flot", "seriesOverrides": [ { "$$hashKey": "object:158", "alias": "successful", "color": "#37872D" }, { "$$hashKey": "object:159", "alias": "TTFB", "bars": false, "color": "#C0D8FF", "fill": 0, "lines": true, "linewidth": 2, "stack": false, "yaxis": 2 } ], "spaceLength": 10, "stack": true, "steppedLine": false, "targets": [ { "expr": "sum(rate(resilience4j_circuitbreaker_calls_seconds_count{name=\"upstream\"}[$itvl])) by (kind)", "hide": false, "instant": false, "interval": "$itvl", "intervalFactor": 2, "legendFormat": "{{ kind }}", "refId": "A" }, { "expr": "avg(rate(resilience4j_circuitbreaker_calls_seconds_sum[$itvl])) / avg(rate(resilience4j_circuitbreaker_calls_seconds_count[$itvl]))", "interval": "", "intervalFactor": 1, "legendFormat": "TTFB", "refId": "C" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Downloads from upstream [$itvl]", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:182", "format": "reqps", "label": null, "logBase": 1, "max": null, "min": "0", "show": true }, { "$$hashKey": "object:183", "format": "s", "label": null, "logBase": 1, "max": null, "min": "0", "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "datasource": null, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "graph": false, "legend": false, "tooltip": false }, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": true }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "s" }, "overrides": [ { "matcher": { "id": "byName", "options": "0.5" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "0.75" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-yellow", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "0.9" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-orange", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "0.99" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "SUCCESS - 0.5" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "SUCCESS - 0.9" }, "properties": [ { "id": "color", "value": { "fixedColor": "yellow", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "SUCCESS - 0.99" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 6, "w": 8, "x": 9, "y": 21 }, "id": 49, "options": { "graph": {}, "legend": { "calcs": [ "mean" ], "displayMode": "list", "placement": "bottom" }, "tooltipOptions": { "mode": "multi" } }, "pluginVersion": "7.4.0", "targets": [ { "expr": "avg(avg_over_time(cache_lookup_seconds[$itvl])) by (quantile)", "interval": "", "legendFormat": "{{ quantile }}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "Cache latency [$itvl]", "type": "timeseries" }, { "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 27 }, "id": 53, "panels": [], "title": "GeoIP", "type": "row" }, { "circleMaxSize": "10", "circleMinSize": "1", "colors": [ "#73BF69", "#FADE2A", "#C4162A" ], "datasource": "Prometheus", "decimals": 0, "esMetric": "Count", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "gridPos": { "h": 15, "w": 11, "x": 0, "y": 28 }, "hideEmpty": true, "hideZero": true, "id": 39, "initialZoom": "2", "locationData": "countries", "mapCenter": "custom", "mapCenterLatitude": "30", "mapCenterLongitude": "20", "maxDataPoints": 1, "mouseWheelZoom": false, "pluginVersion": "7.3.4", "showLegend": true, "stickyLabels": false, "tableQueryOptions": { "geohashField": "geohash", "labelField": "country", "latitudeField": "latitude", "longitudeField": "longitude", "metricField": "metric", "queryType": "geohash" }, "targets": [ { "expr": "sum(increase(requests_country_counts_total[$__range])) by (country)", "format": "time_series", "instant": true, "interval": "", "legendFormat": "{{ country }}", "refId": "A" } ], "thresholds": "1000,10000", "timeFrom": null, "timeShift": null, "title": "Origin of requests over timerange", "type": "grafana-worldmap-panel", "unitPlural": "", "unitSingle": "", "unitSingular": "", "valueName": "current" }, { "aliasColors": {}, "bars": true, "dashLength": 10, "dashes": false, "datasource": null, "fieldConfig": { "defaults": { "custom": {}, "thresholds": { "mode": "absolute", "steps": [] } }, "overrides": [] }, "fill": 8, "fillGradient": 0, "gridPos": { "h": 15, "w": 13, "x": 11, "y": 28 }, "hiddenSeries": false, "id": 41, "legend": { "alignAsTable": true, "avg": true, "current": true, "hideEmpty": true, "hideZero": true, "max": false, "min": false, "rightSide": true, "show": true, "sort": "avg", "sortDesc": true, "total": false, "values": true }, "lines": false, "linewidth": 2, "nullPointMode": "null as zero", "options": { "alertThreshold": false }, "percentage": false, "pluginVersion": "7.4.0", "pointradius": 0.5, "points": false, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": true, "steppedLine": false, "targets": [ { "expr": "topk(5, sum(rate(requests_country_counts_total[$itvl])) by (country))", "interval": "$itvl", "legendFormat": "{{ country }}", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Country spread [$itvl]", "tooltip": { "shared": true, "sort": 2, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:104", "format": "reqps", "label": null, "logBase": 1, "max": null, "min": "0", "show": true }, { "$$hashKey": "object:105", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": false } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": "30s", "schemaVersion": 27, "style": "dark", "tags": [], "templating": { "list": [ { "auto": true, "auto_count": 30, "auto_min": "2m", "current": { "selected": false, "text": "auto", "value": "$__auto_interval_itvl" }, "description": null, "error": null, "hide": 0, "label": "Resolution", "name": "itvl", "options": [ { "selected": true, "text": "auto", "value": "$__auto_interval_itvl" }, { "selected": false, "text": "2m", "value": "2m" }, { "selected": false, "text": "3m", "value": "3m" }, { "selected": false, "text": "10m", "value": "10m" }, { "selected": false, "text": "30m", "value": "30m" }, { "selected": false, "text": "1h", "value": "1h" }, { "selected": false, "text": "6h", "value": "6h" }, { "selected": false, "text": "12h", "value": "12h" }, { "selected": false, "text": "1d", "value": "1d" }, { "selected": false, "text": "7d", "value": "7d" }, { "selected": false, "text": "14d", "value": "14d" }, { "selected": false, "text": "30d", "value": "30d" } ], "query": "2m,3m,10m,30m,1h,6h,12h,1d,7d,14d,30d", "queryValue": "", "refresh": 2, "skipUrlSync": false, "type": "interval" } ] }, "time": { "from": "now-5m", "to": "now" }, "timepicker": {}, "timezone": "", "title": "MangaDex@Home - Personal client dashboard", "uid": "a7sZAw2Mk", "version": 2 }