diff --git a/grafana/staging/dashboards/ai-gateway.json b/grafana/staging/dashboards/ai-gateway.json new file mode 100644 index 00000000..ffb22038 --- /dev/null +++ b/grafana/staging/dashboards/ai-gateway.json @@ -0,0 +1,2444 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 1, + "id": null, + "links": [ + { + "asDropdown": false, + "icon": "external link", + "includeVars": true, + "keepTime": true, + "tags": [], + "targetBlank": true, + "title": "AI Gateway Cloud", + "tooltip": "", + "type": "link", + "url": "https://monitor.livepeer.cloud/grafana/d/Livepeer-Gateway-AI/gateway-ai-overview?orgId=1&refresh=1h" + } + ], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "id": 23763572290, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "--------\n# Tickets\n-------", + "mode": "markdown" + }, + "pluginVersion": "11.1.3", + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "gridPos": { + "h": 3, + "w": 18, + "x": 6, + "y": 0 + }, + "id": 23763572293, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "_____\n# Model stats\n_____", + "mode": "markdown" + }, + "pluginVersion": "11.1.3", + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "decimals": 4, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "blue", + "value": null + } + ] + }, + "unit": "Eth" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "B" + }, + "properties": [ + { + "id": "unit", + "value": "currencyUSD" + }, + { + "id": "decimals", + "value": 2 + } + ] + } + ] + }, + "gridPos": { + "h": 5, + "w": 6, + "x": 0, + "y": 3 + }, + "id": 23763572269, + "interval": "1m", + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value", + "wideLayout": true + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum by() (increase(livepeer_ticket_value_sent{job=~\"^.*$job_livepeer.*$\"}[$__range])) / 1000000000", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "eth", + "range": true, + "refId": "A", + "useBackend": false + }, + { + "datasource": { + "type": "__expr__", + "uid": "__expr__" + }, + "expression": "$A * $eth", + "hide": false, + "refId": "B", + "type": "math" + } + ], + "title": "Ticket value sent", + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "blue", + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "noValue": "0", + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 15, + "w": 9, + "x": 6, + "y": 3 + }, + "id": 23763572278, + "interval": "15s", + "options": { + "displayLabels": [], + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "values": [ + "value", + "percent" + ] + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "11.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "sum by(pipeline, model_name) (increase(livepeer_ai_models_requested{job=~\"^.*$job_livepeer.*$\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]))", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Completed", + "transparent": true, + "type": "piechart" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "Requests that failed due to no supply being available", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#ffffff26", + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "noValue": "0", + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 15, + "w": 9, + "x": 15, + "y": 3 + }, + "id": 23763572324, + "interval": "15s", + "options": { + "displayLabels": [], + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "values": [ + "value", + "percent" + ] + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "11.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum by (pipeline, model_name) (\n increase(\n livepeer_ai_request_errors{job=~\"^.*$job_livepeer.*$\", error_code=~\"no orchestrators available.*\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]\n )\n)", + "hide": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "A" + } + ], + "title": "Missing supply", + "transparent": true, + "type": "piechart" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "Based on the moving average with an interval of 24 hours", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#ffffff26", + "mode": "fixed" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 70, + "gradientMode": "hue", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 3, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "currencyUSD" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Daily" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "blue", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Monthly" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "light-blue", + "mode": "fixed" + } + }, + { + "id": "custom.fillOpacity", + "value": 0 + }, + { + "id": "custom.axisPlacement", + "value": "right" + }, + { + "id": "custom.hideFrom", + "value": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + { + "id": "unit", + "value": "currencyUSD" + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 8 + }, + "id": 23763572260, + "interval": "5m", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "8.4.0-pre", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum((rate(livepeer_ticket_value_sent{job=~\"^.*$job_livepeer.*$\"}[1d])*(60*60*24*365)/12)*1e-9 * $eth) or on() vector(0)", + "legendFormat": "Monthly", + "range": true, + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum((rate(livepeer_ticket_value_sent{job=~\"^.*$job_livepeer.*$\"}[1d])*(60*60*24))*1e-9 * $eth) or on() vector(0)", + "hide": false, + "instant": false, + "legendFormat": "Daily", + "range": true, + "refId": "B" + } + ], + "title": "💵 Daily/Monthly Fees", + "transparent": true, + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "gridPos": { + "h": 3, + "w": 6, + "x": 0, + "y": 15 + }, + "id": 23763572300, + "options": { + "code": { + "language": "plaintext", + "showLineNumbers": false, + "showMiniMap": false + }, + "content": "_____\n# Job stats\n_____", + "mode": "markdown" + }, + "pluginVersion": "11.1.3", + "transparent": true, + "type": "text" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "dark-green", + "mode": "fixed" + }, + "decimals": 0, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 2, + "x": 0, + "y": 18 + }, + "id": 23763572320, + "interval": "15s", + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum(increase(livepeer_ai_models_requested{job=~\"^.*$job_livepeer.*$\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]))", + "hide": false, + "legendFormat": "Sum", + "range": true, + "refId": "A" + } + ], + "title": "Completed", + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "Requests that failed due to no supply being available", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "dark-orange", + "mode": "fixed" + }, + "decimals": 0, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 2, + "x": 2, + "y": 18 + }, + "id": 23763572330, + "interval": "15s", + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum(\n increase(\n livepeer_ai_request_errors{job=~\"^.*$job_livepeer.*$\", error_code=~\"no orchestrators available.*\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]\n )\n)", + "hide": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Missing supply", + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "dark-orange", + "mode": "fixed" + }, + "decimals": 0, + "mappings": [], + "noValue": "0", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 2, + "x": 4, + "y": 18 + }, + "id": 23763572323, + "interval": "15s", + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum(\n increase(\n livepeer_ai_request_errors{job=~\"^.*$job_livepeer.*$\", error_code!~\"no orchestrators available.*\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]\n )\n)", + "hide": false, + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Other errors", + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#ffffff26", + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "bars", + "fillOpacity": 70, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "stepAfter", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": 600000, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent", + "value": null + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 15, + "w": 18, + "x": 6, + "y": 18 + }, + "id": 23763572295, + "maxDataPoints": 100, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "8.4.0-pre", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum by (pipeline, model_name) (increase(livepeer_ai_models_requested{job=~\"^.*$job_livepeer.*$\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__interval]))", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "A" + } + ], + "title": "Requests completed", + "transparent": true, + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "What was charged for the average job:\n- upscale: from 512x512 to 1024x1024\n- txt2img: per 1024x1024 frame\n- img2img: per 1024x1024 frame\n- txt2vid: per 25 frames of 1024x1024 \n- img2vid: per 25 frames of 1024x1024\n- audio2txt: per minute of audio", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "dark-blue", + "mode": "fixed" + }, + "links": [], + "mappings": [], + "min": 0, + "noValue": "⌛", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent", + "value": null + } + ] + }, + "unit": "currencyUSD" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 3, + "x": 0, + "y": 23 + }, + "id": 23763572306, + "interval": "15s", + "options": { + "colorMode": "background", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg_over_time(livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"text-to-image\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]) * 1024 * 1024 * 1e-18 * $eth", + "hide": false, + "instant": false, + "legendFormat": "Cost", + "range": true, + "refId": "txt2img" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg_over_time(livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"image-to-image\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]) * 1024 * 1024 * 1e-18 * $eth", + "hide": false, + "legendFormat": "Cost", + "range": true, + "refId": "img2img" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg_over_time(livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"text-to-video\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]) * 1024 * 1024 * 25 * 1e-18 * $eth", + "hide": false, + "instant": false, + "legendFormat": "Cost", + "range": true, + "refId": "txt2vid" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg_over_time(livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"image-to-video\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]) * 1024 * 1024 * 25 * 1e-18 * $eth", + "hide": false, + "instant": false, + "legendFormat": "Cost", + "range": true, + "refId": "img2vid" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg_over_time(livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"audio-to-text\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]) * 1000 * 60 * 1e-18 * $eth", + "hide": false, + "instant": false, + "legendFormat": "Cost", + "range": true, + "refId": "audio2txt" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg_over_time(livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"upscale\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]) * 1024 * 1024 * 1e-18 * $eth", + "hide": false, + "instant": false, + "legendFormat": "Cost", + "range": true, + "refId": "upscale" + } + ], + "title": "Average price", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "reduce", + "options": { + "reducers": [ + "mean" + ] + } + } + ], + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "excluding \"no orchestrators available\"", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#ffffff26", + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "noValue": "0", + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 11, + "w": 6, + "x": 0, + "y": 28 + }, + "id": 23763572284, + "interval": "15s", + "options": { + "displayLabels": [], + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "values": [ + "value", + "percent" + ] + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "11.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum by (pipeline, model_name) (\n increase(\n livepeer_ai_request_errors{job=~\"^.*$job_livepeer.*$\", error_code!~\"no orchestrators available.*\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]\n )\n)", + "hide": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "A" + } + ], + "title": "Errors by model ", + "transparent": true, + "type": "piechart" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#ffffff26", + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "bars", + "fillOpacity": 70, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "stepAfter", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": 600000, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent" + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 15, + "w": 18, + "x": 6, + "y": 33 + }, + "id": 23763572327, + "maxDataPoints": 100, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true, + "sortBy": "Mean", + "sortDesc": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "8.4.0-pre", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "disableTextWrap": false, + "editorMode": "code", + "expr": "increase(livepeer_ai_request_errors{job=~\"^.*$job_livepeer.*$\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__interval])", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "", + "legendFormat": "{{pipeline}} | {{model_name}} | {{ error_code }}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Requests errors", + "transparent": true, + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "Where did the error which caused the job to fail occur? (excluding \"no orchestrators available\")", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#ffffff26", + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "noValue": "0", + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Value" + }, + "properties": [ + { + "id": "displayName", + "value": "Gateway" + } + ] + } + ] + }, + "gridPos": { + "h": 10, + "w": 6, + "x": 0, + "y": 39 + }, + "id": 23763572322, + "interval": "15s", + "options": { + "legend": { + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "values": [ + "value", + "percent" + ] + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum by (orchestrator_address) (increase(livepeer_ai_request_errors{job=~\"^.*$job_livepeer.*$\", error_code!~\"no orchestrators available.*\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]))", + "hide": false, + "instant": false, + "legendFormat": "{{orchestrator_address}}", + "range": true, + "refId": "audio2txt" + } + ], + "title": "Error origin", + "transformations": [ + { + "id": "labelsToFields", + "options": { + "mode": "columns", + "valueLabel": "orchestrator_address" + } + } + ], + "transparent": true, + "type": "piechart" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "What was charged for the average job:\n- upscale: from 512x512 to 1024x1024\n- txt2img: per 1024x1024 frame\n- img2img: per 1024x1024 frame\n- txt2vid: per 25 frames of 1024x1024 \n- img2vid: per 25 frames of 1024x1024\n- audio2txt: per minute of audio", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "links": [], + "mappings": [], + "min": 0, + "noValue": "⌛", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent" + } + ] + }, + "unit": "currencyUSD" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Mean" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Min" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 9, + "x": 6, + "y": 48 + }, + "id": 23763572288, + "interval": "15s", + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "enablePagination": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"text-to-image\", model_name=~\"${model:pipe}\"} * 1024 * 1024 * 1e-18 * $eth)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "txt2img" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"image-to-image\", model_name=~\"${model:pipe}\"} * 1024 * 1024 * 1e-18 * $eth)", + "hide": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "img2img" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"text-to-video\", model_name=~\"${model:pipe}\"} * 1024 * 1024 * 25 * 1e-18 * $eth)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "txt2vid" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"image-to-video\", model_name=~\"${model:pipe}\"} * 1024 * 1024 * 25 * 1e-18 * $eth)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "img2vid" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"audio-to-text\", model_name=~\"${model:pipe}\"} * 1000 * 60 * 1e-18 * $eth)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "audio2txt" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_price{job=~\"^.*$job_livepeer.*$\", pipeline=\"upscale\", model_name=~\"${model:pipe}\"} * 1024 * 1024 * 1e-18 * $eth)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "upscale" + } + ], + "title": "Average cost", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "reduce", + "options": { + "reducers": [ + "min", + "mean", + "max" + ] + } + } + ], + "transparent": true, + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "Processing times, the lower the better:\n- upscale: time to upscale from 512x512 to 1024x1024\n- txt2img: time to generate a 1024x1024 frame\n- img2img: time to generate a 1024x1024 frame\n- txt2vid: time to generate a 1024x1024 frame\n- img2vid: time to generate a 1024x1024 frame\n- audio2txt: time to process a second of audio", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "links": [], + "mappings": [], + "min": 0, + "noValue": "⌛", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent" + } + ] + }, + "unit": "s" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Min" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Mean" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Max" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 9, + "x": 15, + "y": 48 + }, + "id": 23763572315, + "interval": "15s", + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"text-to-image\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "txt2img" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"image-to-image\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "img2img" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"text-to-video\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "txt2vid" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"image-to-video\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "img2vid" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"audio-to-text\", model_name=~\"${model:pipe}\"} * 1)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "audio2txt" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (pipeline, model_name) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"upscale\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "instant": false, + "legendFormat": "{{pipeline}} | {{model_name}}", + "range": true, + "refId": "upscale" + } + ], + "title": "Latency score", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "reduce", + "options": { + "reducers": [ + "min", + "mean", + "max" + ] + } + } + ], + "transparent": true, + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "What's the error message? (excluding \"no orchestrators available\")", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#ffffff26", + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "noValue": "0", + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Value" + }, + "properties": [ + { + "id": "displayName", + "value": "Gateway" + } + ] + } + ] + }, + "gridPos": { + "h": 10, + "w": 6, + "x": 0, + "y": 49 + }, + "id": 23763572326, + "interval": "15s", + "options": { + "legend": { + "displayMode": "table", + "placement": "bottom", + "showLegend": true, + "values": [ + "value", + "percent" + ] + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "pluginVersion": "11.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum by (error_code) (increase(livepeer_ai_request_errors{job=~\"^.*$job_livepeer.*$\", error_code!~\"no orchestrators available.*\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]))", + "hide": false, + "instant": false, + "legendFormat": "{{orchestrator_address}}", + "range": true, + "refId": "audio2txt" + } + ], + "title": "Error code", + "transformations": [ + { + "id": "labelsToFields", + "options": { + "mode": "columns", + "valueLabel": "error_code" + } + } + ], + "transparent": true, + "type": "piechart" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "decimals": 0, + "links": [], + "mappings": [], + "min": 0, + "noValue": "✅", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent" + } + ] + }, + "unit": "short" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Last *" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + } + ] + } + ] + }, + "gridPos": { + "h": 11, + "w": 6, + "x": 0, + "y": 59 + }, + "id": 23763572298, + "interval": "15s", + "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Last *" + } + ] + }, + "pluginVersion": "11.1.3", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum by (orchestrator_address, error_code) (increase(livepeer_ai_request_errors{job=~\"^.*$job_livepeer.*$\", error_code!~\"no orchestrators available.*\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__range]))", + "hide": false, + "legendFormat": "{{orchestrator_address}}: {{error_code}}", + "range": true, + "refId": "A" + } + ], + "title": "Errors", + "transformations": [ + { + "id": "concatenate", + "options": {} + }, + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true + }, + "includeByName": {}, + "indexByName": {}, + "renameByName": {} + } + }, + { + "id": "reduce", + "options": { + "reducers": [ + "lastNotNull" + ] + } + } + ], + "transparent": true, + "type": "table" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "description": "Processing times, the lower the better:\n- upscale: time to upscale from 512x512 to 1024x1024\n- txt2img: time to generate a 1024x1024 frame\n- img2img: time to generate a 1024x1024 frame\n- txt2vid: time to generate a 1024x1024 frame\n- img2vid: time to generate a 1024x1024 frame\n- audio2txt: time to process 1 second of audio", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#ffffff26", + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "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": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "links": [], + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent" + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 16, + "w": 15, + "x": 6, + "y": 59 + }, + "id": 23763572316, + "interval": "15s", + "options": { + "legend": { + "calcs": [ + "min", + "mean", + "max", + "lastNotNull" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "desc" + } + }, + "pluginVersion": "11.1.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (orchestrator_address) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"text-to-image\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "instant": false, + "legendFormat": "{{orchestrator_address}}", + "range": true, + "refId": "txt2img" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (orchestrator_address) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"image-to-image\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "legendFormat": "{{orchestrator_address}}", + "range": true, + "refId": "img2img" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (orchestrator_address) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"text-to-video\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "instant": false, + "legendFormat": "{{orchestrator_address}}", + "range": true, + "refId": "txt2vid" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (orchestrator_address) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"image-to-video\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "instant": false, + "legendFormat": "{{orchestrator_address}}", + "range": true, + "refId": "img2vid" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (orchestrator_address) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"audio-to-text\", model_name=~\"${model:pipe}\"} * 1)", + "hide": false, + "instant": false, + "legendFormat": "{{orchestrator_address}}", + "range": true, + "refId": "audio2txt" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "avg by (orchestrator_address) (livepeer_ai_request_latency_score{job=~\"^.*$job_livepeer.*$\", pipeline=\"upscale\", model_name=~\"${model:pipe}\"} * 1024 * 1024)", + "hide": false, + "instant": false, + "legendFormat": "{{orchestrator_address}}", + "range": true, + "refId": "upscale" + } + ], + "title": "Latency score", + "transparent": true, + "type": "timeseries" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 75 + }, + "id": 23763572329, + "panels": [], + "title": "Orchestrator versions", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "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": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 9, + "x": 0, + "y": 76 + }, + "id": 23763572328, + "links": [ + { + "title": "All orchestrator versions", + "url": "/grafana/d/edyyryuj00we8b/orchestrator-versions?orgId=1" + } + ], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "disableTextWrap": false, + "editorMode": "code", + "expr": "count by(orchestrator_version) (count by(orchestrator_uri, orchestrator_version, ) (increase(livepeer_ai_request_latency_score{livepeer_live_app=~\".*-livepeer-ai-gateway\", pipeline=~\"${pipeline:pipe}\", model_name=~\"${model:pipe}\"}[$__rate_interval])))", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "{{orchestrator_version}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "AI Orchestrator versions", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "Value", + "renamePattern": "Unknown version" + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "loki", + "uid": "P8E80F9AEF21F6940" + }, + "description": "excludes `Polling blocks` log lines", + "gridPos": { + "h": 10, + "w": 15, + "x": 9, + "y": 76 + }, + "id": 23763572331, + "links": [ + { + "title": "Explore logs", + "url": "/grafana/explore?schemaVersion=1&panes=%7B%2203k%22:%7B%22datasource%22:%22P8E80F9AEF21F6940%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bapp%3D~%5C%22.%2A-livepeer-ai-gateway%5C%22%7D%20%21%3D%20%60Polling%20blocks%60%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22P8E80F9AEF21F6940%22%7D,%22editorMode%22:%22code%22%7D%5D,%22range%22:%7B%22from%22:%22${__from}%22,%22to%22:%22${__to}%22%7D%7D%7D&orgId=1" + } + ], + "options": { + "dedupStrategy": "none", + "enableLogDetails": true, + "prettifyLogMessage": false, + "showCommonLabels": false, + "showLabels": false, + "showTime": true, + "sortOrder": "Descending", + "wrapLogMessage": false + }, + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "P8E80F9AEF21F6940" + }, + "editorMode": "code", + "expr": "{app=~\".*-livepeer-ai-gateway\"} != `Polling blocks`", + "queryType": "range", + "refId": "A" + } + ], + "title": "AI Gateway logs", + "type": "logs" + }, + { + "datasource": { + "type": "loki", + "uid": "P8E80F9AEF21F6940" + }, + "description": "", + "gridPos": { + "h": 10, + "w": 15, + "x": 9, + "y": 86 + }, + "id": 23763572332, + "links": [ + { + "title": "Explore logs", + "url": "/grafana/explore?schemaVersion=1&panes=%7B%2203k%22:%7B%22datasource%22:%22P8E80F9AEF21F6940%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bapp%3D~%5C%22.%2Alivepeer-api%5C%22%7D%20%7C%3D%20%60%2Fapi%2Fbeta%2Fgenerate%2F%60%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22P8E80F9AEF21F6940%22%7D,%22editorMode%22:%22code%22%7D%5D,%22range%22:%7B%22from%22:%22${__from}%22,%22to%22:%22${__to}%22%7D%7D%7D&orgId=1" + } + ], + "options": { + "dedupStrategy": "none", + "enableLogDetails": true, + "prettifyLogMessage": false, + "showCommonLabels": false, + "showLabels": false, + "showTime": true, + "sortOrder": "Descending", + "wrapLogMessage": false + }, + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "P8E80F9AEF21F6940" + }, + "editorMode": "code", + "expr": "{app=~\".*livepeer-api\"} |= `/api/beta/generate/`", + "queryType": "range", + "refId": "A" + } + ], + "title": "Livepeer API logs", + "type": "logs" + } + ], + "revision": 1, + "schemaVersion": 39, + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": true, + "text": "2675", + "value": "2675" + }, + "description": "Ethereum price in dollars $$$", + "hide": 0, + "label": "Eth price", + "name": "eth", + "options": [ + { + "selected": true, + "text": "2675", + "value": "2675" + } + ], + "query": "2675", + "skipUrlSync": false, + "type": "textbox" + }, + { + "allValue": ".+", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "definition": "label_values({livepeer_live_app=~\".*livepeer-ai-gateway\"},pipeline)", + "description": "", + "hide": 0, + "includeAll": true, + "label": "", + "multi": true, + "name": "pipeline", + "options": [], + "query": { + "qryType": 1, + "query": "label_values({livepeer_live_app=~\".*livepeer-ai-gateway\"},pipeline)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "allValue": ".+", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "definition": "label_values({pipeline=~\"${pipeline:pipe}\", livepeer_live_app=~\".*livepeer-ai-gateway\"},model_name)", + "description": "View stats about this specific model in the subsection below", + "hide": 0, + "includeAll": true, + "label": "Model", + "multi": true, + "name": "model", + "options": [], + "query": { + "qryType": 1, + "query": "label_values({pipeline=~\"${pipeline:pipe}\", livepeer_live_app=~\".*livepeer-ai-gateway\"},model_name)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "type": "query" + }, + { + "current": { + "selected": true, + "text": "", + "value": "" + }, + "description": "Filters all Gateway metrics by this job name. Leave empty to if you don't want to filter by job name.", + "hide": 2, + "label": "Job filter: Gateway", + "name": "job_livepeer", + "options": [ + { + "selected": true, + "text": "", + "value": "" + } + ], + "query": "", + "skipUrlSync": false, + "type": "textbox" + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "30s", + "1h" + ] + }, + "timezone": "", + "title": "AI Gateway", + "uid": "Livepeer-Gateway-AI", + "version": 8, + "weekStart": "monday" +} diff --git a/grafana/staging/dashboards/airbyte.json b/grafana/staging/dashboards/airbyte.json index d66ee8df..4fd0e54d 100644 --- a/grafana/staging/dashboards/airbyte.json +++ b/grafana/staging/dashboards/airbyte.json @@ -580,6 +580,6 @@ "timezone": "", "title": "Airbyte", "uid": "cfcefa9b-1269-4ced-af57-e23ee6805009", - "version": 11, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/alerts-nodes.json b/grafana/staging/dashboards/alerts-nodes.json index d4223e27..5297665a 100644 --- a/grafana/staging/dashboards/alerts-nodes.json +++ b/grafana/staging/dashboards/alerts-nodes.json @@ -468,6 +468,6 @@ "timezone": "", "title": "Alerts - Nodes", "uid": "100000012", - "version": 6, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/app-versions.json b/grafana/staging/dashboards/app-versions.json index 77dc6fac..efffa4be 100644 --- a/grafana/staging/dashboards/app-versions.json +++ b/grafana/staging/dashboards/app-versions.json @@ -43,6 +43,7 @@ }, { "datasource": { + "default": true, "type": "prometheus", "uid": "PBFA97CFB590B2093" }, @@ -58,6 +59,7 @@ "axisLabel": "", "axisPlacement": "left", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 60, "gradientMode": "none", @@ -130,18 +132,19 @@ "uid": "PBFA97CFB590B2093" }, "editorMode": "code", - "expr": "sum by(version,pod) (version{app=\"catalyst-api\"})", + "expr": "sum by(version,pod) (version{app=\"catalyst-api\",app_kubernetes_io_name=\"catalyst-api\"})", "format": "time_series", "legendFormat": "__auto", "range": true, "refId": "A" } ], - "title": "Catalyst API", + "title": "Catalyst API (Standalone)", "type": "timeseries" }, { "datasource": { + "default": true, "type": "prometheus", "uid": "PBFA97CFB590B2093" }, @@ -153,10 +156,11 @@ "custom": { "axisBorderShow": false, "axisCenteredZero": false, - "axisColorMode": "text", + "axisColorMode": "series", "axisLabel": "", - "axisPlacement": "auto", + "axisPlacement": "left", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 60, "gradientMode": "none", @@ -206,11 +210,13 @@ "x": 6, "y": 1 }, - "id": 13, + "id": 19, "interval": "1m", "options": { "legend": { - "calcs": [], + "calcs": [ + "lastNotNull" + ], "displayMode": "list", "placement": "bottom", "showLegend": true @@ -227,17 +233,19 @@ "uid": "PBFA97CFB590B2093" }, "editorMode": "code", - "expr": "sum(version{app=\"MistServer\", pod!=\"canary-catalyst-0\"}) by (version)", + "expr": "sum by(version,pod) (version{app=\"catalyst-api\",catalyst=\"true\", region!=\"sin-staging\"})", + "format": "time_series", "legendFormat": "__auto", "range": true, "refId": "A" } ], - "title": "MistServer", + "title": "Catalyst API (Catalyst Live)", "type": "timeseries" }, { "datasource": { + "default": true, "type": "prometheus", "uid": "PBFA97CFB590B2093" }, @@ -249,10 +257,11 @@ "custom": { "axisBorderShow": false, "axisCenteredZero": false, - "axisColorMode": "text", + "axisColorMode": "series", "axisLabel": "", - "axisPlacement": "auto", + "axisPlacement": "left", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 60, "gradientMode": "none", @@ -302,11 +311,13 @@ "x": 12, "y": 1 }, - "id": 14, - "interval": "5m", + "id": 20, + "interval": "1m", "options": { "legend": { - "calcs": [], + "calcs": [ + "lastNotNull" + ], "displayMode": "list", "placement": "bottom", "showLegend": true @@ -323,13 +334,14 @@ "uid": "PBFA97CFB590B2093" }, "editorMode": "code", - "expr": "sum by (version) (version{app=\"studio-api\"})", + "expr": "sum by(version,pod) (version{app=\"catalyst-api\",catalyst=\"true\", region=\"sin-staging\"})", + "format": "time_series", "legendFormat": "__auto", "range": true, "refId": "A" } ], - "title": "Livepeer Studio API", + "title": "Catalyst API (Catalyst VOD)", "type": "timeseries" }, { @@ -349,6 +361,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 60, "gradientMode": "none", @@ -395,8 +408,8 @@ "gridPos": { "h": 6, "w": 6, - "x": 18, - "y": 1 + "x": 0, + "y": 7 }, "id": 18, "interval": "5m", @@ -428,12 +441,206 @@ "title": "Task runner", "type": "timeseries" }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 60, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 6, + "y": 7 + }, + "id": 13, + "interval": "1m", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum(version{app=\"MistServer\", pod!=\"canary-catalyst-0\"}) by (version)", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "MistServer", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 60, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 12, + "y": 7 + }, + "id": 14, + "interval": "5m", + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "editorMode": "code", + "expr": "sum by (version) (version{app=\"studio-api\"})", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Livepeer Studio API", + "type": "timeseries" + }, { "gridPos": { "h": 1, "w": 24, "x": 0, - "y": 7 + "y": 13 }, "id": 11, "title": "go-livepeer", @@ -456,6 +663,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 60, "gradientMode": "none", @@ -502,7 +710,7 @@ "h": 6, "w": 6, "x": 0, - "y": 8 + "y": 14 }, "id": 3, "interval": "1m", @@ -551,6 +759,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 60, "gradientMode": "none", @@ -597,7 +806,7 @@ "h": 6, "w": 6, "x": 6, - "y": 8 + "y": 14 }, "id": 5, "interval": "1m", @@ -646,6 +855,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 60, "gradientMode": "none", @@ -692,7 +902,7 @@ "h": 6, "w": 6, "x": 12, - "y": 8 + "y": 14 }, "id": 6, "interval": "1m", @@ -741,6 +951,7 @@ "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 32, "gradientMode": "none", @@ -790,7 +1001,7 @@ "h": 6, "w": 6, "x": 0, - "y": 14 + "y": 20 }, "id": 4, "interval": "1m", @@ -825,7 +1036,7 @@ ], "refresh": "5s", "revision": 1, - "schemaVersion": 38, + "schemaVersion": 39, "tags": [], "templating": { "list": [] @@ -838,6 +1049,6 @@ "timezone": "utc", "title": "App Versions", "uid": "L7BdzGh4z", - "version": 31, + "version": 4, "weekStart": "" } diff --git a/grafana/staging/dashboards/catalyst-multi-node.json b/grafana/staging/dashboards/catalyst-multi-node.json index 7d3b7750..7d3633c0 100644 --- a/grafana/staging/dashboards/catalyst-multi-node.json +++ b/grafana/staging/dashboards/catalyst-multi-node.json @@ -2258,6 +2258,6 @@ "timezone": "utc", "title": "Catalyst Multi-Node", "uid": "EWXkaj7Vz", - "version": 27, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/catalyst-node-inspector.json b/grafana/staging/dashboards/catalyst-node-inspector.json index d81aefcd..bf7e172a 100644 --- a/grafana/staging/dashboards/catalyst-node-inspector.json +++ b/grafana/staging/dashboards/catalyst-node-inspector.json @@ -677,6 +677,6 @@ "timezone": "", "title": "Catalyst Node Inspector", "uid": "PzbLIMd4z", - "version": 13, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/catalyst-stream-inspector.json b/grafana/staging/dashboards/catalyst-stream-inspector.json index 36504f25..dbb41d55 100644 --- a/grafana/staging/dashboards/catalyst-stream-inspector.json +++ b/grafana/staging/dashboards/catalyst-stream-inspector.json @@ -224,6 +224,6 @@ "timezone": "", "title": "Catalyst Stream Inspector", "uid": "MQJsMGO4z", - "version": 12, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/cdn-redirects.json b/grafana/staging/dashboards/cdn-redirects.json index d1fb9e89..3843454a 100644 --- a/grafana/staging/dashboards/cdn-redirects.json +++ b/grafana/staging/dashboards/cdn-redirects.json @@ -514,6 +514,6 @@ "timezone": "", "title": "CDN redirects", "uid": "f1e103a6-2ec1-44e8-bcee-d1d5f68bdbf5", - "version": 18, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/clickhouse-cluster-analysis.json b/grafana/staging/dashboards/clickhouse-cluster-analysis.json new file mode 100644 index 00000000..91452bfa --- /dev/null +++ b/grafana/staging/dashboards/clickhouse-cluster-analysis.json @@ -0,0 +1,1733 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "iteration": 1661857966580, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "semi-dark-blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Version" + }, + "properties": [ + { + "id": "unit", + "value": "string" + } + ] + } + ] + }, + "gridPos": { + "h": 5, + "w": 4, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "center", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/.*/", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT version()", + "refId": "A" + } + ], + "transformations": [ + { + "id": "convertFieldType", + "options": { + "conversions": [ + { + "destinationType": "string", + "targetField": "Version" + } + ], + "fields": {} + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "version()": "Version" + } + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "semi-dark-blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "uptime" + }, + "properties": [ + { + "id": "unit", + "value": "s" + } + ] + } + ] + }, + "gridPos": { + "h": 5, + "w": 4, + "x": 4, + "y": 0 + }, + "id": 4, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT uptime() as uptime", + "refId": "A" + } + ], + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "uptime": "Server uptime" + } + } + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "semi-dark-blue", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 4, + "x": 8, + "y": 0 + }, + "id": 6, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT count() as \"Number of databases\" FROM system.databases WHERE name IN (${database:singlequote})", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "semi-dark-blue", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 4, + "x": 12, + "y": 0 + }, + "id": 7, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT count() as \"Number of tables\" FROM system.tables WHERE database IN (${database:singlequote})", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "semi-dark-blue", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 4, + "x": 16, + "y": 0 + }, + "id": 8, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT sum(total_rows) as \"Number of rows\" FROM system.tables WHERE database IN (${database:singlequote});", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "semi-dark-blue", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 4, + "x": 20, + "y": 0 + }, + "id": 9, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "center", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT count() as \"Number of columns\" FROM system.columns WHERE database IN (${database:singlequote});", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "displayMode": "auto", + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Is local" + }, + "properties": [ + { + "id": "mappings", + "value": [ + { + "options": { + "0": { + "color": "light-red", + "index": 0, + "text": "remote" + }, + "1": { + "color": "light-green", + "index": 1, + "text": "local" + } + }, + "type": "value" + } + ] + }, + { + "id": "custom.displayMode", + "value": "color-background-solid" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Errors count" + }, + "properties": [ + { + "id": "color", + "value": { + "mode": "continuous-GrYlRd" + } + }, + { + "id": "custom.displayMode", + "value": "color-background" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Slowdowns count" + }, + "properties": [ + { + "id": "color", + "value": { + "mode": "continuous-GrYlRd" + } + }, + { + "id": "custom.displayMode", + "value": "color-background" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Cluster" + }, + "properties": [ + { + "id": "custom.filterable", + "value": true + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Host name" + }, + "properties": [ + { + "id": "custom.filterable", + "value": true + } + ] + } + ] + }, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 20, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT cluster, shard_num, replica_num, host_name, host_address, port, is_local, errors_count, slowdowns_count FROM system.clusters;\n", + "refId": "A" + } + ], + "title": "Cluster Overview", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "cluster": "Cluster", + "errors_count": "Errors count", + "host_address": "Host address", + "host_name": "Host name", + "is_local": "Is local", + "port": "Port", + "replica_num": "Replicated number", + "shard_num": "Shard number", + "slowdowns_count": "Slowdowns count" + } + } + } + ], + "type": "table" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "progress" + }, + "properties": [ + { + "id": "unit", + "value": "percent" + }, + { + "id": "color", + "value": { + "mode": "continuous-RdYlGr" + } + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 5, + "x": 0, + "y": 15 + }, + "id": 13, + "options": { + "displayMode": "lcd", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": true + }, + "showUnfilled": true + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT concatAssumeInjective(database, '.', table) as db_table, round(100 * progress, 1) \"progress\" FROM system.merges WHERE database IN (${database:singlequote}) ORDER BY progress DESC LIMIT 5;\n", + "refId": "A" + } + ], + "title": "Merge progress per table", + "type": "bargauge" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "displayMode": "auto", + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Database" + }, + "properties": [ + { + "id": "custom.width", + "value": 78 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Table" + }, + "properties": [ + { + "id": "custom.width", + "value": 200 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Elapsed" + }, + "properties": [ + { + "id": "custom.width", + "value": 75 + }, + { + "id": "unit", + "value": "s" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Progress" + }, + "properties": [ + { + "id": "custom.width", + "value": 82 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Mutation" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + }, + { + "id": "unit", + "value": "bool" + }, + { + "id": "color", + "value": { + "mode": "thresholds" + } + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 0 + }, + { + "color": "semi-dark-green", + "value": 1 + } + ] + } + }, + { + "id": "custom.displayMode", + "value": "color-background-solid" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Partition id" + }, + "properties": [ + { + "id": "custom.width", + "value": 92 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Target path" + }, + "properties": [ + { + "id": "custom.width", + "value": 396 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Num parts" + }, + "properties": [ + { + "id": "custom.width", + "value": 90 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "total_size_compressed" + }, + "properties": [ + { + "id": "custom.width", + "value": 185 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Columns written" + }, + "properties": [ + { + "id": "custom.width", + "value": 198 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total compressed size" + }, + "properties": [ + { + "id": "custom.width", + "value": 166 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Compressed size" + }, + "properties": [ + { + "id": "custom.width", + "value": 138 + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 19, + "x": 5, + "y": 15 + }, + "id": 11, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT concatAssumeInjective(database, '.', table) as db_table, round(elapsed, 1) \"elapsed\", round(100 * progress, 1) \"progress\", is_mutation, partition_id, result_part_path, source_part_paths, num_parts, formatReadableSize(total_size_bytes_compressed) \"total_size_compressed\", formatReadableSize(bytes_read_uncompressed) \"read_uncompressed\", formatReadableSize(bytes_written_uncompressed) \"written_uncompressed\", columns_written, formatReadableSize(memory_usage) \"memory_usage\", thread_id FROM system.merges WHERE database IN (${database:singlequote});", + "refId": "Merges" + } + ], + "title": "Current merges", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "partition_id": true, + "read_uncompressed": true, + "source_part_paths": true, + "thread_id": true, + "written_uncompressed": true + }, + "indexByName": {}, + "renameByName": { + "columns_written": "Columns written", + "database": "Database", + "db_table": "Table", + "elapsed": "Elapsed", + "is_mutation": "Mutation", + "memory_usage": "Memory usage", + "num_parts": "Num parts", + "partition_id": "Partition id", + "progress": "Progress", + "result_part_path": "Target path", + "table": "Table", + "total_size_compressed": "Compressed size" + } + } + } + ], + "type": "table" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "parts_remaining" + }, + "properties": [ + { + "id": "min", + "value": 0 + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 5, + "x": 0, + "y": 22 + }, + "id": 14, + "options": { + "displayMode": "lcd", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": true + }, + "showUnfilled": true + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT concatAssumeInjective(database, '.', table, ' - ', mutation_id) as db_table, length(parts_to_do_names) as parts_remaining FROM system.mutations WHERE parts_remaining > 0 AND database IN (${database:singlequote}) ORDER BY parts_remaining DESC;", + "refId": "A" + } + ], + "title": "Mutations parts remaining", + "type": "bargauge" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "center", + "displayMode": "auto", + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Is completed" + }, + "properties": [ + { + "id": "custom.width", + "value": 100 + }, + { + "id": "unit", + "value": "bool" + }, + { + "id": "color", + "value": { + "mode": "thresholds" + } + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "semi-dark-orange", + "value": 0 + }, + { + "color": "semi-dark-green", + "value": 1 + } + ] + } + }, + { + "id": "custom.displayMode", + "value": "color-background-solid" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Database" + }, + "properties": [ + { + "id": "custom.width", + "value": 86 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Table" + }, + "properties": [ + { + "id": "custom.width", + "value": 194 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Fail time" + }, + "properties": [ + { + "id": "custom.width", + "value": 201 + }, + { + "id": "custom.align", + "value": "center" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Result" + }, + "properties": [ + { + "id": "custom.width", + "value": 133 + }, + { + "id": "mappings", + "value": [ + { + "options": { + "failure": { + "color": "light-red", + "index": 1, + "text": "failure" + }, + "success": { + "color": "semi-dark-green", + "index": 0, + "text": "success" + } + }, + "type": "value" + } + ] + }, + { + "id": "custom.displayMode", + "value": "color-background" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Reason" + }, + "properties": [ + { + "id": "custom.width", + "value": 163 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Command" + }, + "properties": [ + { + "id": "custom.width", + "value": 300 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Mutation id" + }, + "properties": [ + { + "id": "custom.width", + "value": 157 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Create time" + }, + "properties": [ + { + "id": "custom.width", + "value": 194 + } + ] + } + ] + }, + "gridPos": { + "h": 7, + "w": 19, + "x": 5, + "y": 22 + }, + "id": 15, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT concatAssumeInjective(database, '.', table) as db_table, mutation_id, command, create_time, parts_to_do_names, is_done, latest_failed_part, if(latest_fail_time = '1970-01-01 00:00:00', 'success', 'failure') as success, if(latest_fail_time = '1970-01-01 00:00:00', '-', CAST(latest_fail_time, 'String')) as fail_time, latest_fail_reason FROM system.mutations WHERE database IN (${database:singlequote}) ORDER BY is_done ASC, create_time DESC LIMIT 10", + "refId": "Merges" + } + ], + "title": "Current mutations", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "latest_failed_part": true, + "partition_id": true, + "parts_to_do_names": true, + "read_uncompressed": true, + "source_part_paths": true, + "thread_id": true, + "written_uncompressed": true + }, + "indexByName": { + "command": 5, + "create_time": 2, + "db_table": 0, + "fail_time": 9, + "is_done": 3, + "latest_fail_reason": 6, + "latest_failed_part": 8, + "mutation_id": 1, + "parts_to_do_names": 7, + "success": 4 + }, + "renameByName": { + "columns_written": "Columns written", + "command": "Command", + "create_time": "Create time", + "database": "Database", + "db_table": "Table", + "elapsed": "Elapsed", + "fail_time": "Fail time", + "is_done": "Is completed", + "is_mutation": "Mutation", + "latest_fail_reason": "Reason", + "latest_fail_time": "Fail time", + "memory_usage": "Memory usage", + "mutation_id": "Mutation id", + "num_parts": "Num parts", + "partition_id": "Partition id", + "parts_to_do_names": "Pending parts", + "progress": "Progress", + "result_part_path": "Target path", + "success": "Result", + "table": "Table", + "total_size_compressed": "Compressed size" + } + } + }, + { + "id": "convertFieldType", + "options": { + "conversions": [], + "fields": {} + } + } + ], + "type": "table" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 5, + "x": 0, + "y": 29 + }, + "id": 18, + "options": { + "displayMode": "lcd", + "minVizHeight": 10, + "minVizWidth": 0, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showUnfilled": true + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT concatAssumeInjective(database, '.', table) as db_table, queue_size FROM system.replicas WHERE database IN (${database:singlequote}) ORDER BY absolute_delay DESC LIMIT 10", + "refId": "A" + } + ], + "title": "Replicated tables by delay", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "absolute_delay": "Delay", + "db_table": "Table", + "inserts_in_queue": "Inserts in queue", + "is_leader": "Leader", + "is_readonly": "Readonly", + "merges_in_queue": "Merges in queue", + "queue_size": "Queue size" + } + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto", + "inspect": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Table" + }, + "properties": [ + { + "id": "custom.width", + "value": 200 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Leader" + }, + "properties": [ + { + "id": "custom.width", + "value": 122 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Readonly" + }, + "properties": [ + { + "id": "custom.width", + "value": 138 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Delay" + }, + "properties": [ + { + "id": "custom.width", + "value": 108 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Queue size" + }, + "properties": [ + { + "id": "custom.width", + "value": 113 + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 19, + "x": 5, + "y": 29 + }, + "id": 17, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT concatAssumeInjective(database, '.', table) as db_table, is_leader, is_readonly, absolute_delay, queue_size, inserts_in_queue, merges_in_queue FROM system.replicas WHERE database IN (${database:singlequote}) ORDER BY absolute_delay DESC LIMIT 10", + "refId": "A" + } + ], + "title": "Replicated tables by delay", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": {}, + "renameByName": { + "absolute_delay": "Delay", + "db_table": "Table", + "inserts_in_queue": "Inserts in queue", + "is_leader": "Leader", + "is_readonly": "Readonly", + "merges_in_queue": "Merges in queue", + "queue_size": "Queue size" + } + } + } + ], + "type": "table" + } + ], + "schemaVersion": 36, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": {}, + "hide": 0, + "includeAll": false, + "label": "ClickHouse instance", + "multi": false, + "name": "datasource", + "options": [], + "query": "grafana-clickhouse-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "definition": "SELECT name FROM system.databases;", + "hide": 0, + "includeAll": true, + "label": "Database", + "multi": false, + "name": "database", + "options": [], + "query": "SELECT name FROM system.databases;", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "y-Ka8y37k" + }, + "filters": [], + "hide": 0, + "name": "filters", + "skipUrlSync": false, + "type": "adhoc" + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "ClickHouse - Cluster Analysis", + "uid": "_hAsuzBnz", + "version": 1, + "weekStart": "" +} diff --git a/grafana/staging/dashboards/clickhouse-query-analysis.json b/grafana/staging/dashboards/clickhouse-query-analysis.json new file mode 100644 index 00000000..a89e6070 --- /dev/null +++ b/grafana/staging/dashboards/clickhouse-query-analysis.json @@ -0,0 +1,1489 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "iteration": 1661858001390, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "semi-dark-blue", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 0, + "y": 0 + }, + "id": 10, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT count() as \"Total queries\" FROM system.query_log WHERE type in ($type) AND initial_user IN ($user) AND query_kind IN ($query_kind) AND $__timeFilter(event_time) ", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "semi-dark-blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Avg query memory" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + } + ] + } + ] + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 5, + "y": 0 + }, + "id": 17, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT avg(memory_usage) as \"Avg query memory\", $__timeInterval(query_start_time) as time FROM system.query_log WHERE type in ($type) AND initial_user IN ($user) AND query_kind IN ($query_kind) AND $__timeFilter(event_time) GROUP BY time ORDER BY time", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "fillOpacity": 80, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineWidth": 1 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "light-blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Query time" + }, + "properties": [ + { + "id": "unit", + "value": "ms" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 10, + "y": 0 + }, + "id": 12, + "options": { + "bucketOffset": 0, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + } + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT query_duration_ms as \"Query time\" FROM system.query_log WHERE type in ($type) AND initial_user IN ($user) AND query_kind IN ($query_kind) AND $__timeFilter(event_time) LIMIT 1000;", + "refId": "A" + } + ], + "title": "Query time distribution", + "type": "histogram" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + } + }, + "mappings": [] + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 6, + "x": 18, + "y": 0 + }, + "id": 8, + "options": { + "displayLabels": [], + "legend": { + "displayMode": "list", + "placement": "bottom" + }, + "pieType": "pie", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT initial_user, count() as c FROM system.query_log WHERE type in ($type) AND initial_user IN ($user) AND query_kind IN ($query_kind) GROUP BY initial_user LIMIT 100;\n", + "refId": "A" + } + ], + "title": "Top users", + "type": "piechart" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "semi-dark-blue", + "value": null + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Avg query time" + }, + "properties": [ + { + "id": "unit", + "value": "dtdurationms" + } + ] + } + ] + }, + "gridPos": { + "h": 4, + "w": 10, + "x": 0, + "y": 4 + }, + "id": 16, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^Avg query time$/", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "9.0.1", + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT avg(query_duration_ms) as \"Avg query time\", $__timeInterval(query_start_time) as time FROM system.query_log WHERE type in ($type) AND initial_user IN ($user) AND query_kind IN ($query_kind) AND $__timeFilter(event_time) GROUP BY time ORDER BY time", + "refId": "A" + } + ], + "type": "stat" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 15, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 1, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "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": 11, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 3, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 2, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT $__timeInterval(query_start_time) as time,\n any(normalizeQuery(query)) AS normalized_query,\n count() as c\nFROM system.query_log\nWHERE type != 'QueryStart'\n AND $__timeFilter(event_time)\n AND initial_user IN ($user)\n AND query_kind IN ($query_kind)\n AND normalized_query_hash IN (SELECT normalized_query_hash\n FROM system.query_log\n WHERE type in ($type) AND $__timeFilter(event_time) AND query_kind IN ($query_kind)\n GROUP BY normalized_query_hash\n ORDER BY count() DESC\n LIMIT 5)\nGROUP BY normalized_query_hash, time\nORDER BY time", + "refId": "A" + } + ], + "title": "Top query types over time", + "transformations": [ + { + "id": "prepareTimeSeries", + "options": { + "format": "many" + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "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": 10, + "w": 24, + "x": 0, + "y": 19 + }, + "id": 6, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 2, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT $__timeInterval(query_start_time) as time,\n any(normalizeQuery(query)) AS normalized_query,\n avg(query_duration_ms) as avg_query_duration\nFROM system.query_log\nWHERE type != 'QueryStart'\n AND $__timeFilter(event_time)\n AND type in ($type) AND initial_user IN ($user) AND query_kind IN ($query_kind)\n AND normalized_query_hash IN (SELECT normalized_query_hash\n FROM system.query_log\n WHERE type in ($type) AND initial_user IN ($user) AND query_kind IN ($query_kind) AND $__timeFilter(event_time)\n GROUP BY normalized_query_hash\n ORDER BY avg(query_duration_ms) DESC\n LIMIT 10)\nGROUP BY normalized_query_hash, time\nORDER BY time", + "refId": "A" + } + ], + "title": "Query performance by type over time", + "transformations": [ + { + "id": "prepareTimeSeries", + "options": { + "format": "many" + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "bars", + "fillOpacity": 0, + "gradientMode": "opacity", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "normal" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 29 + }, + "id": 13, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 2, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT $__timeInterval(query_start_time) as time, initial_user as user, count() as \"number of queries by\"\nFROM system.query_log\nWHERE query_kind IN ($query_kind) AND type IN ($type) AND $__timeFilter(event_time) AND initial_user IN (\n SELECT initial_user\nFROM system.query_log\nWHERE query_kind IN ($query_kind) AND type IN ($type) AND $__timeFilter(event_time)\nGROUP BY initial_user\nORDER BY count() as c DESC\nLIMIT 10\n)\nGROUP BY initial_user, time\nORDER BY time;", + "refId": "A" + } + ], + "title": "Query requests by user", + "transformations": [ + { + "id": "prepareTimeSeries", + "options": { + "format": "many" + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-GrYlRd" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 20, + "gradientMode": "scheme", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "smooth", + "lineWidth": 3, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Max Memory Usage" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 39 + }, + "id": 15, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single" + } + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 2, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT $__timeInterval(query_start_time) as time, \n max(memory_usage) as \"Max Memory Usage\"\nFROM system.query_log\nWHERE $__timeFilter(event_time)\nGROUP BY time\nORDER BY time DESC", + "refId": "A" + } + ], + "title": "Memory usage over time", + "type": "timeseries" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "Read rows", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 26, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "smooth", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "read_rows" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-blue", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "written_rows" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-red", + "mode": "fixed" + } + }, + { + "id": "custom.axisPlacement", + "value": "right" + }, + { + "id": "custom.axisLabel", + "value": "Written rows" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 39 + }, + "id": 19, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single" + } + }, + "targets": [ + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT toStartOfInterval(toDateTime(event_time), INTERVAL 60 second), sum(read_rows) read_rows, sum(written_rows) written_rows FROM system.query_log WHERE $__timeFilter(event_time) GROUP BY event_time ORDER BY event_time ASC", + "refId": "A" + } + ], + "title": "Read vs Write Rows", + "type": "timeseries" + }, + { + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "displayMode": "auto" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "written" + }, + "properties": [ + { + "id": "custom.width", + "value": 207 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "type" + }, + "properties": [ + { + "id": "custom.width", + "value": 116 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "memory usage" + }, + "properties": [ + { + "id": "custom.width", + "value": 119 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "result" + }, + "properties": [ + { + "id": "custom.width", + "value": 201 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "read" + }, + "properties": [ + { + "id": "custom.width", + "value": 123 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "query_kind" + }, + "properties": [ + { + "id": "custom.width", + "value": 90 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "query_duration_ms" + }, + "properties": [ + { + "id": "custom.width", + "value": 145 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "initial_user" + }, + "properties": [ + { + "id": "custom.width", + "value": 104 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "client_hostname" + }, + "properties": [ + { + "id": "custom.width", + "value": 246 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "databases" + }, + "properties": [ + { + "id": "custom.width", + "value": 114 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "user" + }, + "properties": [ + { + "id": "custom.width", + "value": 119 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "client" + }, + "properties": [ + { + "id": "custom.width", + "value": 270 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Client host" + }, + "properties": [ + { + "id": "custom.width", + "value": 110 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Query id" + }, + "properties": [ + { + "id": "custom.width", + "value": 104 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Start time" + }, + "properties": [ + { + "id": "custom.width", + "value": 162 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Duration" + }, + "properties": [ + { + "id": "custom.width", + "value": 92 + }, + { + "id": "unit", + "value": "dtdurationms" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Normalized query" + }, + "properties": [ + { + "id": "custom.width", + "value": 885 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Rows weitten" + }, + "properties": [ + { + "id": "custom.width", + "value": 150 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Rows read" + }, + "properties": [ + { + "id": "custom.width", + "value": 177 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Type" + }, + "properties": [ + { + "id": "custom.width", + "value": 84 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Result" + }, + "properties": [ + { + "id": "custom.width", + "value": 296 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "User" + }, + "properties": [ + { + "id": "custom.width", + "value": 84 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Rows written" + }, + "properties": [ + { + "id": "custom.width", + "value": 197 + } + ] + } + ] + }, + "gridPos": { + "h": 12, + "w": 24, + "x": 0, + "y": 47 + }, + "id": 4, + "options": { + "footer": { + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [ + { + "desc": false, + "displayName": "Memory usage" + } + ] + }, + "pluginVersion": "8.3.4", + "targets": [ + { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + }, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "format": 1, + "meta": { + "builderOptions": { + "fields": [], + "limit": 100, + "mode": "list" + } + }, + "queryType": "sql", + "rawSql": "SELECT query_start_time, type, query_duration_ms, initial_user, substring(query_id,1, 8) as query_id, query_kind, normalizeQuery(query) AS normalized_query, concat( toString(read_rows), ' rows / ', formatReadableSize(read_bytes) ) AS read, concat( toString(written_rows), ' rows / ', formatReadableSize(written_bytes) ) AS written, concat( toString(result_rows), ' rows / ', formatReadableSize(result_bytes) ) AS result, formatReadableSize(memory_usage) AS \"memory usage\" FROM system.query_log WHERE type in ($type) AND initial_user IN ($user) AND query_kind IN ($query_kind) AND $__timeFilter(event_time) ORDER BY query_duration_ms DESC LIMIT 1000", + "refId": "A" + } + ], + "title": "Query overview", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "initial_user": 5, + "memory usage": 2, + "normalized_query": 7, + "query_duration_ms": 4, + "query_id": 0, + "query_kind": 6, + "query_start_time": 3, + "read": 8, + "result": 10, + "type": 1, + "written": 9 + }, + "renameByName": { + "c": "", + "client": "Client", + "client_hostname": "Client host", + "databases": "Databases", + "exception": "Exception", + "initial_user": "User", + "memory usage": "Memory usage", + "normalized_query": "Normalized query", + "query_duration_ms": "Duration", + "query_id": "Query id", + "query_kind": "Type", + "query_start_time": "Start time", + "read": "Rows read", + "result": "Result", + "stack_trace": "Stack trace", + "tables": "Tables", + "type": "Status", + "user": "User", + "written": "Rows written" + } + } + } + ], + "type": "table" + } + ], + "refresh": false, + "schemaVersion": 36, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": {}, + "hide": 0, + "includeAll": false, + "label": "ClickHouse instance", + "multi": false, + "name": "datasource", + "options": [], + "query": "grafana-clickhouse-datasource", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": {}, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "definition": "SELECT DISTINCT(query_kind) as query_kind FROM system.query_log WHERE query_kind != ''", + "description": "", + "hide": 0, + "includeAll": true, + "label": "Query kind", + "multi": true, + "name": "query_kind", + "options": [], + "query": "SELECT DISTINCT(query_kind) as query_kind FROM system.query_log WHERE query_kind != ''", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "definition": "SELECT type FROM system.query_log GROUP BY type", + "hide": 0, + "includeAll": true, + "label": "Query status", + "multi": true, + "name": "type", + "options": [], + "query": "SELECT type FROM system.query_log GROUP BY type", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + }, + { + "current": {}, + "datasource": { + "type": "grafana-clickhouse-datasource", + "uid": "${datasource}" + }, + "definition": "SELECT DISTINCT(initial_user) FROM system.query_log WHERE initial_user != '' LIMIT 100", + "hide": 0, + "includeAll": true, + "label": "User", + "multi": true, + "name": "user", + "options": [], + "query": "SELECT DISTINCT(initial_user) FROM system.query_log WHERE initial_user != '' LIMIT 100", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" + } + ] + }, + "time": { + "from": "now-24h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "ClickHouse - Query Analysis", + "uid": "w5Q2Otank", + "version": 1, + "weekStart": "" +} diff --git a/grafana/staging/dashboards/current-alerts.json b/grafana/staging/dashboards/current-alerts.json index ef28206a..510af9db 100644 --- a/grafana/staging/dashboards/current-alerts.json +++ b/grafana/staging/dashboards/current-alerts.json @@ -70,6 +70,6 @@ "timezone": "", "title": "Current Alerts", "uid": "NUdDtNl7k", - "version": 19, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/docker-and-host-monitoring-w-prometheus.json b/grafana/staging/dashboards/docker-and-host-monitoring-w-prometheus.json index 7e4bb6dd..45e453da 100644 --- a/grafana/staging/dashboards/docker-and-host-monitoring-w-prometheus.json +++ b/grafana/staging/dashboards/docker-and-host-monitoring-w-prometheus.json @@ -1578,5 +1578,5 @@ "timezone": "browser", "title": "Docker and Host Monitoring w/ Prometheus", "uid": "64nrElFmk", - "version": 3 + "version": 1 } diff --git a/grafana/staging/dashboards/federated-livepeer-overview.json b/grafana/staging/dashboards/federated-livepeer-overview.json index f41a4544..fed7c401 100644 --- a/grafana/staging/dashboards/federated-livepeer-overview.json +++ b/grafana/staging/dashboards/federated-livepeer-overview.json @@ -2726,6 +2726,6 @@ "timezone": "", "title": "Federated Livepeer Overview", "uid": "ZsZv-B3im", - "version": 24, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/global-usage.json b/grafana/staging/dashboards/global-usage.json index ed31ea5e..ba14ed50 100644 --- a/grafana/staging/dashboards/global-usage.json +++ b/grafana/staging/dashboards/global-usage.json @@ -831,6 +831,6 @@ "timezone": "", "title": "Global Usage", "uid": "cssTqW17k", - "version": 29, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/go-processes.json b/grafana/staging/dashboards/go-processes.json index 4fd08e45..b7f40f45 100644 --- a/grafana/staging/dashboards/go-processes.json +++ b/grafana/staging/dashboards/go-processes.json @@ -960,5 +960,5 @@ "timezone": "browser", "title": "Go Processes", "uid": "LUiMV_eiz", - "version": 21 + "version": 1 } diff --git a/grafana/staging/dashboards/home.json b/grafana/staging/dashboards/home.json index 7fe95fb9..6007f21f 100644 --- a/grafana/staging/dashboards/home.json +++ b/grafana/staging/dashboards/home.json @@ -156,6 +156,6 @@ "timezone": "browser", "title": "Home", "uid": "kzV-PHJ7z", - "version": 23, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/kafka-monitoring.json b/grafana/staging/dashboards/kafka-monitoring.json new file mode 100644 index 00000000..4bed83c6 --- /dev/null +++ b/grafana/staging/dashboards/kafka-monitoring.json @@ -0,0 +1,706 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "iteration": 1651499890024, + "links": [], + "panels": [ + { + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 24, + "panels": [ + { + "datasource": null, + "description": "Identificação dos clusters", + "fieldConfig": { + "defaults": { + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 3, + "x": 0, + "y": 1 + }, + "id": 26, + "options": { + "content": "| Ambiente | Cluster Id |\n|----------|------------|\n| DEV | XXXXXX |\n| HML | XXXXXX |\n| PRD | XXXXXX |", + "mode": "markdown" + }, + "pluginVersion": "7.3.6", + "timeFrom": null, + "timeShift": null, + "title": "Clusters", + "type": "text" + }, + { + "datasource": null, + "description": "Lista de services-account", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 10, + "x": 3, + "y": 1 + }, + "id": 16, + "options": { + "content": "", + "mode": "markdown" + }, + "pluginVersion": "7.3.6", + "timeFrom": null, + "timeShift": null, + "title": "Lista de service-account", + "type": "text" + } + ], + "title": "Informações importantes", + "type": "row" + }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 14, + "panels": [], + "title": "Kafka", + "type": "row" + }, + { + "datasource": null, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 60 + }, + { + "color": "red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 5, + "x": 0, + "y": 2 + }, + "id": 10, + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "7.3.6", + "targets": [ + { + "expr": "confluent_kafka_server_cluster_load_percent{kafka_id=~\"$cluster\"}*100", + "format": "time_series", + "interval": "", + "legendFormat": "{{kafka_id}}", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Percentual de utilização do servidor", + "type": "stat" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "max": 4500, + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 80 + }, + { + "color": "red", + "value": 90 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 5, + "y": 2 + }, + "id": 12, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "7.3.6", + "targets": [ + { + "expr": "sum(confluent_kafka_server_partition_count{kafka_id=~\"$cluster\"})", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Quantidade de partições", + "type": "stat" + }, + { + "datasource": null, + "description": "Média de conexões ativas", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "max": 1000, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 80 + }, + { + "color": "red", + "value": 90 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 9, + "y": 2 + }, + "id": 8, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "7.3.6", + "targets": [ + { + "expr": "avg(confluent_kafka_server_active_connection_count{kafka_id=~\"$cluster\"})", + "interval": "", + "legendFormat": "{{cluster}}", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Média de conexões ativas", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "description": "Quantidade de conexões ativas autenticadas por principal_id ( Filtrando mais do que 10 conexões ativas )\n\nprincipal_id is the authentication principal (Confluent Cloud User or Service Account)", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 10, + "x": 13, + "y": 2 + }, + "hiddenSeries": false, + "id": 6, + "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.3.6", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(confluent_kafka_server_active_connection_count{kafka_id=~\"$cluster\"}) by (principal_id) >= 10", + "interval": "", + "legendFormat": "{{principal_id}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Quantidade de conexões ativas autenticadas por user / service-account", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 4, + "panels": [], + "title": "Consumer", + "type": "row" + }, + { + "datasource": null, + "description": "Quantidade de offsets pendentes de leitura por consumer group id não considerando consumer group que começa com _confluent-ksql ou connect-snk", + "fieldConfig": { + "defaults": { + "custom": { + "align": null, + "filterable": false + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 6, + "x": 0, + "y": 10 + }, + "id": 2, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "7.3.6", + "targets": [ + { + "expr": "sum(confluent_kafka_server_consumer_lag_offsets{kafka_id=~\"$cluster\",consumer_group_id!~\"^(_confluent-ksql.*)|(connect-snk.*)$\"}) by (consumer_group_id) > 0", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{consumer_group_id}}", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Consumer Group Lag Offsets", + "transformations": [], + "type": "gauge" + }, + { + "datasource": null, + "description": "The delta count of records received. Each sample is the number of records received since the previous data sample. The count is sampled every 60 seconds.", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "locale" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 9, + "x": 6, + "y": 10 + }, + "id": 22, + "options": { + "displayMode": "lcd", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "showUnfilled": true + }, + "pluginVersion": "7.3.6", + "targets": [ + { + "expr": "sum by (kafka_id, topic) (confluent_kafka_server_received_records{kafka_id=~\"$cluster\",topic!~\"^(_confluent-ksql.*)|(connect-snk.*)$\",topic=~\"$topic\"}) > 0", + "format": "time_series", + "interval": "", + "legendFormat": "[{{kafka_id}}] {{topic}}", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Mensagens recebidas por tópico", + "type": "bargauge" + }, + { + "datasource": null, + "description": "The delta count of bytes of the customer's data received from the network. Each sample is the number of bytes received since the previous data sample. The count is sampled every 60 seconds.", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "decbytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 15, + "y": 10 + }, + "id": 20, + "options": { + "displayMode": "lcd", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "showUnfilled": true + }, + "pluginVersion": "7.3.6", + "targets": [ + { + "expr": "sum by (kafka_id, topic) (confluent_kafka_server_received_bytes{kafka_id=~\"$cluster\",topic!~\"^(_confluent-ksql.*)|(connect-snk.*)$\",topic=~\"$topic\"}) > 0", + "interval": "", + "legendFormat": "[{{kafka_id}}] {{topic}}", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Bytes recebidos por tópico", + "type": "bargauge" + } + ], + "schemaVersion": 26, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "selected": true, + "tags": [], + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": "Prometheus", + "definition": "label_values(confluent_kafka_server_retained_bytes, kafka_id)", + "error": null, + "hide": 0, + "includeAll": true, + "label": "Cluster", + "multi": true, + "name": "cluster", + "options": [], + "query": "label_values(confluent_kafka_server_retained_bytes, kafka_id)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": "", + "current": { + "selected": true, + "tags": [], + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": "Prometheus", + "definition": "label_values(confluent_kafka_server_retained_bytes, topic)", + "error": null, + "hide": 0, + "includeAll": true, + "label": "Topics", + "multi": true, + "name": "topic", + "options": [], + "query": "label_values(confluent_kafka_server_retained_bytes, topic)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-15m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "UTC", + "title": "kafka monitoring", + "uid": "-qwYmwQ7z", + "version": 1 +} diff --git a/grafana/staging/dashboards/kube-api-alerts.json b/grafana/staging/dashboards/kube-api-alerts.json index ecbfb524..3f654b85 100644 --- a/grafana/staging/dashboards/kube-api-alerts.json +++ b/grafana/staging/dashboards/kube-api-alerts.json @@ -1046,6 +1046,6 @@ "timezone": "utc", "title": "Kube API Alerts", "uid": "jSbZINlnk", - "version": 27, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/kube-state-metrics-v2.json b/grafana/staging/dashboards/kube-state-metrics-v2.json index df5fc59e..406d1e67 100644 --- a/grafana/staging/dashboards/kube-state-metrics-v2.json +++ b/grafana/staging/dashboards/kube-state-metrics-v2.json @@ -3706,6 +3706,6 @@ "timezone": "browser", "title": "kube-state-metrics-v2", "uid": "garysdevil-kube-state-metrics-v2", - "version": 19, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/kubernetes/broadcaster-details.json b/grafana/staging/dashboards/kubernetes/broadcaster-details.json index b2c724ce..e8105cd1 100644 --- a/grafana/staging/dashboards/kubernetes/broadcaster-details.json +++ b/grafana/staging/dashboards/kubernetes/broadcaster-details.json @@ -1582,5 +1582,5 @@ "timezone": "", "title": "Broadcaster details!", "uid": "ZsZv-LPTB", - "version": 3 + "version": 1 } diff --git a/grafana/staging/dashboards/kubernetes/1-kubernetes-deployment-statefulset-daemonset-metrics.json b/grafana/staging/dashboards/kubernetes/f017fd7b-1f88-5a64-b2dc-772cca6f4c90.json similarity index 100% rename from grafana/staging/dashboards/kubernetes/1-kubernetes-deployment-statefulset-daemonset-metrics.json rename to grafana/staging/dashboards/kubernetes/f017fd7b-1f88-5a64-b2dc-772cca6f4c90.json diff --git a/grafana/staging/dashboards/kubernetes/k8s-livepeer-overview.json b/grafana/staging/dashboards/kubernetes/k8s-livepeer-overview.json index 41b93100..bb9e011d 100644 --- a/grafana/staging/dashboards/kubernetes/k8s-livepeer-overview.json +++ b/grafana/staging/dashboards/kubernetes/k8s-livepeer-overview.json @@ -2556,6 +2556,6 @@ "timezone": "", "title": "K8s Livepeer Overview", "uid": "ZsZv-B3iy", - "version": 24, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/kubernetes/lp-debugger.json b/grafana/staging/dashboards/kubernetes/lp-debugger.json index fd21cdab..f608e255 100644 --- a/grafana/staging/dashboards/kubernetes/lp-debugger.json +++ b/grafana/staging/dashboards/kubernetes/lp-debugger.json @@ -1149,5 +1149,5 @@ "variables": { "list": [] }, - "version": 3 + "version": 1 } diff --git a/grafana/staging/dashboards/kubernetes/rabbitmq-overview2.json b/grafana/staging/dashboards/kubernetes/rabbitmq-overview2.json index d03dfc06..709a46ef 100644 --- a/grafana/staging/dashboards/kubernetes/rabbitmq-overview2.json +++ b/grafana/staging/dashboards/kubernetes/rabbitmq-overview2.json @@ -5828,5 +5828,5 @@ "timezone": "", "title": "RabbitMQ-Overview2", "uid": "Kn5xm-gZl", - "version": 2 + "version": 1 } diff --git a/grafana/staging/dashboards/livepeer-fast-verification.json b/grafana/staging/dashboards/livepeer-fast-verification.json index b0c37cf5..b85f7521 100644 --- a/grafana/staging/dashboards/livepeer-fast-verification.json +++ b/grafana/staging/dashboards/livepeer-fast-verification.json @@ -1093,6 +1093,6 @@ "timezone": "", "title": "Livepeer Fast Verification", "uid": "oAdgvYO7k", - "version": 35, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/livepeer-home.json b/grafana/staging/dashboards/livepeer-home.json index a6fc0b64..3e004c8c 100644 --- a/grafana/staging/dashboards/livepeer-home.json +++ b/grafana/staging/dashboards/livepeer-home.json @@ -127,6 +127,6 @@ "timezone": "browser", "title": "Livepeer Home", "uid": "RLJEZv17z", - "version": 22, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/livepeer-payments-overview.json b/grafana/staging/dashboards/livepeer-payments-overview.json index 221c7738..84eb9c4c 100644 --- a/grafana/staging/dashboards/livepeer-payments-overview.json +++ b/grafana/staging/dashboards/livepeer-payments-overview.json @@ -1045,5 +1045,5 @@ "variables": { "list": [] }, - "version": 21 + "version": 1 } diff --git a/grafana/staging/dashboards/livepeer-studio-user-engagement.json b/grafana/staging/dashboards/livepeer-studio-user-engagement.json index f5c22e6d..7772f316 100644 --- a/grafana/staging/dashboards/livepeer-studio-user-engagement.json +++ b/grafana/staging/dashboards/livepeer-studio-user-engagement.json @@ -2219,6 +2219,6 @@ "timezone": "", "title": "Livepeer Studio User Engagement", "uid": "a47aa7c3-f195-4104-b42d-686c7cd5f5bc", - "version": 3, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/livestreaming-reliability-overview.json b/grafana/staging/dashboards/livestreaming-reliability-overview.json index 2b7c9378..6dfe57d2 100644 --- a/grafana/staging/dashboards/livestreaming-reliability-overview.json +++ b/grafana/staging/dashboards/livestreaming-reliability-overview.json @@ -901,6 +901,6 @@ "timezone": "", "title": "Livestreaming Reliability Overview", "uid": "KcO6wL-4z", - "version": 15, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/loki-stack-monitoring-promtail-loki.json b/grafana/staging/dashboards/loki-stack-monitoring-promtail-loki.json index 5418d3fa..e1c38404 100644 --- a/grafana/staging/dashboards/loki-stack-monitoring-promtail-loki.json +++ b/grafana/staging/dashboards/loki-stack-monitoring-promtail-loki.json @@ -2392,5 +2392,5 @@ "timezone": "", "title": "Loki stack monitoring (Promtail, Loki)", "uid": "loki_stack_monitoring_quortex", - "version": 3 + "version": 1 } diff --git a/grafana/staging/dashboards/loki2-0-global-metrics.json b/grafana/staging/dashboards/loki2-0-global-metrics.json index 17a5c65c..b5253c27 100644 --- a/grafana/staging/dashboards/loki2-0-global-metrics.json +++ b/grafana/staging/dashboards/loki2-0-global-metrics.json @@ -3713,5 +3713,5 @@ "timezone": "", "title": "Loki2.0 Global Metrics", "uid": "MQHVDmtWk", - "version": 3 + "version": 1 } diff --git a/grafana/staging/dashboards/mist-global-overview.json b/grafana/staging/dashboards/mist-global-overview.json index 7dfee5e5..335e04de 100644 --- a/grafana/staging/dashboards/mist-global-overview.json +++ b/grafana/staging/dashboards/mist-global-overview.json @@ -3517,6 +3517,6 @@ "timezone": "utc", "title": "Mist Global Overview", "uid": "000000016", - "version": 30, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/mist.json b/grafana/staging/dashboards/mist.json index 177d78db..c99da5ff 100644 --- a/grafana/staging/dashboards/mist.json +++ b/grafana/staging/dashboards/mist.json @@ -612,5 +612,5 @@ "timezone": "", "title": "Mist", "uid": "Q_X4t7uZz", - "version": 25 + "version": 1 } diff --git a/grafana/staging/dashboards/nginx-5xx.json b/grafana/staging/dashboards/nginx-5xx.json index 16e4fdf3..55c23e08 100644 --- a/grafana/staging/dashboards/nginx-5xx.json +++ b/grafana/staging/dashboards/nginx-5xx.json @@ -99,8 +99,7 @@ } ] }, - "unit": "percentunit", - "unitScale": true + "unit": "percentunit" }, "overrides": [ { @@ -177,7 +176,6 @@ "y": 0 }, "id": 5, - "links": [], "options": { "legend": { "calcs": [ @@ -276,8 +274,7 @@ } ] }, - "unit": "reqps", - "unitScale": true + "unit": "reqps" }, "overrides": [ { @@ -309,7 +306,6 @@ "y": 0 }, "id": 4, - "links": [], "options": { "legend": { "calcs": [ @@ -424,8 +420,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [ { @@ -502,7 +497,6 @@ "y": 10 }, "id": 9, - "links": [], "options": { "legend": { "calcs": [ @@ -528,9 +522,9 @@ "uid": "PBFA97CFB590B2093" }, "disableTextWrap": false, - "editorMode": "builder", + "editorMode": "code", "exemplar": false, - "expr": "sum by(path, host, method) (increase(nginx_ingress_controller_requests{ingress=~\"${ingress:pipe}\", region=~\"${region:pipe}\", host=~\"${host:pipe}\", status=~\"${status:pipe}\"}[$__interval]))", + "expr": "sum by(path, host, method) (increase(nginx_ingress_controller_requests{ingress=~\"${ingress:pipe}\", region=~\"${region:pipe}\", host=~\"${host:pipe}\", status=~\"${status:pipe}\", method=~\"${method:pipe}\", path=~\"${path:pipe}\", path!=\"/51eebae3-9b8e-48bc-89ca-5340c4074a48.json\"}[$__interval]))", "format": "time_series", "fullMetaSearch": false, "includeNullMetadata": true, @@ -604,8 +598,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [ { @@ -682,7 +675,6 @@ "y": 10 }, "id": 7, - "links": [], "options": { "legend": { "calcs": [ @@ -708,7 +700,7 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "sum by(ingress) (increase(nginx_ingress_controller_requests{ingress=~\"${ingress:pipe}\", region=~\"${region:pipe}\", host=~\"${host:pipe}\", status=~\"${status:pipe}\"}[$__rate_interval]))", + "expr": "sum by(ingress) (increase(nginx_ingress_controller_requests{ingress=~\"${ingress:pipe}\", region=~\"${region:pipe}\", host=~\"${host:pipe}\", status=~\"${status:pipe}\", method=~\"${method:pipe}\", path=~\"${path:pipe}\" }[$__rate_interval]))", "format": "time_series", "fullMetaSearch": false, "includeNullMetadata": true, @@ -773,7 +765,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -781,8 +774,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [ { @@ -859,7 +851,6 @@ "y": 22 }, "id": 6, - "links": [], "options": { "legend": { "calcs": [ @@ -885,7 +876,7 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "sum by(region) (increase(nginx_ingress_controller_requests{ingress=~\"${ingress:pipe}\", region=~\"${region:pipe}\", host=~\"${host:pipe}\", status=~\"${status:pipe}\"}[$__interval]))", + "expr": "sum by(region) (increase(nginx_ingress_controller_requests{ingress=~\"${ingress:pipe}\", region=~\"${region:pipe}\", host=~\"${host:pipe}\", status=~\"${status:pipe}\", method=~\"${method:pipe}\", path=~\"${path:pipe}\"}[$__interval]))", "format": "time_series", "fullMetaSearch": false, "includeNullMetadata": true, @@ -949,7 +940,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -957,8 +949,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [ { @@ -1035,7 +1026,6 @@ "y": 22 }, "id": 8, - "links": [], "options": { "legend": { "calcs": [ @@ -1060,7 +1050,7 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "sum by(status) (increase(nginx_ingress_controller_requests{ingress=~\"${ingress:pipe}\", region=~\"${region:pipe}\", host=~\"${host:pipe}\", status=~\"${status:pipe}\"}[$__interval]))", + "expr": "sum by(status) (increase(nginx_ingress_controller_requests{ingress=~\"${ingress:pipe}\", region=~\"${region:pipe}\", host=~\"${host:pipe}\", status=~\"${status:pipe}\", method=~\"${method:pipe}\", path=~\"${path:pipe}\"}[$__interval]))", "format": "time_series", "fullMetaSearch": false, "includeNullMetadata": true, @@ -1093,7 +1083,7 @@ { "targetBlank": true, "title": "${status:text} nginx logs explore", - "url": "https://eu-metrics-monitoring.livepeer.live/grafana/explore?schemaVersion=1&panes=%7B%22D32%22:%7B%22datasource%22:%22P8E80F9AEF21F6940%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bapp%3D%5C%22ingress-nginx%5C%22,%20namespace%3D%5C%22default%5C%22,%20stream%3D%5C%22stdout%5C%22,%20region%3D~%5C%22${region:pipe}%5C%22%7D%20%7C%20pattern%20%60%3Cip%3E%20-%20-%20%3Ctimestamp%3E%20%5C%22%3Cmethod%3E%20%3Curl%3E%20%3Cprotocol%3E%5C%22%20%3Cstatus%3E%20%3Cbytes%3E%20%5C%22%3Corigin%3E%5C%22%20%5C%22%3CuserAgent%3E%5C%22%20%3Cwtf1%3E%20%3Cwtf2%3E%20%5B%3Cupstream%3E%5D%20%5B%3Cwtf3%3E%5D%20%3CupstreamAddr%3E%20%3Cwtf4%3E%20%3Cwtf5%3E%20%3CupstreamStatus%3E%20%3CrequestId%3E%60%20%7C%20upstream%20%3D~%20%60default-%28${ingress:pipe}%29-.%2A%60%20%7C%20status%20%3D~%20%60${status:pipe}%60%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22P8E80F9AEF21F6940%22%7D,%22editorMode%22:%22code%22%7D%5D,%22range%22:%7B%22from%22:%22${__from}%22,%22to%22:%22${__to}%22%7D%7D%7D&orgId=1" + "url": "/grafana/explore?schemaVersion=1&panes=%7B%22D32%22:%7B%22datasource%22:%22P8E80F9AEF21F6940%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bapp%3D%5C%22ingress-nginx%5C%22,%20namespace%3D%5C%22default%5C%22,%20stream%3D%5C%22stdout%5C%22,%20region%3D~%5C%22${region:pipe}%5C%22%7D%20%7C%20pattern%20%60%3Cip%3E%20-%20-%20%3Ctimestamp%3E%20%5C%22%3Cmethod%3E%20%3Curl%3E%20%3Cprotocol%3E%5C%22%20%3Cstatus%3E%20%3Cbytes%3E%20%5C%22%3Corigin%3E%5C%22%20%5C%22%3CuserAgent%3E%5C%22%20%3Cwtf1%3E%20%3Cwtf2%3E%20%5B%3Cupstream%3E%5D%20%5B%3Cwtf3%3E%5D%20%3CupstreamAddr%3E%20%3Cwtf4%3E%20%3Cwtf5%3E%20%3CupstreamStatus%3E%20%3CrequestId%3E%60%20%7C%20upstream%20%3D~%20%60default-%28${ingress:pipe}%29-.%2A%60%20%7C%20status%20%3D~%20%60${status:pipe}%60%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22P8E80F9AEF21F6940%22%7D,%22editorMode%22:%22code%22%7D%5D,%22range%22:%7B%22from%22:%22${__from}%22,%22to%22:%22${__to}%22%7D%7D%7D&orgId=1" } ], "options": { @@ -1113,7 +1103,7 @@ "uid": "P8E80F9AEF21F6940" }, "editorMode": "builder", - "expr": "{app=\"ingress-nginx\", namespace=\"default\", stream=\"stdout\", region=~\"${region:pipe}\"} | pattern ` - - \" \" \"\" \"\" [] [] ` | upstream =~ `default-(${ingress:pipe})-.*` | status =~ `${status:pipe}`", + "expr": "{app=\"ingress-nginx\", namespace=\"default\", stream=\"stdout\", region=~\"${region:pipe}\"} | pattern ` - - \" \" \"\" \"\" [] [] ` | upstream =~ `default-(${ingress:pipe})-.*` | status =~ `${status:pipe}` | method =~ `${method:pipe}` | url =~ `${path:pipe}`", "queryType": "range", "refId": "A" } @@ -1168,7 +1158,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -1176,8 +1167,7 @@ } ] }, - "unit": "none", - "unitScale": true + "unit": "none" }, "overrides": [ { @@ -1254,7 +1244,6 @@ "y": 31 }, "id": 13, - "links": [], "options": { "legend": { "calcs": [ @@ -1310,14 +1299,14 @@ "showLineNumbers": false, "showMiniMap": false }, - "content": "* We don't collect `/health`, `/healthz`, `/{{ UUID }}.json`, `/loki/api/v1/push`, `/insert/420/prometheus` logs.\nSo even you can see prometheus metrics related to these endpoints the logs are missing\n* Too narrow time range may filter out some logs while showing prometheus metrics on charts as metrics and logs might have slightly different datetimes.\n* 503 may come from pods or be returned from nginx when per IP address limits are hit\n* [Explore nginx logs](https://eu-metrics-monitoring.livepeer.live/grafana/explore?schemaVersion=1&panes=%7B%22D32%22:%7B%22datasource%22:%22P8E80F9AEF21F6940%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bapp%3D%5C%22ingress-nginx%5C%22,%20namespace%3D%5C%22default%5C%22,%20stream%3D%5C%22stdout%5C%22,%20region%3D~%5C%22${region:pipe}%5C%22%7D%20%7C%20pattern%20%60%3Cip%3E%20-%20-%20%3Ctimestamp%3E%20%5C%22%3Cmethod%3E%20%3Curl%3E%20%3Cprotocol%3E%5C%22%20%3Cstatus%3E%20%3Cbytes%3E%20%5C%22%3Corigin%3E%5C%22%20%5C%22%3CuserAgent%3E%5C%22%20%3Cwtf1%3E%20%3Cwtf2%3E%20%5B%3Cupstream%3E%5D%20%5B%3Cwtf3%3E%5D%20%3CupstreamAddr%3E%20%3Cwtf4%3E%20%3Cwtf5%3E%20%3CupstreamStatus%3E%20%3CrequestId%3E%60%20%7C%20upstream%20%3D~%20%60default-%28${ingress:pipe}%29-.%2A%60%20%7C%20status%20%3D~%20%60${status:pipe}%60%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22P8E80F9AEF21F6940%22%7D,%22editorMode%22:%22code%22%7D%5D,%22range%22:%7B%22from%22:%22${__from}%22,%22to%22:%22${__to}%22%7D%7D%7D&orgId=1)", + "content": "* We don't collect `/health`, `/healthz`, `/{{ UUID }}.json`, `/loki/api/v1/push`, `/insert/420/prometheus` logs.\nSo even you can see prometheus metrics related to these endpoints the logs are missing\n* Too narrow time range may filter out some logs while showing prometheus metrics on charts as metrics and logs might have slightly different datetimes.\n* [Explore nginx logs](/grafana/explore?schemaVersion=1&panes=%7B%22D32%22:%7B%22datasource%22:%22P8E80F9AEF21F6940%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bapp%3D%5C%22ingress-nginx%5C%22,%20namespace%3D%5C%22default%5C%22,%20stream%3D%5C%22stdout%5C%22,%20region%3D~%5C%22${region:pipe}%5C%22%7D%20%7C%20pattern%20%60%3Cip%3E%20-%20-%20%3Ctimestamp%3E%20%5C%22%3Cmethod%3E%20%3Curl%3E%20%3Cprotocol%3E%5C%22%20%3Cstatus%3E%20%3Cbytes%3E%20%5C%22%3Corigin%3E%5C%22%20%5C%22%3CuserAgent%3E%5C%22%20%3Cwtf1%3E%20%3Cwtf2%3E%20%5B%3Cupstream%3E%5D%20%5B%3Cwtf3%3E%5D%20%3CupstreamAddr%3E%20%3Cwtf4%3E%20%3Cwtf5%3E%20%3CupstreamStatus%3E%20%3CrequestId%3E%60%20%7C%20upstream%20%3D~%20%60default-%28${ingress:pipe}%29-.%2A%60%20%7C%20status%20%3D~%20%60${status:pipe}%60%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22P8E80F9AEF21F6940%22%7D,%22editorMode%22:%22code%22%7D%5D,%22range%22:%7B%22from%22:%22${__from}%22,%22to%22:%22${__to}%22%7D%7D%7D&orgId=1)", "mode": "markdown" }, - "pluginVersion": "10.3.4", + "pluginVersion": "11.1.3", "type": "text" } ], - "refresh": "", + "refresh": false, "schemaVersion": 39, "tags": [ "nginx" @@ -1620,6 +1609,72 @@ "skipUrlSync": false, "sort": 1, "type": "query" + }, + { + "allValue": ".*", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "definition": "label_values(nginx_ingress_controller_requests{ingress=~\"$ingress\", region=~\"$region\", status=~\"${status:pipe}\", host=~\"${host:pipe}\"},method)", + "hide": 0, + "includeAll": true, + "label": "", + "multi": true, + "name": "method", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(nginx_ingress_controller_requests{ingress=~\"$ingress\", region=~\"$region\", status=~\"${status:pipe}\", host=~\"${host:pipe}\"},method)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "allValue": ".*", + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "definition": "label_values(nginx_ingress_controller_requests{ingress=~\"$ingress\", region=~\"$region\", status=~\"${status:pipe}\", host=~\"${host:pipe}\", method=~\"${method:pipe}\"},path)", + "hide": 0, + "includeAll": true, + "label": "", + "multi": true, + "name": "path", + "options": [], + "query": { + "qryType": 1, + "query": "label_values(nginx_ingress_controller_requests{ingress=~\"$ingress\", region=~\"$region\", status=~\"${status:pipe}\", host=~\"${host:pipe}\", method=~\"${method:pipe}\"},path)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" } ] }, @@ -1627,11 +1682,10 @@ "from": "now-3h", "to": "now" }, - "timeRangeUpdatedDuringEditOrView": false, "timepicker": {}, "timezone": "", "title": "nginx 5XX", "uid": "f74066bf-c68e-4303-a9c4-81423738f8a3", - "version": 1, + "version": 2, "weekStart": "" } diff --git a/grafana/staging/dashboards/node-exporter-full.json b/grafana/staging/dashboards/node-exporter-full.json index de5c4e26..2aac0712 100644 --- a/grafana/staging/dashboards/node-exporter-full.json +++ b/grafana/staging/dashboards/node-exporter-full.json @@ -20010,5 +20010,5 @@ "timezone": "browser", "title": "Node Exporter Full", "uid": "ID7wiRo7k", - "version": 24 + "version": 1 } diff --git a/grafana/staging/dashboards/orchestrator-versions.json b/grafana/staging/dashboards/orchestrator-versions.json new file mode 100644 index 00000000..1e682e42 --- /dev/null +++ b/grafana/staging/dashboards/orchestrator-versions.json @@ -0,0 +1,367 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "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": 10, + "w": 9, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "count by(orchestrator_version) (count by(orchestrator_version, orchestrator_uri) (increase(livepeer_transcode_overall_latency_seconds_sum{pod=~\".*catalyst.*\"}[$__rate_interval])))", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "{{orchestrator_version}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Orchestrator versions (from catalyst)", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "Value", + "renamePattern": "Unknown version" + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "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": 10, + "w": 9, + "x": 9, + "y": 0 + }, + "id": 2, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "count by(orchestrator_version) (count by(orchestrator_version, orchestrator_uri) (increase(livepeer_transcode_overall_latency_seconds_sum{job=\"broadcaster\"}[$__rate_interval])))", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "{{orchestrator_version}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Orchestrator versions (from broadcasters)", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "Value", + "renamePattern": "Unknown version" + } + } + ], + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "barWidthFactor": 0.6, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "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": 10, + "w": 9, + "x": 0, + "y": 10 + }, + "id": 3, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "PBFA97CFB590B2093" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "count by(orchestrator_version) (count by(orchestrator_uri, orchestrator_version) (increase(livepeer_ai_request_latency_score{livepeer_live_app=~\".*-livepeer-ai-gateway\"}[$__rate_interval])))", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "{{orchestrator_version}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Orchestrator versions (from ai-gateway)", + "transformations": [ + { + "id": "renameByRegex", + "options": { + "regex": "Value", + "renamePattern": "Unknown version" + } + } + ], + "type": "timeseries" + } + ], + "schemaVersion": 39, + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-10d", + "to": "now" + }, + "timepicker": {}, + "timezone": "browser", + "title": "Orchestrator versions", + "uid": "edyyryuj00we8b", + "version": 2, + "weekStart": "" +} diff --git a/grafana/staging/dashboards/prometheus-2-0-overview.json b/grafana/staging/dashboards/prometheus-2-0-overview.json index 2e1e2dc5..822b9321 100644 --- a/grafana/staging/dashboards/prometheus-2-0-overview.json +++ b/grafana/staging/dashboards/prometheus-2-0-overview.json @@ -3034,5 +3034,5 @@ "timezone": "", "title": "Prometheus 2.0 Overview", "uid": "3SnwiRT7z", - "version": 6 + "version": 1 } diff --git a/grafana/staging/dashboards/segfaults.json b/grafana/staging/dashboards/segfaults.json index d28d0e50..305030da 100644 --- a/grafana/staging/dashboards/segfaults.json +++ b/grafana/staging/dashboards/segfaults.json @@ -388,6 +388,6 @@ "timezone": "", "title": "Segfaults", "uid": "oQFxlqU7k", - "version": 22, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/single-stream-health.json b/grafana/staging/dashboards/single-stream-health.json index 78b285d4..3f306686 100644 --- a/grafana/staging/dashboards/single-stream-health.json +++ b/grafana/staging/dashboards/single-stream-health.json @@ -949,6 +949,6 @@ "timezone": "", "title": "Single-Stream Health", "uid": "lWdk74f7k", - "version": 19, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/thom-cpu-monitoring.json b/grafana/staging/dashboards/thom-cpu-monitoring.json index 165be383..9ba5e80a 100644 --- a/grafana/staging/dashboards/thom-cpu-monitoring.json +++ b/grafana/staging/dashboards/thom-cpu-monitoring.json @@ -228,6 +228,6 @@ "timezone": "", "title": "Thom CPU Monitoring", "uid": "bTuY3Ld4k", - "version": 20, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/video-product.json b/grafana/staging/dashboards/video-product.json index b9045daf..795d72c4 100644 --- a/grafana/staging/dashboards/video-product.json +++ b/grafana/staging/dashboards/video-product.json @@ -471,6 +471,6 @@ "timezone": "", "title": "Video Product", "uid": "JRJqn_17z", - "version": 24, + "version": 1, "weekStart": "" } diff --git a/grafana/staging/dashboards/vod-monitoring.json b/grafana/staging/dashboards/vod-monitoring.json index d442bd4a..ddaba96f 100644 --- a/grafana/staging/dashboards/vod-monitoring.json +++ b/grafana/staging/dashboards/vod-monitoring.json @@ -824,6 +824,6 @@ "timezone": "", "title": "VoD Monitoring", "uid": "JZNaFMv4z", - "version": 21, + "version": 1, "weekStart": "" }