Created
April 21, 2021 23:19
-
-
Save christineywang/3ac82b82d21624cc746c8213878d8aed to your computer and use it in GitHub Desktop.
cardinality explorer
This file contains hidden or 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
| { | |
| "annotations": { | |
| "list": [ | |
| { | |
| "builtIn": 1, | |
| "datasource": "-- Grafana --", | |
| "enable": true, | |
| "hide": true, | |
| "iconColor": "rgba(0, 211, 255, 1)", | |
| "name": "Annotations & Alerts", | |
| "type": "dashboard" | |
| } | |
| ] | |
| }, | |
| "description": "Find cardinality sources", | |
| "editable": true, | |
| "gnetId": 11304, | |
| "graphTooltip": 0, | |
| "id": 223, | |
| "iteration": 1619047081219, | |
| "links": [], | |
| "panels": [ | |
| { | |
| "collapsed": false, | |
| "datasource": null, | |
| "gridPos": { | |
| "h": 1, | |
| "w": 24, | |
| "x": 0, | |
| "y": 0 | |
| }, | |
| "id": 13, | |
| "panels": [], | |
| "title": "how to", | |
| "type": "row" | |
| }, | |
| { | |
| "datasource": null, | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "gridPos": { | |
| "h": 13, | |
| "w": 24, | |
| "x": 0, | |
| "y": 1 | |
| }, | |
| "id": 7, | |
| "links": [], | |
| "options": { | |
| "content": "# Cardinality Explorer\n[Cardinality](https://www.robustperception.io/cardinality-is-key) is the count at a certain time of the total unique combinations of keys and labels. Too much (red) is bad, and will make your queries slow and your prometheus run out of memory. This dashboard will help you analyze individual metrics to determine the cause(s) of cardinality.\n## WARNING\n * This dashboard can be *very* slow and heavy\n * Use with caution\n\n## Instructions\n 1. Choose the datasource which contains your data from the `datasource` dropdown\n 2. Choose a job from the `job` dropdown, which is now populated with the prometheus jobs in your account\n 3. Choose a metric name from the `metric` dropdown, now populated with with the metrics available to the specified job in your account\n 4. Choose the `labels` which you would like to run calculations on\n\n## Understanding the Data\n * The `(metricname) cardinality` row gives you basic information about your metric\n * The `metric` panel shows the metric name you've chosen\n * The `cardinality` panel shows the metric's cardinality\n * The `count by label` row shows the number of unique values for every label\n * The `cardinality calculation` row shows information based on the labels you selected in the `labels` dropdown\n * The `count without()` panel shows what the cardinality of the metric would be if the specified labels were to be removed\n * The `count by()` panel shows what the cardinality of the specified labels as a group is", | |
| "mode": "markdown" | |
| }, | |
| "pluginVersion": "7.5.4", | |
| "title": "How To", | |
| "type": "text" | |
| }, | |
| { | |
| "collapsed": false, | |
| "datasource": null, | |
| "gridPos": { | |
| "h": 1, | |
| "w": 24, | |
| "x": 0, | |
| "y": 14 | |
| }, | |
| "id": 43, | |
| "panels": [], | |
| "title": "$metric cardinality", | |
| "type": "row" | |
| }, | |
| { | |
| "datasource": null, | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "gridPos": { | |
| "h": 3, | |
| "w": 16, | |
| "x": 0, | |
| "y": 15 | |
| }, | |
| "id": 5, | |
| "links": [], | |
| "options": { | |
| "content": "<center><h1 style=\"color:#2980B9;\">$metric</h1></center>", | |
| "mode": "html" | |
| }, | |
| "pluginVersion": "7.5.4", | |
| "title": "metric", | |
| "type": "text" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 3, | |
| "w": 8, | |
| "x": 16, | |
| "y": 15 | |
| }, | |
| "id": 38, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count( $metric{job=\"$job\"}) ", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "200,1000", | |
| "title": "cardinality", | |
| "type": "singlestat", | |
| "valueFontSize": "200%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "collapsed": false, | |
| "datasource": null, | |
| "gridPos": { | |
| "h": 1, | |
| "w": 24, | |
| "x": 0, | |
| "y": 18 | |
| }, | |
| "id": 11, | |
| "panels": [], | |
| "repeat": null, | |
| "title": "count by label", | |
| "type": "row" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 0, | |
| "y": 19 | |
| }, | |
| "id": 22, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeat": "label_names", | |
| "repeatDirection": "h", | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "app_kubernetes_io_name", | |
| "value": "app_kubernetes_io_name" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 4, | |
| "y": 19 | |
| }, | |
| "id": 47, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeatDirection": "h", | |
| "repeatIteration": 1619047081219, | |
| "repeatPanelId": 22, | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "app_kubernetes_io_version", | |
| "value": "app_kubernetes_io_version" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 8, | |
| "y": 19 | |
| }, | |
| "id": 48, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeatDirection": "h", | |
| "repeatIteration": 1619047081219, | |
| "repeatPanelId": 22, | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "container", | |
| "value": "container" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 12, | |
| "y": 19 | |
| }, | |
| "id": 49, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeatDirection": "h", | |
| "repeatIteration": 1619047081219, | |
| "repeatPanelId": 22, | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "instance", | |
| "value": "instance" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 16, | |
| "y": 19 | |
| }, | |
| "id": 50, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeatDirection": "h", | |
| "repeatIteration": 1619047081219, | |
| "repeatPanelId": 22, | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "job", | |
| "value": "job" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 20, | |
| "y": 19 | |
| }, | |
| "id": 51, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeatDirection": "h", | |
| "repeatIteration": 1619047081219, | |
| "repeatPanelId": 22, | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "kubernetes_name", | |
| "value": "kubernetes_name" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 0, | |
| "y": 23 | |
| }, | |
| "id": 52, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeatDirection": "h", | |
| "repeatIteration": 1619047081219, | |
| "repeatPanelId": 22, | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "kubernetes_namespace", | |
| "value": "kubernetes_namespace" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 4, | |
| "y": 23 | |
| }, | |
| "id": 53, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeatDirection": "h", | |
| "repeatIteration": 1619047081219, | |
| "repeatPanelId": 22, | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "namespace", | |
| "value": "namespace" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 8, | |
| "y": 23 | |
| }, | |
| "id": 54, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeatDirection": "h", | |
| "repeatIteration": 1619047081219, | |
| "repeatPanelId": 22, | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "node", | |
| "value": "node" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "$datasource", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 4, | |
| "w": 4, | |
| "x": 12, | |
| "y": 23 | |
| }, | |
| "id": 55, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "maxPerRow": 6, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "repeatDirection": "h", | |
| "repeatIteration": 1619047081219, | |
| "repeatPanelId": 22, | |
| "scopedVars": { | |
| "label_names": { | |
| "selected": false, | |
| "text": "pod", | |
| "value": "pod" | |
| } | |
| }, | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${label_names})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "20,100", | |
| "title": "${label_names}", | |
| "type": "singlestat", | |
| "valueFontSize": "100%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 9, | |
| "w": 12, | |
| "x": 0, | |
| "y": 27 | |
| }, | |
| "id": 20, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count without (${labels:csv})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "200,1000", | |
| "title": "count without (${labels:csv})", | |
| "type": "singlestat", | |
| "valueFontSize": "200%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "cacheTimeout": null, | |
| "colorBackground": false, | |
| "colorValue": true, | |
| "colors": [ | |
| "#299c46", | |
| "rgba(237, 129, 40, 0.89)", | |
| "#d44a3a" | |
| ], | |
| "datasource": "Prometheus", | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "format": "none", | |
| "gauge": { | |
| "maxValue": 100, | |
| "minValue": 0, | |
| "show": false, | |
| "thresholdLabels": false, | |
| "thresholdMarkers": true | |
| }, | |
| "gridPos": { | |
| "h": 9, | |
| "w": 12, | |
| "x": 12, | |
| "y": 27 | |
| }, | |
| "id": 21, | |
| "interval": null, | |
| "links": [], | |
| "mappingType": 1, | |
| "mappingTypes": [ | |
| { | |
| "name": "value to text", | |
| "value": 1 | |
| }, | |
| { | |
| "name": "range to text", | |
| "value": 2 | |
| } | |
| ], | |
| "maxDataPoints": 100, | |
| "nullPointMode": "connected", | |
| "nullText": null, | |
| "postfix": "", | |
| "postfixFontSize": "50%", | |
| "prefix": "", | |
| "prefixFontSize": "50%", | |
| "rangeMaps": [ | |
| { | |
| "from": "null", | |
| "text": "N/A", | |
| "to": "null" | |
| } | |
| ], | |
| "sparkline": { | |
| "fillColor": "rgba(31, 118, 189, 0.18)", | |
| "full": false, | |
| "lineColor": "rgb(31, 120, 193)", | |
| "show": false | |
| }, | |
| "tableColumn": "", | |
| "targets": [ | |
| { | |
| "expr": "count(count by (${labels:csv})( $metric{job=\"$job\"}) )", | |
| "format": "time_series", | |
| "instant": true, | |
| "intervalFactor": 1, | |
| "refId": "A" | |
| } | |
| ], | |
| "thresholds": "200,1000", | |
| "title": "count by (${labels:csv})", | |
| "type": "singlestat", | |
| "valueFontSize": "200%", | |
| "valueMaps": [ | |
| { | |
| "op": "=", | |
| "text": "N/A", | |
| "value": "null" | |
| } | |
| ], | |
| "valueName": "current" | |
| }, | |
| { | |
| "collapsed": false, | |
| "datasource": null, | |
| "gridPos": { | |
| "h": 1, | |
| "w": 24, | |
| "x": 0, | |
| "y": 36 | |
| }, | |
| "id": 41, | |
| "panels": [], | |
| "title": "faq", | |
| "type": "row" | |
| }, | |
| { | |
| "datasource": null, | |
| "fieldConfig": { | |
| "defaults": {}, | |
| "overrides": [] | |
| }, | |
| "gridPos": { | |
| "h": 13, | |
| "w": 24, | |
| "x": 0, | |
| "y": 37 | |
| }, | |
| "id": 46, | |
| "links": [], | |
| "options": { | |
| "content": "<h1>FAQ</h1>\n<ul>\n <li> Why doesn't <code>count without</code> * <code>count by</code> = <code>cardinality</code>?</li>\n <ul>\n <li> Cardinality is only concerned with existing label/value combinations, not potential ones. Consider a simple case of a metric with two labels and two possible values for each label. There are four possible combinations of label values, but if one value only shows up once, then the cardinality will be only three.</li>\n <li> Example:\n <table>\n <tr>\n <th>label1</th><th>label2</th>\n </tr>\n <tr>\n <td>A</td><td>200</td>\n </tr>\n <tr>\n <td>A</td><td>404</td>\n </tr>\n <tr>\n <td>B</td><td>404</td>\n </tr>\n </table>\n </li>\n </ul>\n\n <li>This dashboard might help investigating cardinality for individual metrics, but how do I find high-cardinality metrics in the first place?</li>\n <ul>\n <li><a href=\"https://www.robustperception.io/which-are-my-biggest-metrics\">query</a> for it: <code>topk(10, count by (__name__)({__name__=~\".+\"}))\n</code></li>\n <li>use <a href=\"https://www.robustperception.io/using-tsdb-analyze-to-investigate-churn-and-cardinality\">tsdb</a></li>\n </ul>\n <li>What should I do with high-cardinality labels?</li>\n <ul>\n <li>Consider whether you can <a href=\"https://www.robustperception.io/dropping-metrics-at-scrape-time-with-prometheus\">drop</a> them.</li>\n </ul>\n</ul>\n \n \n", | |
| "mode": "html" | |
| }, | |
| "pluginVersion": "7.5.4", | |
| "title": "Frequently Asked Questions", | |
| "type": "text" | |
| } | |
| ], | |
| "schemaVersion": 27, | |
| "style": "dark", | |
| "tags": [], | |
| "templating": { | |
| "list": [ | |
| { | |
| "current": { | |
| "selected": false, | |
| "text": "Prometheus", | |
| "value": "Prometheus" | |
| }, | |
| "description": null, | |
| "error": null, | |
| "hide": 0, | |
| "includeAll": false, | |
| "label": null, | |
| "multi": false, | |
| "name": "datasource", | |
| "options": [], | |
| "query": "prometheus", | |
| "queryValue": "", | |
| "refresh": 1, | |
| "regex": "", | |
| "skipUrlSync": false, | |
| "type": "datasource" | |
| }, | |
| { | |
| "allValue": null, | |
| "current": { | |
| "selected": false, | |
| "text": "all-services", | |
| "value": "all-services" | |
| }, | |
| "datasource": "$datasource", | |
| "definition": "", | |
| "description": null, | |
| "error": null, | |
| "hide": 0, | |
| "includeAll": false, | |
| "label": null, | |
| "multi": false, | |
| "name": "job", | |
| "options": [], | |
| "query": { | |
| "query": "query_result( count by (job)(up{}) )", | |
| "refId": "Prometheus-job-Variable-Query" | |
| }, | |
| "refresh": 2, | |
| "regex": "/job=\"([^\"]+)/", | |
| "skipUrlSync": false, | |
| "sort": 1, | |
| "tagValuesQuery": "", | |
| "tags": [], | |
| "tagsQuery": "", | |
| "type": "query", | |
| "useTags": false | |
| }, | |
| { | |
| "allValue": null, | |
| "current": { | |
| "selected": false, | |
| "text": "kube_pod_container_resource_requests_cpu_cores", | |
| "value": "kube_pod_container_resource_requests_cpu_cores" | |
| }, | |
| "datasource": "$datasource", | |
| "definition": "", | |
| "description": null, | |
| "error": null, | |
| "hide": 0, | |
| "includeAll": false, | |
| "label": null, | |
| "multi": false, | |
| "name": "metric", | |
| "options": [], | |
| "query": { | |
| "query": "query_result( count by (__name__) ({job=\"$job\" }) )", | |
| "refId": "Prometheus-metric-Variable-Query" | |
| }, | |
| "refresh": 2, | |
| "regex": "/^(.*){}/", | |
| "skipUrlSync": false, | |
| "sort": 1, | |
| "tagValuesQuery": "", | |
| "tags": [], | |
| "tagsQuery": "", | |
| "type": "query", | |
| "useTags": false | |
| }, | |
| { | |
| "allValue": null, | |
| "current": { | |
| "selected": false, | |
| "text": "instance", | |
| "value": "instance" | |
| }, | |
| "datasource": "Prometheus", | |
| "definition": "", | |
| "description": null, | |
| "error": null, | |
| "hide": 0, | |
| "includeAll": false, | |
| "label": null, | |
| "multi": true, | |
| "name": "labels", | |
| "options": [], | |
| "query": { | |
| "query": "query_result(topk(32,$metric{job=\"$job\"} ) )", | |
| "refId": "Prometheus-labels-Variable-Query" | |
| }, | |
| "refresh": 2, | |
| "regex": "/(?:[\\{,]+)([A-Za-z0-9_]+)=\"/g", | |
| "skipUrlSync": false, | |
| "sort": 1, | |
| "tagValuesQuery": "", | |
| "tags": [], | |
| "tagsQuery": "", | |
| "type": "query", | |
| "useTags": false | |
| }, | |
| { | |
| "allValue": null, | |
| "current": { | |
| "selected": false, | |
| "text": "All", | |
| "value": "$__all" | |
| }, | |
| "datasource": "Prometheus", | |
| "definition": "", | |
| "description": null, | |
| "error": null, | |
| "hide": 2, | |
| "includeAll": true, | |
| "label": null, | |
| "multi": false, | |
| "name": "label_names", | |
| "options": [], | |
| "query": { | |
| "query": "query_result(topk(32,$metric{job=\"$job\"} ) )", | |
| "refId": "Prometheus-label_names-Variable-Query" | |
| }, | |
| "refresh": 2, | |
| "regex": "/(?:[\\{,]+)([A-Za-z0-9_]+)=\"/g", | |
| "skipUrlSync": false, | |
| "sort": 1, | |
| "tagValuesQuery": "", | |
| "tags": [], | |
| "tagsQuery": "", | |
| "type": "query", | |
| "useTags": false | |
| } | |
| ] | |
| }, | |
| "time": { | |
| "from": "now-5m", | |
| "to": "now" | |
| }, | |
| "timepicker": { | |
| "refresh_intervals": [ | |
| "5s", | |
| "10s", | |
| "30s", | |
| "1m", | |
| "5m", | |
| "15m", | |
| "30m", | |
| "1h", | |
| "2h", | |
| "1d" | |
| ], | |
| "time_options": [ | |
| "5m", | |
| "15m", | |
| "1h", | |
| "6h", | |
| "12h", | |
| "24h", | |
| "2d", | |
| "7d", | |
| "30d" | |
| ] | |
| }, | |
| "timezone": "", | |
| "title": "Cardinality Explorer", | |
| "uid": "2KnjXXxWz", | |
| "version": 4 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment