Created
January 8, 2019 16:23
-
-
Save mdesanti/f19efa2b47a8d88d22923171b23255e6 to your computer and use it in GitHub Desktop.
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
{ | |
"annotations": { | |
"list": [ | |
{ | |
"datasource": "Prometheus", | |
"enable": true, | |
"expr": "time() - kube_replicaset_created{namespace=\"$namespace\"} * on(replicaset) group_right() label_replace(kube_pod_owner{namespace=\"$namespace\"}, \"replicaset\", \"$1\", \"owner_name\", \"(.*)\") * on(pod) group_left(label_version, label_app) kube_pod_labels{ label_app=\"$container_name\"} < BOOL 60", | |
"hide": false, | |
"iconColor": "rgba(255, 96, 96, 1)", | |
"limit": 100, | |
"name": "Deployments", | |
"showIn": 0, | |
"step": "30s", | |
"tagKeys": "label_version", | |
"tags": [ | |
], | |
"textFormat": "", | |
"titleFormat": "Commit SHA", | |
"type": "tags", | |
"useValueForTime": false | |
}, | |
{ | |
"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": 11, | |
"iteration": 1546957070184, | |
"links": [ | |
], | |
"panels": [ | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#d44a3a", | |
"rgba(237, 129, 40, 0.89)", | |
"#299c46" | |
], | |
"datasource": "Prometheus", | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 3, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 44, | |
"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": "(sum(increase(http_requests_total{namespace=\"$namespace\", status_code!~\"5[0-9][0-9]\"}[5m])) / sum(increase(http_requests_total{namespace=\"$namespace\"}[5m]))) * 100", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "80,95,100", | |
"title": "Uptime", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "100%", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "reqps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 3, | |
"x": 3, | |
"y": 0 | |
}, | |
"id": 28, | |
"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": "Value", | |
"targets": [ | |
{ | |
"expr": "sum(rate(http_requests_total{namespace=\"$namespace\", path!=\"/\", path!=\"/health\", path!=\"/metrics\"}[15s]))", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "100", | |
"title": "Requests per second", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorPostfix": false, | |
"colorPrefix": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "s", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 3, | |
"x": 6, | |
"y": 0 | |
}, | |
"hideTimeOverride": false, | |
"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": true | |
}, | |
"tableColumn": "Value", | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{namespace=\"$namespace\", path!=\"/\", path!=\"/health\", path!=\"/metrics\"}[10s])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "p99", | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Response time p99", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": null, | |
"format": "s", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 3, | |
"x": 9, | |
"y": 0 | |
}, | |
"id": 40, | |
"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": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{namespace=\"$namespace\", path!=\"/\", path!=\"/health\", path!=\"/metrics\"}[10s])) by (le))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Response Time p95", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": null, | |
"format": "s", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 3, | |
"x": 12, | |
"y": 0 | |
}, | |
"id": 42, | |
"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": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.5, sum(rate(http_request_duration_seconds_bucket{namespace=\"$namespace\", path!=\"/\", path!=\"/health\", path!=\"/metrics\"}[10s])) by (le))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Response Time p50", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "percent", | |
"gauge": { | |
"maxValue": 101, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 3, | |
"x": 15, | |
"y": 0 | |
}, | |
"id": 26, | |
"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": "sum(increase(http_requests_total{namespace=\"$namespace\", status_code=~\"2[0-9][0-9]\"}[5m])) / sum(increase(http_requests_total{namespace=\"$namespace\"}[5m])) * 100", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "101,300, 400", | |
"title": "2XX percentage", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 3, | |
"x": 18, | |
"y": 0 | |
}, | |
"id": 24, | |
"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": "sum(increase(http_requests_total{namespace=\"$namespace\", status_code=~\"4[0-9][0-9]\"}[5m])) / sum(increase(http_requests_total{namespace=\"$namespace\"}[5m])) * 100", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "0,100,100", | |
"title": "4XX percentage", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"decimals": 2, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 3, | |
"x": 21, | |
"y": 0 | |
}, | |
"id": 22, | |
"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": "sum(increase(http_requests_total{namespace=\"$namespace\", status_code=~\"5[0-9][0-9]\"}[5m])) / sum(increase(http_requests_total{namespace=\"$namespace\"}[5m]))", | |
"format": "time_series", | |
"instant": true, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "5XX errors percentage", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 4 | |
}, | |
"id": 30, | |
"panels": [ | |
], | |
"title": "App Metrics", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": { | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 12, | |
"x": 0, | |
"y": 5 | |
}, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [ | |
], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(http_requests_total{namespace=\"$namespace\"}[15s]) * on(pod, namespace) group_left(label_app) kube_pod_labels{label_app=\"$container_name\"}) by (path)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": [ | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Requests per second per path", | |
"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 | |
} | |
}, | |
{ | |
"aliasColors": { | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 12, | |
"x": 12, | |
"y": 5 | |
}, | |
"id": 8, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [ | |
], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(http_requests_total{namespace=\"$namespace\"}[15s]) * on(pod, namespace) group_left(label_app) kube_pod_labels{label_app=\"$container_name\"}) by (service, status_code)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{service}}/{{status_code}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [ | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Status Codes per second", | |
"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 | |
} | |
}, | |
{ | |
"aliasColors": { | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": null, | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 24, | |
"x": 0, | |
"y": 10 | |
}, | |
"id": 18, | |
"legend": { | |
"alignAsTable": true, | |
"avg": true, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": true, | |
"min": true, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [ | |
], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 1, | |
"points": true, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{namespace=\"$namespace\", path!=\"/\", path!=\"/health\", path!=\"/metrics\"}[10s])) by (le, path))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "p99/{{path}}", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{namespace=\"$namespace\", path!=\"/\", path!=\"/health\", path!=\"/metrics\"}[10s])) by (le, path))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "p95/{{path}}", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(rate(http_request_duration_seconds_bucket{namespace=\"$namespace\", path!=\"/\", path!=\"/health\", path!=\"/metrics\"}[10s])) by (le, path))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "p50/{{path}}", | |
"refId": "C" | |
} | |
], | |
"thresholds": [ | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response times quantiles", | |
"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 | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 15 | |
}, | |
"id": 36, | |
"panels": [ | |
], | |
"title": "Autoscaling", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": { | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 12, | |
"x": 0, | |
"y": 16 | |
}, | |
"id": 20, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [ | |
], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(kube_pod_status_phase{namespace=\"dev\"} * on(pod, namespace) group_left(label_app) kube_pod_labels{label_app=\"$container_name\"}) by(phase)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{phase}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [ | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Pod Status", | |
"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 | |
} | |
}, | |
{ | |
"aliasColors": { | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 12, | |
"x": 12, | |
"y": 16 | |
}, | |
"id": 2, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [ | |
], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "kube_hpa_spec_max_replicas{namespace=\"$namespace\"} * on(pod, namespace) group_left(label_app) kube_hpa_labels{label_app=\"$container_name\", namespace=\"$namespace\"}", | |
"format": "time_series", | |
"hide": false, | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "Max Replicas", | |
"refId": "A" | |
}, | |
{ | |
"expr": "kube_hpa_spec_min_replicas{namespace=\"$namespace\"} * on(pod, namespace) group_left(label_app) kube_hpa_labels{label_app=\"$container_name\", namespace=\"$namespace\"}", | |
"format": "time_series", | |
"hide": false, | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "Min Replicas", | |
"refId": "B" | |
}, | |
{ | |
"expr": "kube_hpa_status_current_replicas{namespace=\"$namespace\"} * on(pod, namespace) group_left(label_app) kube_hpa_labels{label_app=\"$container_name\", namespace=\"$namespace\"} ", | |
"format": "time_series", | |
"hide": false, | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "Current Replicas", | |
"refId": "C" | |
} | |
], | |
"thresholds": [ | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Pod Count By Deployment", | |
"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, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 21 | |
}, | |
"id": 34, | |
"panels": [ | |
], | |
"title": "Resource Usage", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": { | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 12, | |
"x": 0, | |
"y": 22 | |
}, | |
"id": 12, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [ | |
], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(\n rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", container_name=\"$container_name\"}[2m]))\nby (container_name)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Usage", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(\n rate(container_cpu_cfs_throttled_seconds_total{namespace=\"$namespace\", container_name=\"$container_name\"}[2m]))\nby (container_name)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Throttled", | |
"refId": "B" | |
} | |
], | |
"thresholds": [ | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "CPU Usage Seconds", | |
"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 | |
} | |
}, | |
{ | |
"aliasColors": { | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 12, | |
"x": 12, | |
"y": 22 | |
}, | |
"id": 14, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [ | |
], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(container_memory_usage_bytes{container_name=\"$container_name\", namespace=\"$namespace\"})", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Memory Usage", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(kube_pod_container_resource_limits_memory_bytes{namespace=\"$namespace\", container=\"$container_name\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Memory Limits", | |
"refId": "B" | |
} | |
], | |
"thresholds": [ | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Memory Usage", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"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": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 24, | |
"x": 0, | |
"y": 27 | |
}, | |
"id": 16, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [ | |
], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum (rate (container_network_receive_bytes_total{namespace=\"$namespace\"}[2m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Network IN", | |
"refId": "A" | |
}, | |
{ | |
"expr": "-sum (rate (container_network_transmit_bytes_total{namespace=\"$namespace\"}[2m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Network OUT", | |
"refId": "B" | |
} | |
], | |
"thresholds": [ | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Network IO", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"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": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [ | |
], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": { | |
"text": "dev", | |
"value": "dev" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Environment", | |
"multi": false, | |
"name": "namespace", | |
"options": [ | |
], | |
"query": "label_values(namespace)", | |
"refresh": 2, | |
"regex": "/(dev|stg)/", | |
"skipUrlSync": false, | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [ | |
], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"tags": [ | |
], | |
"text": "k8s-sample", | |
"value": "k8s-sample" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Deployment", | |
"multi": false, | |
"name": "container_name", | |
"options": [ | |
{ | |
"selected": false, | |
"text": "All", | |
"value": "$__all" | |
}, | |
{ | |
"selected": false, | |
"text": "alertmanager", | |
"value": "alertmanager" | |
}, | |
{ | |
"selected": false, | |
"text": "ambassador", | |
"value": "ambassador" | |
}, | |
{ | |
"selected": false, | |
"text": "carwill", | |
"value": "carwill" | |
}, | |
{ | |
"selected": false, | |
"text": "grafana", | |
"value": "grafana" | |
}, | |
{ | |
"selected": false, | |
"text": "helm", | |
"value": "helm" | |
}, | |
{ | |
"selected": true, | |
"text": "k8s-sample", | |
"value": "k8s-sample" | |
}, | |
{ | |
"selected": false, | |
"text": "kube-state-metrics", | |
"value": "kube-state-metrics" | |
}, | |
{ | |
"selected": false, | |
"text": "metrics-server", | |
"value": "metrics-server" | |
}, | |
{ | |
"selected": false, | |
"text": "prometheus", | |
"value": "prometheus" | |
}, | |
{ | |
"selected": false, | |
"text": "prometheus-node-exporter", | |
"value": "prometheus-node-exporter" | |
}, | |
{ | |
"selected": false, | |
"text": "prometheus-operator-alertmanager", | |
"value": "prometheus-operator-alertmanager" | |
}, | |
{ | |
"selected": false, | |
"text": "prometheus-operator-coredns", | |
"value": "prometheus-operator-coredns" | |
}, | |
{ | |
"selected": false, | |
"text": "prometheus-operator-kube-controller-manager", | |
"value": "prometheus-operator-kube-controller-manager" | |
}, | |
{ | |
"selected": false, | |
"text": "prometheus-operator-kube-etcd", | |
"value": "prometheus-operator-kube-etcd" | |
}, | |
{ | |
"selected": false, | |
"text": "prometheus-operator-kube-scheduler", | |
"value": "prometheus-operator-kube-scheduler" | |
}, | |
{ | |
"selected": false, | |
"text": "prometheus-operator-operator", | |
"value": "prometheus-operator-operator" | |
}, | |
{ | |
"selected": false, | |
"text": "prometheus-operator-prometheus", | |
"value": "prometheus-operator-prometheus" | |
}, | |
{ | |
"selected": false, | |
"text": "vault", | |
"value": "vault" | |
} | |
], | |
"query": "label_values(label_app)", | |
"refresh": 0, | |
"regex": "/^/", | |
"skipUrlSync": false, | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [ | |
], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-30m", | |
"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": "Metrics Api", | |
"uid": "GM4f7csik", | |
"version": 13 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment