apiVersion: v1 kind: ConfigMap metadata: name: unpackerr-grafana-dashboard namespace: monitoring labels: grafana_dashboard: "1" data: unpackerr-dashboard.json: | { "__inputs": [ { "name": "DS_VICTORIA", "label": "Victoria", "description": "", "type": "datasource", "pluginId": "prometheus", "pluginName": "Prometheus" } ], "__elements": {}, "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "10.1.5" }, { "type": "panel", "id": "heatmap", "name": "Heatmap", "version": "" }, { "type": "datasource", "id": "prometheus", "name": "Prometheus", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" }, { "type": "panel", "id": "text", "name": "Text", "version": "" }, { "type": "panel", "id": "timeseries", "name": "Time series", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Official Unpackerr Dashboard", "editable": true, "fiscalYearStartMonth": 0, "gnetId": 18817, "graphTooltip": 2, "id": null, "links": [], "liveNow": false, "panels": [ { "description": "", "gridPos": { "h": 3, "w": 4, "x": 8, "y": 0 }, "id": 27, "options": { "code": { "language": "plaintext", "showLineNumbers": false, "showMiniMap": false }, "content": "
\n

Uptime

\n[[instance]]
", "mode": "html" }, "pluginVersion": "10.1.5", "transparent": true, "type": "text" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "How long unpackerr has been running", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-blue", "value": null } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, "x": 12, "y": 0 }, "id": 18, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "last" ], "fields": "", "values": false }, "text": {}, "textMode": "value" }, "pluginVersion": "10.1.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "editorMode": "builder", "expr": "unpackerr_uptime_seconds_total{instance=\"$instance\"}", "legendFormat": "__auto", "range": true, "refId": "A" } ], "transparent": true, "type": "stat" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 3 }, "id": 10, "panels": [], "title": "Queues", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "Contains counts for all Unpackerr queue gauges. As items progress through the queue, they transition from one of these states to another.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 4, "scaleDistribution": { "type": "linear" }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 4 }, "id": 1, "interval": "1m", "options": { "legend": { "calcs": [ "last" ], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "editorMode": "builder", "expr": "unpackerr_gauges{instance=\"$instance\"}", "legendFormat": "{{name}}", "range": true, "refId": "A" } ], "title": "Queue Gauges", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "Displays totals for all Unpackerr queue counters. Contains command hooks, web hooks, finished and retried extraction counts.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 4, "scaleDistribution": { "type": "linear" }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 4 }, "id": 2, "interval": "1m", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "editorMode": "builder", "expr": "sum by(name) (unpackerr_counters{instance=\"$instance\"})", "legendFormat": "{{name}}", "range": true, "refId": "A" } ], "title": "Queue Counters", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "Shows the number of items in the activity queue for each starr app that Unpackerr is polling.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 1, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 12 }, "id": 4, "interval": "1m", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "pluginVersion": "9.5.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "editorMode": "builder", "expr": "sum by(app, url) (unpackerr_app_queue_size{instance=\"$instance\"})", "hide": false, "legendFormat": "{{url}}", "range": true, "refId": "A" } ], "title": "Starr Queues", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "Contains channel buffer sizes. Under normal conditions these are always zero, or very close to zero.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 4, "scaleDistribution": { "type": "linear" }, "showPoints": "always", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 12 }, "id": 3, "interval": "1m", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "editorMode": "builder", "expr": "unpackerr_buffers{instance=\"$instance\"}", "legendFormat": "{{name}}", "range": true, "refId": "A" } ], "title": "Queue Buffers", "type": "timeseries" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 20 }, "id": 6, "panels": [], "title": "Starr API Response Times", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "Visualization of API responses times from [[starrUrl]] and also includes request + error counts.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 41, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "smooth", "lineWidth": 1, "pointSize": 11, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": true, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "s" }, "overrides": [ { "matcher": { "id": "byName", "options": "Requests" }, "properties": [ { "id": "custom.axisPlacement", "value": "hidden" }, { "id": "unit", "value": "none" }, { "id": "custom.drawStyle", "value": "line" }, { "id": "decimals", "value": 0 }, { "id": "custom.hideFrom", "value": { "legend": true, "tooltip": false, "viz": false } } ] }, { "matcher": { "id": "byName", "options": "Errors" }, "properties": [ { "id": "color", "value": { "fixedColor": "dark-red", "mode": "fixed" } }, { "id": "custom.drawStyle", "value": "bars" }, { "id": "unit", "value": "none" }, { "id": "custom.axisPlacement", "value": "hidden" }, { "id": "custom.hideFrom", "value": { "legend": true, "tooltip": false, "viz": false } }, { "id": "custom.fillOpacity", "value": 100 } ] } ] }, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 21 }, "id": 5, "interval": "$interval", "maxPerRow": 2, "options": { "legend": { "calcs": [ "mean" ], "displayMode": "list", "placement": "bottom", "showLegend": true }, "timezone": [ "" ], "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.5.2", "repeat": "starrUrl", "repeatDirection": "h", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "disableTextWrap": false, "editorMode": "builder", "expr": "unpackerr_app_queue_fetch_time_seconds{url=~\"$starrUrl\", instance=\"$instance\"}", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "legendFormat": "{{app}} {{url}}", "range": true, "refId": "A", "useBackend": false }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "disableTextWrap": false, "editorMode": "builder", "exemplar": false, "expr": "increase(unpackerr_app_queue_fetch_total{url=~\"$starrUrl\", instance=\"$instance\"}[$__rate_interval])", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "instant": false, "interval": "$interval", "legendFormat": "Requests", "range": true, "refId": "B", "useBackend": false }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "disableTextWrap": false, "editorMode": "builder", "expr": "increase(unpackerr_app_queue_fetch_errors_total{url=~\"$starrUrl\", instance=\"$instance\"}[$__rate_interval])", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "interval": "$interval", "legendFormat": "Errors", "range": true, "refId": "C", "useBackend": false } ], "title": "API Responses: [[starrUrl]]", "type": "timeseries" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 35 }, "id": 14, "panels": [], "repeat": "source", "repeatDirection": "h", "title": "Xtracts: [[source]]", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "This is how many bytes have been written from extracted archives via source: [[source]]", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-purple", "value": null } ] }, "unit": "bytes" }, "overrides": [] }, "gridPos": { "h": 8, "w": 4, "x": 0, "y": 36 }, "id": 23, "interval": "1m", "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.1.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "disableTextWrap": false, "editorMode": "builder", "expr": "unpackerr_bytes_written_total{instance=\"$instance\", url=~\"$source\"}", "fullMetaSearch": false, "includeNullMetadata": true, "legendFormat": "{{url}}", "range": true, "refId": "A", "useBackend": false } ], "title": "Bytes Written", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "This is how many archive files (rar/zip/etc) that have been extracted via source: [[source]]", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-purple", "value": null } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 8, "w": 4, "x": 4, "y": 36 }, "id": 24, "interval": "1m", "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.1.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "disableTextWrap": false, "editorMode": "builder", "expr": "unpackerr_archives_read_total{instance=\"$instance\", url=~\"$source\"}", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "legendFormat": "__auto", "range": true, "refId": "A", "useBackend": false } ], "title": "Archives Read", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "This is how many files that have been extracted and written to disk via source: [[source]]", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "dark-purple", "value": null } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 8, "w": 4, "x": 8, "y": 36 }, "id": 25, "interval": "1m", "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "10.1.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "disableTextWrap": false, "editorMode": "builder", "expr": "unpackerr_files_extracted_total{instance=\"$instance\", url=~\"$source\"}", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "legendFormat": "__auto", "range": true, "refId": "A", "useBackend": false } ], "title": "FIles Extracted", "type": "stat" }, { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "description": "This histogram depicts the duration of each extraction. Each extraction generally represents 1 item in a starr app, or 1 folder in a folder watcher. This may include any number of archives. Via source: [[source]]", "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 36 }, "id": 26, "interval": "1m", "options": { "calculate": false, "cellGap": 1, "color": { "exponent": 0.5, "fill": "dark-orange", "max": 16, "min": 1, "mode": "scheme", "reverse": false, "scale": "exponential", "scheme": "Purples", "steps": 16 }, "exemplars": { "color": "rgba(255,0,255,0.7)" }, "filterValues": { "le": 1e-9 }, "legend": { "show": true }, "rowsFrame": { "layout": "ge" }, "tooltip": { "show": true, "yHistogram": false }, "yAxis": { "axisPlacement": "left", "reverse": false, "unit": "s" } }, "pluginVersion": "10.1.5", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "disableTextWrap": false, "editorMode": "builder", "expr": "increase(unpackerr_extract_time_seconds_bucket{instance=\"$instance\", url=~\"$source\"}[$__rate_interval])", "format": "heatmap", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, "legendFormat": "__auto", "range": true, "refId": "A", "useBackend": false } ], "title": "Extraction Duration: [[source]]", "type": "heatmap" } ], "refresh": "1m", "schemaVersion": 38, "style": "dark", "tags": [], "templating": { "list": [ { "current": {}, "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "definition": "label_values(unpackerr_app_queue_size{instance=\"$instance\"},url)", "description": "This only includes urls for starr apps, not folders.", "hide": 2, "includeAll": true, "multi": false, "name": "starrUrl", "options": [], "query": { "query": "label_values(unpackerr_app_queue_size{instance=\"$instance\"},url)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" }, { "current": {}, "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "definition": "label_values(unpackerr_counters,instance)", "description": "Unpackerr instance, just in case you run multiple.", "hide": 0, "includeAll": false, "label": "Unpackerr", "multi": false, "name": "instance", "options": [], "query": { "query": "label_values(unpackerr_counters,instance)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 1, "type": "query" }, { "current": {}, "datasource": { "type": "prometheus", "uid": "${DS_VICTORIA}" }, "definition": "label_values(unpackerr_archives_read_total{instance=\"$instance\"},url)", "description": "This url is populated by \"apps\" (and folders) that have had items extracted.", "hide": 2, "includeAll": true, "multi": false, "name": "source", "options": [], "query": { "query": "label_values(unpackerr_archives_read_total{instance=\"$instance\"},url)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" }, { "current": { "selected": true, "text": "1m", "value": "1m" }, "description": "Set this to your unpackerr poll interval.", "hide": 0, "includeAll": false, "label": "Poll Interval", "multi": false, "name": "interval", "options": [ { "selected": false, "text": "15s", "value": "15s" }, { "selected": false, "text": "30s", "value": "30s" }, { "selected": true, "text": "1m", "value": "1m" }, { "selected": false, "text": "90s", "value": "90s" }, { "selected": false, "text": "2m", "value": "2m" }, { "selected": false, "text": "3m", "value": "3m" }, { "selected": false, "text": "4m", "value": "4m" }, { "selected": false, "text": "5m", "value": "5m" }, { "selected": false, "text": "10m", "value": "10m" }, { "selected": false, "text": "15m", "value": "15m" }, { "selected": false, "text": "30m", "value": "30m" } ], "query": "15s,30s,1m,90s,2m,3m,4m,5m,10m,15m,30m", "queryValue": "", "skipUrlSync": false, "type": "custom" } ] }, "time": { "from": "now-3h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "Unpackerr", "uid": "facc95c7-4a7c-4256-9378-4cc2b12e9045", "version": 3, "weekStart": "" }