Created
May 25, 2021 20:25
-
-
Save brandond/1c270e35034ea417075c5115ee1d29af to your computer and use it in GitHub Desktop.
WIP grafana dashboard for Kubernetes apiserver datastore performance metrics
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"__inputs": [], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "7.4.5" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "" | |
}, | |
{ | |
"type": "panel", | |
"id": "heatmap", | |
"name": "Heatmap", | |
"version": "" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "1.0.0" | |
} | |
], | |
"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": 1, | |
"id": null, | |
"iteration": 1621974229574, | |
"links": [], | |
"panels": [ | |
{ | |
"cards": { | |
"cardPadding": null, | |
"cardRound": null | |
}, | |
"color": { | |
"cardColor": "#b4ff00", | |
"colorScale": "sqrt", | |
"colorScheme": "interpolateTurbo", | |
"exponent": 0.5, | |
"min": 0, | |
"mode": "spectrum" | |
}, | |
"dataFormat": "tsbuckets", | |
"datasource": "$datasource", | |
"fieldConfig": { | |
"defaults": { | |
"custom": {}, | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 12, | |
"w": 23, | |
"x": 0, | |
"y": 0 | |
}, | |
"heatmap": {}, | |
"hideZeroBuckets": false, | |
"highlightCards": true, | |
"id": 2, | |
"interval": "", | |
"legend": { | |
"show": true | |
}, | |
"pluginVersion": "7.0.3", | |
"repeat": null, | |
"repeatDirection": "h", | |
"reverseYBuckets": false, | |
"targets": [ | |
{ | |
"expr": "sum(increase(etcd_request_duration_seconds_bucket{instance=~\"$instance\",operation=~\"$operation\",type=~\"$type\"}[$__interval])) by (le)", | |
"format": "heatmap", | |
"interval": "1m", | |
"legendFormat": "{{le}}", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Request Duration Histogram", | |
"tooltip": { | |
"show": true, | |
"showHistogram": false | |
}, | |
"tooltipDecimals": 3, | |
"type": "heatmap", | |
"xAxis": { | |
"show": true | |
}, | |
"xBucketNumber": null, | |
"xBucketSize": null, | |
"yAxis": { | |
"decimals": 0, | |
"format": "s", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true, | |
"splitFactor": null | |
}, | |
"yBucketBound": "auto", | |
"yBucketNumber": null, | |
"yBucketSize": null | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "$datasource", | |
"fieldConfig": { | |
"defaults": { | |
"custom": {}, | |
"links": [] | |
}, | |
"overrides": [] | |
}, | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 5, | |
"w": 23, | |
"x": 0, | |
"y": 12 | |
}, | |
"hiddenSeries": false, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "null as zero", | |
"options": { | |
"alertThreshold": true | |
}, | |
"percentage": false, | |
"pluginVersion": "7.4.5", | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.99, avg(rate(etcd_request_duration_seconds_bucket{instance=~\"$instance\",operation=~\"$operation\",type=~\"$type\"}[$__interval])) by (le))", | |
"interval": "1m", | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": [ | |
{ | |
"colorMode": "warning", | |
"fill": false, | |
"line": true, | |
"op": "gt", | |
"value": 0.1, | |
"yaxis": "left" | |
}, | |
{ | |
"colorMode": "critical", | |
"fill": false, | |
"line": true, | |
"op": "gt", | |
"value": 1, | |
"yaxis": "left" | |
} | |
], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Request Duration P99", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "$datasource", | |
"fieldConfig": { | |
"defaults": { | |
"custom": {}, | |
"links": [] | |
}, | |
"overrides": [] | |
}, | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 5, | |
"w": 23, | |
"x": 0, | |
"y": 17 | |
}, | |
"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.4.5", | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(etcd_request_duration_seconds_count{instance=~\"$instance\",operation=~\"$operation\",type=~\"$type\"}[$__interval]))", | |
"interval": "1m", | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Request Rate", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "reqps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "30s", | |
"schemaVersion": 27, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"current": { | |
"selected": false, | |
"text": "Prometheus (k3s)", | |
"value": "Prometheus (k3s)" | |
}, | |
"description": null, | |
"error": null, | |
"hide": 0, | |
"includeAll": false, | |
"label": "Datasource", | |
"multi": false, | |
"name": "datasource", | |
"options": [], | |
"query": "prometheus", | |
"queryValue": "", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"type": "datasource" | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "$datasource", | |
"definition": "label_values(etcd_request_duration_seconds_sum{job=\"kubernetes-apiservers\"}, instance)", | |
"description": null, | |
"error": null, | |
"hide": 0, | |
"includeAll": true, | |
"label": "Instance", | |
"multi": false, | |
"name": "instance", | |
"options": [], | |
"query": { | |
"query": "label_values(etcd_request_duration_seconds_sum{job=\"kubernetes-apiservers\"}, instance)", | |
"refId": "Prometheus (k3s)-instance-Variable-Query" | |
}, | |
"refresh": 2, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "$datasource", | |
"definition": "label_values(etcd_request_duration_seconds_sum{job=\"kubernetes-apiservers\",instance=~\"$instance\"}, operation)", | |
"description": null, | |
"error": null, | |
"hide": 0, | |
"includeAll": true, | |
"label": "Operation", | |
"multi": false, | |
"name": "operation", | |
"options": [], | |
"query": { | |
"query": "label_values(etcd_request_duration_seconds_sum{job=\"kubernetes-apiservers\",instance=~\"$instance\"}, operation)", | |
"refId": "Prometheus (k3s)-operation-Variable-Query" | |
}, | |
"refresh": 2, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "$datasource", | |
"definition": "label_values(etcd_request_duration_seconds_sum{job=\"kubernetes-apiservers\",instance=~\"$instance\",operation=~\"$operation\"}, type)", | |
"description": null, | |
"error": null, | |
"hide": 0, | |
"includeAll": true, | |
"label": "Type", | |
"multi": false, | |
"name": "type", | |
"options": [], | |
"query": { | |
"query": "label_values(etcd_request_duration_seconds_sum{job=\"kubernetes-apiservers\",instance=~\"$instance\",operation=~\"$operation\"}, type)", | |
"refId": "Prometheus (k3s)-type-Variable-Query" | |
}, | |
"refresh": 2, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-3h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
] | |
}, | |
"timezone": "", | |
"title": "API Server etcd Performance", | |
"uid": "UeHfpemGz", | |
"version": 19 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment