Created
June 22, 2020 16:35
-
-
Save dumindu/200053ef458716bc39b40a0aa78cfde6 to your computer and use it in GitHub Desktop.
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
# Resources for AddonComponents grafana component | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-istio-mesh-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
release: istio | |
istio: grafana | |
data: | |
istio-mesh-dashboard.json: '{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<div>\n <div style=\"position: absolute; bottom: 0\">\n <a href=\"https://istio.io\" target=\"_blank\" style=\"font-size: 30px; text-decoration: none; color: inherit\"><img src=\"https://istio.io/img/istio-logo.svg\" style=\"height: 50px\"> Istio</a>\n </div>\n <div style=\"position: absolute; bottom: 0; right: 0; font-size: 15px\">\n Istio is an <a href=\"https://github.com/istio/istio\" target=\"_blank\">open platform</a> that provides a uniform way to connect,\n <a href=\"https://istio.io/docs/concepts/traffic-management/overview.html\" target=\"_blank\">manage</a>, and \n <a href=\"https://istio.io/docs/concepts/network-and-auth/auth.html\" target=\"_blank\">secure</a> microservices.\n <br>\n Need help? Join the <a href=\"https://istio.io/community/\" target=\"_blank\">Istio community</a>.\n </div>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"height": "50px", | |
"id": 13, | |
"links": [], | |
"mode": "html", | |
"style": { | |
"font-size": "18pt" | |
}, | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 0, | |
"y": 3 | |
}, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{reporter=\"destination\"}[1m])), 0.001)", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Global Request Volume", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 6, | |
"y": 3 | |
}, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(rate(istio_requests_total{reporter=\"destination\", response_code!~\"5.*\"}[1m])) / sum(rate(istio_requests_total{reporter=\"destination\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Global Success Rate (non-5xx responses)", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 12, | |
"y": 3 | |
}, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", response_code=~\"4.*\"}[1m])) ", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "4xxs", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 18, | |
"y": 3 | |
}, | |
"id": 23, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", response_code=~\"5.*\"}[1m])) ", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "5xxs", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 0, | |
"y": 6 | |
}, | |
"id": 113, | |
"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": "avg(galley_istio_networking_virtualservices)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Virtual Services", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 6, | |
"y": 6 | |
}, | |
"id": 114, | |
"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": "avg(galley_istio_networking_destinationrules)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Destination Rules", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 12, | |
"y": 6 | |
}, | |
"id": 115, | |
"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": "avg(galley_istio_networking_gateways)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Gateways", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 18, | |
"y": 6 | |
}, | |
"id": 116, | |
"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": "avg(galley_istio_authentication_meshpolicies)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Authentication Mesh Policies", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"columns": [], | |
"datasource": "Prometheus", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 21, | |
"w": 24, | |
"x": 0, | |
"y": 9 | |
}, | |
"hideTimeOverride": false, | |
"id": 73, | |
"links": [], | |
"pageSize": null, | |
"repeat": null, | |
"repeatDirection": "v", | |
"scroll": true, | |
"showHeader": true, | |
"sort": { | |
"col": 4, | |
"desc": true | |
}, | |
"styles": [ | |
{ | |
"alias": "Workload", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": false, | |
"linkTargetBlank": false, | |
"linkTooltip": "Workload dashboard", | |
"linkUrl": "/dashboard/db/istio-workload-dashboard?var-namespace=$__cell_2&var-workload=$__cell_", | |
"pattern": "destination_workload", | |
"preserveFormat": false, | |
"sanitize": false, | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Time", | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Requests", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #A", | |
"thresholds": [], | |
"type": "number", | |
"unit": "ops" | |
}, | |
{ | |
"alias": "P50 Latency", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #B", | |
"thresholds": [], | |
"type": "number", | |
"unit": "s" | |
}, | |
{ | |
"alias": "P90 Latency", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #D", | |
"thresholds": [], | |
"type": "number", | |
"unit": "s" | |
}, | |
{ | |
"alias": "P99 Latency", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #E", | |
"thresholds": [], | |
"type": "number", | |
"unit": "s" | |
}, | |
{ | |
"alias": "Success Rate", | |
"colorMode": "cell", | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #F", | |
"thresholds": [ | |
".95", | |
" 1.00" | |
], | |
"type": "number", | |
"unit": "percentunit" | |
}, | |
{ | |
"alias": "Workload", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": true, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-workload-dashboard?var-workload=$__cell_2&var-namespace=$__cell_3", | |
"pattern": "destination_workload_var", | |
"thresholds": [], | |
"type": "number", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Service", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": true, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-service-dashboard?var-service=$__cell", | |
"pattern": "destination_service", | |
"thresholds": [], | |
"type": "string", | |
"unit": "short" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "destination_workload_namespace", | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
} | |
], | |
"targets": [ | |
{ | |
"expr": "label_join(sum(rate(istio_requests_total{reporter=\"destination\", response_code=\"200\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}", | |
"refId": "A" | |
}, | |
{ | |
"expr": "label_join((histogram_quantile(0.50, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.50, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}", | |
"refId": "B" | |
}, | |
{ | |
"expr": "label_join((histogram_quantile(0.90, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.90, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", | |
"refId": "D" | |
}, | |
{ | |
"expr": "label_join((histogram_quantile(0.99, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.99, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", | |
"refId": "E" | |
}, | |
{ | |
"expr": "label_join((sum(rate(istio_requests_total{reporter=\"destination\", response_code!~\"5.*\"}[1m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"destination\"}[1m])) by (destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", | |
"refId": "F" | |
} | |
], | |
"timeFrom": null, | |
"title": "HTTP/GRPC Workloads", | |
"transform": "table", | |
"type": "table" | |
}, | |
{ | |
"columns": [], | |
"datasource": "Prometheus", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 18, | |
"w": 24, | |
"x": 0, | |
"y": 30 | |
}, | |
"hideTimeOverride": false, | |
"id": 109, | |
"links": [], | |
"pageSize": null, | |
"repeatDirection": "v", | |
"scroll": true, | |
"showHeader": true, | |
"sort": { | |
"col": 2, | |
"desc": true | |
}, | |
"styles": [ | |
{ | |
"alias": "Workload", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": false, | |
"linkTargetBlank": false, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-tcp-workload-dashboard?var-namespace=$__cell_2&&var-workload=$__cell", | |
"pattern": "destination_workload", | |
"preserveFormat": false, | |
"sanitize": false, | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Bytes Sent", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #A", | |
"thresholds": [ | |
"" | |
], | |
"type": "number", | |
"unit": "Bps" | |
}, | |
{ | |
"alias": "Bytes Received", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #C", | |
"thresholds": [], | |
"type": "number", | |
"unit": "Bps" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Time", | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Workload", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": true, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-workload-dashboard?var-namespace=$__cell_3&var-workload=$__cell_2", | |
"pattern": "destination_workload_var", | |
"thresholds": [], | |
"type": "string", | |
"unit": "short" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "destination_workload_namespace", | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Service", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": true, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-service-dashboard?var-service=$__cell", | |
"pattern": "destination_service", | |
"thresholds": [], | |
"type": "number", | |
"unit": "short" | |
} | |
], | |
"targets": [ | |
{ | |
"expr": "label_join(sum(rate(istio_tcp_received_bytes_total{reporter=\"source\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}", | |
"refId": "C" | |
}, | |
{ | |
"expr": "label_join(sum(rate(istio_tcp_sent_bytes_total{reporter=\"source\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"title": "TCP Workloads", | |
"transform": "table", | |
"type": "table" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 24, | |
"x": 0, | |
"y": 48 | |
}, | |
"id": 111, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"rightSide": 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(istio_build) by (component, tag)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ component }}: {{ tag }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Istio Components by Version", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 18, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"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": "browser", | |
"title": "Istio Mesh Dashboard", | |
"uid": "G8wLrJIZk", | |
"version": 5 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-istio-performance-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
release: istio | |
istio: grafana | |
data: | |
istio-performance-dashboard.json: '{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"links": [], | |
"panels": [ | |
{ | |
"collapsed": true, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 21, | |
"panels": [ | |
{ | |
"content": "The charts on this dashboard are intended to show Istio main components cost in terms resources utilization under steady load.\n\n- **vCPU/1k rps:** shows vCPU utilization by the main Istio components normalized by 1000 requests/second. When idle or low traffic, this chart will be blank. The curve for istio-proxy refers to the services sidecars only.\n- **vCPU:** vCPU utilization by Istio components, not normalized.\n- **Memory:** memory footprint for the components. Telemetry and policy are normalized by 1k rps, and no data is shown when there is no traffic. For ingress and istio-proxy, the data is per instance.\n- **Bytes transferred/ sec:** shows the number of bytes flowing through each Istio component.\n\n\n", | |
"gridPos": { | |
"h": 6, | |
"w": 24, | |
"x": 0, | |
"y": 1 | |
}, | |
"id": 19, | |
"links": [], | |
"mode": "markdown", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Performance Dashboard README", | |
"transparent": true, | |
"type": "text" | |
} | |
], | |
"title": "Performance Dashboard Notes", | |
"type": "row" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 1 | |
}, | |
"id": 6, | |
"panels": [], | |
"title": "vCPU Usage", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 12, | |
"x": 0, | |
"y": 2 | |
}, | |
"id": 4, | |
"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": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "(sum(irate(container_cpu_usage_seconds_total{pod=~\"istio-telemetry-.*\",container=~\"mixer|istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "istio-telemetry", | |
"refId": "A" | |
}, | |
{ | |
"expr": "(sum(irate(container_cpu_usage_seconds_total{pod=~\"istio-ingressgateway-.*\",container=\"istio-proxy\"}[1m])) / (round(sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[1m])), 0.001)/1000))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "istio-ingressgateway", | |
"refId": "B" | |
}, | |
{ | |
"expr": "(sum(irate(container_cpu_usage_seconds_total{namespace!=\"istio-system\",container=\"istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-proxy", | |
"refId": "C" | |
}, | |
{ | |
"expr": "(sum(irate(container_cpu_usage_seconds_total{pod=~\"istio-policy-.*\",container=~\"mixer|istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-policy", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "vCPU / 1k rps", | |
"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": 8, | |
"w": 12, | |
"x": 12, | |
"y": 2 | |
}, | |
"id": 7, | |
"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": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"istio-telemetry-.*\",container=~\"mixer|istio-proxy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-telemetry", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"istio-ingressgateway-.*\",container=\"istio-proxy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-ingressgateway", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace!=\"istio-system\",container=\"istio-proxy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-proxy", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{pod=~\"istio-policy-.*\",container=~\"mixer|istio-proxy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-policy", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "vCPU", | |
"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": 10 | |
}, | |
"id": 13, | |
"panels": [], | |
"title": "Memory and Data Rates", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 12, | |
"x": 0, | |
"y": 11 | |
}, | |
"id": 902, | |
"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": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "(sum(container_memory_usage_bytes{pod=~\"istio-telemetry-.*\"}) / (sum(irate(istio_requests_total[1m])) / 1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-telemetry / 1k rps", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{pod=~\"istio-ingressgateway-.*\"}) / count(container_memory_usage_bytes{pod=~\"istio-ingressgateway-.*\",container!=\"POD\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "per istio-ingressgateway", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{namespace!=\"istio-system\",container=\"istio-proxy\"}) / count(container_memory_usage_bytes{namespace!=\"istio-system\",container=\"istio-proxy\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "per istio proxy", | |
"refId": "C" | |
}, | |
{ | |
"expr": "(sum(container_memory_usage_bytes{pod=~\"istio-policy-.*\"}) / (sum(irate(istio_requests_total[1m])) / 1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-policy / 1k rps", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"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": 8, | |
"w": 12, | |
"x": 12, | |
"y": 11 | |
}, | |
"id": 11, | |
"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": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-telemetry\"}[1m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-telemetry\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-telemetry", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(irate(istio_response_bytes_sum{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-ingressgateway", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(irate(istio_response_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[1m])) + sum(irate(istio_response_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[1m])) + sum(irate(istio_request_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[1m])) + sum(irate(istio_request_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-proxy", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-policy\"}[1m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-policy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio_policy", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Bytes transferred / sec", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"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": 19 | |
}, | |
"id": 17, | |
"panels": [], | |
"title": "Istio Component Versions", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 24, | |
"x": 0, | |
"y": 20 | |
}, | |
"id": 15, | |
"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": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(istio_build) by (component, tag)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ component }}: {{ tag }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Istio Components by Version", | |
"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": 31 | |
}, | |
"id": 71, | |
"panels": [], | |
"title": "Proxy Resource Usage", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 32 | |
}, | |
"id": 72, | |
"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=\"istio-proxy\"})", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ container }} (k8s)", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Memory", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 32 | |
}, | |
"id": 73, | |
"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_cpu_usage_seconds_total{container=\"istio-proxy\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (k8s)", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "vCPU", | |
"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": 7, | |
"w": 6, | |
"x": 12, | |
"y": 32 | |
}, | |
"id": 702, | |
"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_fs_usage_bytes{ container=\"istio-proxy\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ container }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Disk", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "none", | |
"label": "", | |
"logBase": 1024, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 39 | |
}, | |
"id": 69, | |
"panels": [], | |
"title": "Pilot Resource Usage", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 40 | |
}, | |
"id": 5, | |
"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": "process_virtual_memory_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Virtual Memory", | |
"refId": "I", | |
"step": 2 | |
}, | |
{ | |
"expr": "process_resident_memory_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Resident Memory", | |
"refId": "H", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_sys_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap sys", | |
"refId": "A" | |
}, | |
{ | |
"expr": "go_memstats_heap_alloc_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap alloc", | |
"refId": "D" | |
}, | |
{ | |
"expr": "go_memstats_alloc_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Alloc", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_inuse_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Heap in-use", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_stack_inuse_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Stack in-use", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"})", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (k8s)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "container_memory_usage_bytes{container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ container }} (k8s)", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Memory", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 40 | |
}, | |
"id": 602, | |
"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_cpu_usage_seconds_total{container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (k8s)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"}[1m])) by (container)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ container }} (k8s)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "irate(process_cpu_seconds_total{app=\"istiod\"}[1m])", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "pilot (self-reported)", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "vCPU", | |
"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": 7, | |
"w": 6, | |
"x": 12, | |
"y": 40 | |
}, | |
"id": 74, | |
"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": "process_open_fds{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": true, | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "Open FDs (pilot)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "container_fs_usage_bytes{ container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ container }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Disk", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "none", | |
"label": "", | |
"logBase": 1024, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 40 | |
}, | |
"id": 402, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"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": "go_goroutines{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Number of Goroutines", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Goroutines", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "", | |
"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": 47 | |
}, | |
"id": 93, | |
"panels": [], | |
"title": "Mixer Resource Usage", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 48 | |
}, | |
"id": 94, | |
"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": "process_virtual_memory_bytes{job=~\"istio-telemetry|istio-policy\"}", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Virtual Memory", | |
"refId": "I", | |
"step": 2 | |
}, | |
{ | |
"expr": "process_resident_memory_bytes{job=~\"istio-telemetry|istio-policy\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Resident Memory", | |
"refId": "H", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_sys_bytes{job=~\"istio-telemetry|istio-policy\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap sys", | |
"refId": "A" | |
}, | |
{ | |
"expr": "go_memstats_heap_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap alloc", | |
"refId": "D" | |
}, | |
{ | |
"expr": "go_memstats_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Alloc", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_inuse_bytes{job=~\"istio-telemetry|istio-policy\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Heap in-use", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_stack_inuse_bytes{job=~\"istio-policy|istio-telemetry\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Stack in-use", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*\"})", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (k8s)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "container_memory_usage_bytes{container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ container }} (k8s)", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Memory", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 48 | |
}, | |
"id": 95, | |
"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_cpu_usage_seconds_total{container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (k8s)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*\"}[1m])) by (container)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ container }} (k8s)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "irate(process_cpu_seconds_total{job=~\"istio-policy|istio-telemetry\"}[1m])", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "mixer (self-reported)", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "vCPU", | |
"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": 7, | |
"w": 6, | |
"x": 12, | |
"y": 48 | |
}, | |
"id": 96, | |
"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": "process_open_fds{job=~\"istio-policy|istio-telemetry\"}", | |
"format": "time_series", | |
"hide": true, | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "Open FDs (pilot)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "container_fs_usage_bytes{container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ container }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Disk", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "none", | |
"label": "", | |
"logBase": 1024, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 48 | |
}, | |
"id": 97, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"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": "go_goroutines{job=\"istio-telemetry\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Number of Goroutines", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Goroutines", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "", | |
"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": "10s", | |
"schemaVersion": 18, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"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": "Istio Performance Dashboard", | |
"uid": "vu8e0VWZk", | |
"version": 22 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-istio-service-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
release: istio | |
istio: grafana | |
data: | |
istio-service-dashboard.json: '{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"iteration": 1536442501501, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>SERVICE: $service</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 89, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 12, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\"}[5m])), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Client Request Volume", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "Prometheus", | |
"decimals": null, | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 6, | |
"y": 3 | |
}, | |
"id": 14, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\"}[5m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "B" | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Client Success Rate (non-5xx responses)", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 12, | |
"y": 3 | |
}, | |
"id": 87, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"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": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "P50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P90", | |
"refId": "B" | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P99", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Client Request Duration", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 18, | |
"y": 3 | |
}, | |
"id": 84, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", destination_service=~\"$service\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "TCP Received Bytes", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 0, | |
"y": 7 | |
}, | |
"id": 97, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\"}[5m])), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Server Request Volume", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "Prometheus", | |
"decimals": null, | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 6, | |
"y": 7 | |
}, | |
"id": 98, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\"}[5m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "B" | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Server Success Rate (non-5xx responses)", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 12, | |
"y": 7 | |
}, | |
"id": 99, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"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": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "P50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P90", | |
"refId": "B" | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P99", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Server Request Duration", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 18, | |
"y": 7 | |
}, | |
"id": 100, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"source\", destination_service=~\"$service\"}[1m])) ", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "TCP Sent Bytes", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>CLIENT WORKLOADS</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 11 | |
}, | |
"id": 45, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 14 | |
}, | |
"id": 25, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\",destination_service=~\"$service\",reporter=\"source\",source_workload=~\"$srcwl\",source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }} (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", reporter=\"source\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Requests by Source And Response Code", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 14 | |
}, | |
"id": 26, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": 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(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Success Rate (non-5xx responses) By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 20 | |
}, | |
"id": 27, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Duration by Source", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 20 | |
}, | |
"id": 28, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Size By Source", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 20 | |
}, | |
"id": 68, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size By Source", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 26 | |
}, | |
"id": 80, | |
"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": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Received from Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"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": 6, | |
"w": 12, | |
"x": 12, | |
"y": 26 | |
}, | |
"id": 82, | |
"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": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Sent to Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>SERVICE WORKLOADS</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 32 | |
}, | |
"id": 69, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 35 | |
}, | |
"id": 90, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\",destination_service=~\"$service\",reporter=\"destination\",destination_workload=~\"$dstwl\",destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} : {{ response_code }} (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", reporter=\"destination\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} : {{ response_code }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Requests by Destination And Response Code", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 35 | |
}, | |
"id": 91, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": 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(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Success Rate (non-5xx responses) By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 41 | |
}, | |
"id": 94, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Duration by Source", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 41 | |
}, | |
"id": 95, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Size By Source", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 41 | |
}, | |
"id": 96, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size By Source", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 47 | |
}, | |
"id": 92, | |
"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": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Received from Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"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": 6, | |
"w": 12, | |
"x": 12, | |
"y": 47 | |
}, | |
"id": 93, | |
"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": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{destination_workload_namespace }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{destination_workload_namespace }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Sent to Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "10s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Service", | |
"multi": false, | |
"name": "service", | |
"options": [], | |
"query": "label_values(destination_service)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "All", | |
"value": "$__all" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Client Workload Namespace", | |
"multi": true, | |
"name": "srcns", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=\"$service\"}) by (source_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\"}) by (source_workload_namespace))", | |
"refresh": 1, | |
"regex": "/.*namespace=\"([^\"]*).*/", | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "All", | |
"value": "$__all" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Client Workload", | |
"multi": true, | |
"name": "srcwl", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=~\"$service\", source_workload_namespace=~\"$srcns\"}) by (source_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\", source_workload_namespace=~\"$srcns\"}) by (source_workload))", | |
"refresh": 1, | |
"regex": "/.*workload=\"([^\"]*).*/", | |
"sort": 3, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "All", | |
"value": "$__all" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Service Workload Namespace", | |
"multi": true, | |
"name": "dstns", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=\"$service\"}) by (destination_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\"}) by (destination_workload_namespace))", | |
"refresh": 1, | |
"regex": "/.*namespace=\"([^\"]*).*/", | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "All", | |
"value": "$__all" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Service Workload", | |
"multi": true, | |
"name": "dstwl", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=~\"$service\", destination_workload_namespace=~\"$dstns\"}) by (destination_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\", destination_workload_namespace=~\"$dstns\"}) by (destination_workload))", | |
"refresh": 1, | |
"regex": "/.*workload=\"([^\"]*).*/", | |
"sort": 3, | |
"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": "Istio Service Dashboard", | |
"uid": "LJ_uJAvmk", | |
"version": 1 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-istio-workload-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
release: istio | |
istio: grafana | |
data: | |
istio-workload-dashboard.json: '{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "5.0.4" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "singlestat", | |
"name": "Singlestat", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "text", | |
"name": "Text", | |
"version": "5.0.0" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"iteration": 1531345461465, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>WORKLOAD: $workload.$namespace</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 89, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 8, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 12, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\"}[5m])), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Incoming Request Volume", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "Prometheus", | |
"decimals": null, | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 8, | |
"x": 8, | |
"y": 3 | |
}, | |
"id": 14, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\"}[5m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "B" | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Incoming Success Rate (non-5xx responses)", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 4, | |
"w": 8, | |
"x": 16, | |
"y": 3 | |
}, | |
"id": 87, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"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": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "P50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P90", | |
"refId": "B" | |
}, | |
{ | |
"expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P99", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Request Duration", | |
"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": false | |
} | |
] | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 12, | |
"x": 0, | |
"y": 7 | |
}, | |
"id": 84, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\"}[1m])) + sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "TCP Server Traffic", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 12, | |
"x": 12, | |
"y": 7 | |
}, | |
"id": 85, | |
"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": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\"}[1m])) + sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "TCP Client Traffic", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>INBOUND WORKLOADS</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 11 | |
}, | |
"id": 45, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 14 | |
}, | |
"id": 25, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", reporter=\"destination\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }} (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", reporter=\"destination\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Requests by Source And Response Code", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 14 | |
}, | |
"id": 26, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": 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(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Success Rate (non-5xx responses) By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 20 | |
}, | |
"id": 27, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Duration by Source", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 20 | |
}, | |
"id": 28, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Size By Source", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 20 | |
}, | |
"id": 68, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size By Source", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 26 | |
}, | |
"id": 80, | |
"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": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Received from Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 26 | |
}, | |
"id": 82, | |
"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": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Sent to Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>OUTBOUND SERVICES</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 32 | |
}, | |
"id": 69, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 35 | |
}, | |
"id": 70, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", reporter=\"source\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service, response_code), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} : {{ response_code }} (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", reporter=\"source\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service, response_code), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} : {{ response_code }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Outgoing Requests by Destination And Response Code", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 35 | |
}, | |
"id": 71, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": 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(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\",response_code!~\"5.*\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\",response_code!~\"5.*\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{destination_service }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Outgoing Success Rate (non-5xx responses) By Destination", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 41 | |
}, | |
"id": 72, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Outgoing Request Duration by Destination", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 41 | |
}, | |
"id": 73, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Outgoing Request Size By Destination", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 41 | |
}, | |
"id": 74, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": 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": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size By Destination", | |
"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": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 47 | |
}, | |
"id": 76, | |
"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": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Sent on Outgoing TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 47 | |
}, | |
"id": 78, | |
"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": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Received from Outgoing TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
} | |
], | |
"refresh": "10s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Namespace", | |
"multi": false, | |
"name": "namespace", | |
"options": [], | |
"query": "query_result(sum(istio_requests_total) by (destination_workload_namespace) or sum(istio_tcp_sent_bytes_total) by (destination_workload_namespace))", | |
"refresh": 1, | |
"regex": "/.*_namespace=\"([^\"]*).*/", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Workload", | |
"multi": false, | |
"name": "workload", | |
"options": [], | |
"query": "query_result((sum(istio_requests_total{destination_workload_namespace=~\"$namespace\"}) by (destination_workload) or sum(istio_requests_total{source_workload_namespace=~\"$namespace\"}) by (source_workload)) or (sum(istio_tcp_sent_bytes_total{destination_workload_namespace=~\"$namespace\"}) by (destination_workload) or sum(istio_tcp_sent_bytes_total{source_workload_namespace=~\"$namespace\"}) by (source_workload)))", | |
"refresh": 1, | |
"regex": "/.*workload=\"([^\"]*).*/", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Inbound Workload Namespace", | |
"multi": true, | |
"name": "srcns", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\"}) by (source_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\"}) by (source_workload_namespace))", | |
"refresh": 1, | |
"regex": "/.*namespace=\"([^\"]*).*/", | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Inbound Workload", | |
"multi": true, | |
"name": "srcwl", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload_namespace=~\"$srcns\"}) by (source_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload_namespace=~\"$srcns\"}) by (source_workload))", | |
"refresh": 1, | |
"regex": "/.*workload=\"([^\"]*).*/", | |
"sort": 3, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Destination Service", | |
"multi": true, | |
"name": "dstsvc", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"source\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\"}) by (destination_service) or sum(istio_tcp_sent_bytes_total{reporter=\"source\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\"}) by (destination_service))", | |
"refresh": 1, | |
"regex": "/.*destination_service=\"([^\"]*).*/", | |
"sort": 4, | |
"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": "Istio Workload Dashboard", | |
"uid": "UbsSZTDik", | |
"version": 1 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-mixer-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
release: istio | |
istio: grafana | |
data: | |
mixer-dashboard.json: '{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "5.2.3" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "text", | |
"name": "Text", | |
"version": "5.0.0" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"limit": 100, | |
"name": "Annotations & Alerts", | |
"showIn": 0, | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 1, | |
"id": null, | |
"iteration": 1543881232533, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<center><h2>Deployed Versions</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"height": "40", | |
"id": 62, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 24, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 64, | |
"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(istio_build{component=\"mixer\"}) by (tag)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ tag }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Mixer Versions", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"content": "<center><h2>Resource Usage</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 8 | |
}, | |
"height": "40", | |
"id": 29, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 11 | |
}, | |
"id": 5, | |
"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(process_virtual_memory_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Virtual Memory ({{ job }})", | |
"refId": "I" | |
}, | |
{ | |
"expr": "sum(process_resident_memory_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Resident Memory ({{ job }})", | |
"refId": "H" | |
}, | |
{ | |
"expr": "sum(go_memstats_heap_sys_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap sys ({{ job }})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(go_memstats_heap_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap alloc ({{ job }})", | |
"refId": "D" | |
}, | |
{ | |
"expr": "sum(go_memstats_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Alloc ({{ job }})", | |
"refId": "F" | |
}, | |
{ | |
"expr": "sum(go_memstats_heap_inuse_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Heap in-use ({{ job }})", | |
"refId": "E" | |
}, | |
{ | |
"expr": "sum(go_memstats_stack_inuse_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Stack in-use ({{ job }})", | |
"refId": "G" | |
}, | |
{ | |
"expr": "sum(label_replace(container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod\", \"(istio-telemetry|istio-policy)-.*\")) by (service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} total (k8s)", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(label_replace(container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod\", \"(istio-telemetry|istio-policy)-.*\")) by (container, service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} - {{ container }} (k8s)", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Memory", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 11 | |
}, | |
"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": "label_replace(sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*|istio-policy-.*\"}[1m])) by (pod), \"service\", \"$1\" , \"pod\", \"(istio-telemetry|istio-policy)-.*\")", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} total (k8s)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*|istio-policy-.*\"}[1m])) by (container, pod), \"service\", \"$1\" , \"pod\", \"(istio-telemetry|istio-policy)-.*\")", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} - {{ container }} (k8s)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(irate(process_cpu_seconds_total{job=~\"istio-telemetry|istio-policy\"}[1m])) by (job)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ job }} (self-reported)", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "CPU", | |
"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": 7, | |
"w": 6, | |
"x": 12, | |
"y": 11 | |
}, | |
"id": 7, | |
"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(process_open_fds{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"hide": true, | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "Open FDs ({{ job }})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(label_replace(container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container=~\"mixer|istio-proxy\", pod=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod\", \"(istio-telemetry|istio-policy)-.*\")) by (container, service)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} - {{ container }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Disk", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "none", | |
"label": "", | |
"logBase": 1024, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 11 | |
}, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"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(go_goroutines{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Number of Goroutines ({{ job }})", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Goroutines", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "", | |
"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 | |
} | |
}, | |
{ | |
"content": "<center><h2>Mixer Overview</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 18 | |
}, | |
"height": "40px", | |
"id": 30, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 0, | |
"y": 21 | |
}, | |
"id": 9, | |
"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(grpc_io_server_completed_rpcs[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "mixer (Total)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(rate(grpc_io_server_completed_rpcs[1m])) by (grpc_server_method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "mixer ({{ grpc_server_method }})", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Requests", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 6, | |
"y": 21 | |
}, | |
"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": [ | |
{ | |
"alias": "{}", | |
"yaxis": 1 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.5, sum(rate(grpc_io_server_server_latency_bucket{}[1m])) by (grpc_server_method, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ grpc_server_method }} 0.5", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.9, sum(rate(grpc_io_server_server_latency_bucket{}[1m])) by (grpc_server_method, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ grpc_server_method }} 0.9", | |
"refId": "C" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(rate(grpc_io_server_server_latency_bucket{}[1m])) by (grpc_server_method, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ grpc_server_method }} 0.99", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Durations", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ms", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 12, | |
"y": 21 | |
}, | |
"id": 11, | |
"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(grpc_server_handled_total{grpc_code=~\"Unknown|Unimplemented|Internal|DataLoss\"}[1m])) by (grpc_method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Mixer {{ grpc_method }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Server Error Rate (5xx responses)", | |
"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": 6, | |
"w": 6, | |
"x": 18, | |
"y": 21 | |
}, | |
"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(irate(grpc_server_handled_total{grpc_code!=\"OK\",grpc_service=~\".*Mixer\"}[1m])) by (grpc_method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Mixer {{ grpc_method }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Non-successes (4xxs)", | |
"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 | |
} | |
}, | |
{ | |
"content": "<center><h2>Adapters and Config</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 27 | |
}, | |
"id": 28, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 30 | |
}, | |
"id": 13, | |
"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(irate(mixer_runtime_dispatches_total{adapter=~\"$adapter\"}[1m])) by (adapter)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Adapter Dispatch Count", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 30 | |
}, | |
"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": "histogram_quantile(0.5, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }} - p50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }} - p90 ", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }} - p99", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Adapter Dispatch Duration", | |
"tooltip": { | |
"shared": true, | |
"sort": 1, | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 37 | |
}, | |
"id": 60, | |
"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": "scalar(topk(1, max(mixer_config_rule_config_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Rules", | |
"refId": "A" | |
}, | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_rule_config_error_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Config Errors", | |
"refId": "B" | |
}, | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_rule_config_match_error_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Match Errors", | |
"refId": "C" | |
}, | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_unsatisfied_action_handler_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Unsatisfied Actions", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Rules", | |
"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": 7, | |
"w": 6, | |
"x": 6, | |
"y": 37 | |
}, | |
"id": 56, | |
"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": "scalar(topk(1, max(mixer_config_instance_config_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Instances", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Instances in Latest Config", | |
"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": 7, | |
"w": 6, | |
"x": 12, | |
"y": 37 | |
}, | |
"id": 54, | |
"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": "scalar(topk(1, max(mixer_config_handler_config_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Handlers", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Handlers in Latest Config", | |
"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": 7, | |
"w": 6, | |
"x": 18, | |
"y": 37 | |
}, | |
"id": 58, | |
"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": "scalar(topk(1, max(mixer_config_attribute_count) by (configID)))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "Attributes", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Attributes in Latest Config", | |
"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 | |
} | |
}, | |
{ | |
"content": "<center><h2>Individual Adapters</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 44 | |
}, | |
"id": 23, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 47 | |
}, | |
"id": 46, | |
"panels": [], | |
"repeat": "adapter", | |
"title": "$adapter Adapter", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 48 | |
}, | |
"id": 17, | |
"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": "label_replace(irate(mixer_runtime_dispatches_total{adapter=~\"$adapter\"}[1m]),\"handler\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ handler }} (error: {{ error }})", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Dispatch Count By Handler", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 48 | |
}, | |
"id": 18, | |
"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": "label_replace(histogram_quantile(0.5, sum(rate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "p50 - {{ handler_short }} (error: {{ error }})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "p90 - {{ handler_short }} (error: {{ error }})", | |
"refId": "D" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "p99 - {{ handler_short }} (error: {{ error }})", | |
"refId": "E" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Dispatch Duration By Handler", | |
"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 | |
} | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Adapter", | |
"multi": true, | |
"name": "adapter", | |
"options": [], | |
"query": "label_values(adapter)", | |
"refresh": 2, | |
"regex": "", | |
"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": "Istio Mixer Dashboard", | |
"version": 4 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-pilot-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
release: istio | |
istio: grafana | |
data: | |
pilot-dashboard.json: '{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 1, | |
"links": [], | |
"panels": [ | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 60, | |
"panels": [], | |
"title": "Deployed Versions", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 24, | |
"x": 0, | |
"y": 1 | |
}, | |
"id": 56, | |
"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(istio_build{component=\"pilot\"}) by (tag)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ tag }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Pilot Versions", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 6 | |
}, | |
"id": 62, | |
"panels": [], | |
"title": "Resource Usage", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 7 | |
}, | |
"id": 5, | |
"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": "process_virtual_memory_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Virtual Memory", | |
"refId": "I", | |
"step": 2 | |
}, | |
{ | |
"expr": "process_resident_memory_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Resident Memory", | |
"refId": "H", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_sys_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap sys", | |
"refId": "A" | |
}, | |
{ | |
"expr": "go_memstats_heap_alloc_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap alloc", | |
"refId": "D" | |
}, | |
{ | |
"expr": "go_memstats_alloc_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Alloc", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_inuse_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Heap in-use", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_stack_inuse_bytes{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Stack in-use", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "container_memory_usage_bytes{container=~\"discovery\", pod=~\"istiod-.*|istio-pilot-.*\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Discovery (container)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "container_memory_usage_bytes{container=~\"istio-proxy\", pod=~\"istiod-.*|istio-pilot-.*\"}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Sidecar (container)", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Memory", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 7 | |
}, | |
"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(irate(container_cpu_usage_seconds_total{container=\"discovery\", pod=~\"istiod-.*|istio-pilot-.*\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Discovery (container)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "irate(process_cpu_seconds_total{app=\"istiod\"}[1m])", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Discovery (process)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(container_cpu_usage_seconds_total{container=\"istio-proxy\", pod=~\"istiod-.*|istio-pilot-.*\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Sidecar (container)", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "CPU", | |
"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": 7, | |
"w": 6, | |
"x": 12, | |
"y": 7 | |
}, | |
"id": 7, | |
"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": "container_fs_usage_bytes{container=\"discovery\", pod=~\"istiod-.*|istio-pilot-.*\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Discovery", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "container_fs_usage_bytes{container=\"istio-proxy\", pod=~\"istiod-.*|istio-pilot-.*\"}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Sidecar", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Disk", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "none", | |
"label": "", | |
"logBase": 1024, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 7 | |
}, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"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": "go_goroutines{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Number of Goroutines", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Goroutines", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "", | |
"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": 14 | |
}, | |
"id": 58, | |
"panels": [], | |
"title": "Pilot Push Information", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": true, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "Shows the rate of pilot pushes", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 0, | |
"y": 15 | |
}, | |
"id": 622, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": false, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"paceLength": 10, | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": true, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(pilot_xds_pushes{type=\"cds\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Cluster", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(irate(pilot_xds_pushes{type=\"eds\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Endpoints", | |
"refId": "D" | |
}, | |
{ | |
"expr": "sum(irate(pilot_xds_pushes{type=\"lds\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Listeners", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(irate(pilot_xds_pushes{type=\"rds\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Routes", | |
"refId": "E" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Pilot Pushes", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "Captures a variety of pilot errors", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 8, | |
"y": 15 | |
}, | |
"id": 67, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": true, | |
"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(pilot_xds_cds_reject{app=\"istiod\"}) or (absent(pilot_xds_cds_reject{app=\"istiod\"}) - 1)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Rejected CDS Configs", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(pilot_xds_eds_reject{app=\"istiod\"}) or (absent(pilot_xds_eds_reject{app=\"istiod\"}) - 1)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Rejected EDS Configs", | |
"refId": "D" | |
}, | |
{ | |
"expr": "sum(pilot_xds_rds_reject{app=\"istiod\"}) or (absent(pilot_xds_rds_reject{app=\"istiod\"}) - 1)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Rejected RDS Configs", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(pilot_xds_lds_reject{app=\"istiod\"}) or (absent(pilot_xds_lds_reject{app=\"istiod\"}) - 1)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Rejected LDS Configs", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(rate(pilot_xds_write_timeout{app=\"istiod\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Write Timeouts", | |
"refId": "F" | |
}, | |
{ | |
"expr": "sum(rate(pilot_total_xds_internal_errors{app=\"istiod\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Internal Errors", | |
"refId": "H" | |
}, | |
{ | |
"expr": "sum(rate(pilot_total_xds_rejects{app=\"istiod\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Config Rejection Rate", | |
"refId": "E" | |
}, | |
{ | |
"expr": "sum(rate(pilot_xds_push_context_errors{app=\"istiod\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Push Context Errors", | |
"refId": "K" | |
}, | |
{ | |
"expr": "sum(rate(pilot_xds_pushes{type!~\"lds|cds|rds|eds\"}[1m])) by (type)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Push Errors ({{ type }})", | |
"refId": "L" | |
}, | |
{ | |
"expr": "sum(rate(pilot_xds_push_errors{app=\"istiod\"}[1m])) by (type)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Push Errors ({{ type }})", | |
"refId": "I" | |
}, | |
{ | |
"expr": "sum(rate(pilot_xds_push_timeout{app=\"istiod\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Push Timeouts", | |
"refId": "G" | |
}, | |
{ | |
"expr": "sum(rate(pilot_xds_push_timeout_failures{app=\"istiod\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Push Timeouts Failures", | |
"refId": "J" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Pilot Errors", | |
"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", | |
"description": "Shows the total time it takes to push a config update to a proxy", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 16, | |
"y": 15 | |
}, | |
"id": 624, | |
"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": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.5, sum(rate(pilot_proxy_convergence_time_bucket[1m])) by (le))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "p50 ", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.9, sum(rate(pilot_proxy_convergence_time_bucket[1m])) by (le))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "p90", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(rate(pilot_proxy_convergence_time_bucket[1m])) by (le))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "p99", | |
"refId": "C" | |
}, | |
{ | |
"expr": "histogram_quantile(0.999, sum(rate(pilot_proxy_convergence_time_bucket[1m])) by (le))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "p99.9", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Proxy Push Time", | |
"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": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 0, | |
"y": 23 | |
}, | |
"id": 45, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "pilot_conflict_inbound_listener{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Inbound Listeners", | |
"refId": "B" | |
}, | |
{ | |
"expr": "pilot_conflict_outbound_listener_http_over_current_tcp{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Outbound Listeners (http over current tcp)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "pilot_conflict_outbound_listener_tcp_over_current_tcp{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Outbound Listeners (tcp over current tcp)", | |
"refId": "C" | |
}, | |
{ | |
"expr": "pilot_conflict_outbound_listener_tcp_over_current_http{app=\"istiod\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "Outbound Listeners (tcp over current http)", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Conflicts", | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 8, | |
"y": 23 | |
}, | |
"id": 47, | |
"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": "pilot_virt_services{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Virtual Services", | |
"refId": "A" | |
}, | |
{ | |
"expr": "pilot_services{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Services", | |
"refId": "B" | |
}, | |
{ | |
"expr": "pilot_xds{app=\"istiod\"}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Connected Endpoints", | |
"refId": "E" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "ADS Monitoring", | |
"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 | |
} | |
}, | |
{ | |
"columns": [], | |
"datasource": "Prometheus", | |
"description": "Clusters in this table do not have any endpoints known to pilot. This could be from referencing subsets that do not have any instances, or pods marked as NotReady", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 16, | |
"y": 23 | |
}, | |
"id": 51, | |
"links": [], | |
"pageSize": null, | |
"scroll": true, | |
"showHeader": true, | |
"sort": { | |
"col": null, | |
"desc": false | |
}, | |
"styles": [ | |
{ | |
"alias": "Time", | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"pattern": "Time", | |
"type": "date" | |
}, | |
{ | |
"alias": "Clusters", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"decimals": 2, | |
"pattern": "/.*/", | |
"thresholds": [], | |
"type": "number", | |
"unit": "short" | |
} | |
], | |
"targets": [ | |
{ | |
"expr": "sum(pilot_xds_eds_instances{app=\"istiod\", cluster=~\".+\\\\|.+\"}) by (cluster) < 1", | |
"format": "time_series", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{cluster}}", | |
"refId": "B" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Clusters with no known endpoints", | |
"transform": "timeseries_aggregations", | |
"type": "table" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 31 | |
}, | |
"id": 64, | |
"panels": [], | |
"title": "Envoy Information", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "Shows details about Envoy proxies in the mesh", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 0, | |
"y": 32 | |
}, | |
"id": 40, | |
"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(irate(envoy_cluster_upstream_cx_total{cluster_name=\"xds-grpc\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "XDS Connections", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(irate(envoy_cluster_upstream_cx_connect_fail{cluster_name=\"xds-grpc\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "XDS Connection Failures", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(increase(envoy_server_hot_restart_epoch[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Envoy Restarts", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Envoy Details", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 8, | |
"y": 32 | |
}, | |
"id": 41, | |
"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(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "XDS Active Connections", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "XDS Active Connections", | |
"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", | |
"description": "Shows the size of XDS requests and responses", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 16, | |
"y": 32 | |
}, | |
"id": 42, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": 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": "max(rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "XDS Response Bytes Max", | |
"refId": "D" | |
}, | |
{ | |
"expr": "quantile(0.5, rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "XDS Response Bytes Average", | |
"refId": "B" | |
}, | |
{ | |
"expr": "max(rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "XDS Request Bytes Max", | |
"refId": "A" | |
}, | |
{ | |
"expr": "quantile(.5, rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "XDS Request Bytes Average", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "XDS Requests Size", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"datasource": null, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 40 | |
}, | |
"id": 626, | |
"panels": [], | |
"title": "Webhooks", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": null, | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 8, | |
"w": 12, | |
"x": 0, | |
"y": 41 | |
}, | |
"hiddenSeries": false, | |
"id": 629, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(galley_validation_passed[1m]))", | |
"interval": "", | |
"legendFormat": "Validations (Success)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(galley_validation_failed[1m]))", | |
"interval": "", | |
"legendFormat": "Validation (Failure)", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Configuration Validation", | |
"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, | |
"description": "", | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 8, | |
"w": 12, | |
"x": 12, | |
"y": 41 | |
}, | |
"hiddenSeries": false, | |
"id": 630, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"nullPointMode": "null", | |
"options": { | |
"dataLinks": [] | |
}, | |
"percentage": false, | |
"pointradius": 2, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(sidecar_injection_success_total[1m]))", | |
"interval": "", | |
"legendFormat": "Injections (Success)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(sidecar_injection_failure_total[1m]))", | |
"interval": "", | |
"legendFormat": "Injections (Failure)", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Sidecar Injection", | |
"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 | |
} | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 18, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"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": "browser", | |
"title": "Istio Control Plane Dashboard", | |
"uid": "3--MLVZZk", | |
"version": 11 | |
}' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana | |
namespace: istio-system | |
labels: | |
app: grafana | |
release: istio | |
istio: grafana | |
data: | |
datasources.yaml: | | |
apiVersion: 1 | |
datasources: | |
- access: proxy | |
editable: true | |
isDefault: true | |
jsonData: | |
timeInterval: 5s | |
name: Prometheus | |
orgId: 1 | |
type: prometheus | |
url: http://prometheus:9090 | |
dashboardproviders.yaml: | | |
apiVersion: 1 | |
providers: | |
- disableDeletion: false | |
folder: istio | |
name: istio | |
options: | |
path: /var/lib/grafana/dashboards/istio | |
orgId: 1 | |
type: file | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
labels: | |
app: grafana | |
release: istio | |
name: grafana | |
namespace: istio-system | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: grafana | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "false" | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio-system | |
spec: | |
affinity: | |
nodeAffinity: | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
weight: 2 | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
weight: 2 | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
weight: 2 | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
containers: | |
- env: | |
- name: GRAFANA_PORT | |
value: "3000" | |
- name: GF_AUTH_BASIC_ENABLED | |
value: "false" | |
- name: GF_AUTH_ANONYMOUS_ENABLED | |
value: "true" | |
- name: GF_AUTH_ANONYMOUS_ORG_ROLE | |
value: Admin | |
- name: GF_PATHS_DATA | |
value: /data/grafana | |
image: grafana/grafana:6.7.4 | |
name: grafana | |
ports: | |
- containerPort: 3000 | |
readinessProbe: | |
httpGet: | |
path: /api/health | |
port: 3000 | |
resources: | |
requests: | |
cpu: 10m | |
volumeMounts: | |
- mountPath: /data/grafana | |
name: data | |
- mountPath: /var/lib/grafana/dashboards/istio/istio-mesh-dashboard.json | |
name: dashboards-istio-istio-mesh-dashboard | |
readOnly: true | |
subPath: istio-mesh-dashboard.json | |
- mountPath: /var/lib/grafana/dashboards/istio/istio-performance-dashboard.json | |
name: dashboards-istio-istio-performance-dashboard | |
readOnly: true | |
subPath: istio-performance-dashboard.json | |
- mountPath: /var/lib/grafana/dashboards/istio/istio-service-dashboard.json | |
name: dashboards-istio-istio-service-dashboard | |
readOnly: true | |
subPath: istio-service-dashboard.json | |
- mountPath: /var/lib/grafana/dashboards/istio/istio-workload-dashboard.json | |
name: dashboards-istio-istio-workload-dashboard | |
readOnly: true | |
subPath: istio-workload-dashboard.json | |
- mountPath: /var/lib/grafana/dashboards/istio/mixer-dashboard.json | |
name: dashboards-istio-mixer-dashboard | |
readOnly: true | |
subPath: mixer-dashboard.json | |
- mountPath: /var/lib/grafana/dashboards/istio/pilot-dashboard.json | |
name: dashboards-istio-pilot-dashboard | |
readOnly: true | |
subPath: pilot-dashboard.json | |
- mountPath: /etc/grafana/provisioning/datasources/datasources.yaml | |
name: config | |
subPath: datasources.yaml | |
- mountPath: /etc/grafana/provisioning/dashboards/dashboardproviders.yaml | |
name: config | |
subPath: dashboardproviders.yaml | |
securityContext: | |
fsGroup: 472 | |
runAsUser: 472 | |
volumes: | |
- configMap: | |
name: istio-grafana | |
name: config | |
- emptyDir: {} | |
name: data | |
- configMap: | |
name: istio-grafana-configuration-dashboards-istio-mesh-dashboard | |
name: dashboards-istio-istio-mesh-dashboard | |
- configMap: | |
name: istio-grafana-configuration-dashboards-istio-performance-dashboard | |
name: dashboards-istio-istio-performance-dashboard | |
- configMap: | |
name: istio-grafana-configuration-dashboards-istio-service-dashboard | |
name: dashboards-istio-istio-service-dashboard | |
- configMap: | |
name: istio-grafana-configuration-dashboards-istio-workload-dashboard | |
name: dashboards-istio-istio-workload-dashboard | |
- configMap: | |
name: istio-grafana-configuration-dashboards-mixer-dashboard | |
name: dashboards-istio-mixer-dashboard | |
- configMap: | |
name: istio-grafana-configuration-dashboards-pilot-dashboard | |
name: dashboards-istio-pilot-dashboard | |
--- | |
apiVersion: security.istio.io/v1beta1 | |
kind: PeerAuthentication | |
metadata: | |
name: grafana-ports-mtls-disabled | |
namespace: istio-system | |
labels: | |
app: grafana | |
release: istio | |
spec: | |
selector: | |
matchLabels: | |
app: grafana | |
portLevelMtls: | |
3000: | |
mode: DISABLE | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: grafana | |
namespace: istio-system | |
annotations: | |
labels: | |
app: grafana | |
release: istio | |
spec: | |
type: ClusterIP | |
ports: | |
- port: 3000 | |
targetPort: 3000 | |
protocol: TCP | |
name: http | |
selector: | |
app: grafana | |
--- | |
--- | |
# AddonComponents istiocoredns component is disabled. | |
--- | |
# AddonComponents kiali component is disabled. | |
--- | |
# Resources for AddonComponents prometheus component | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: prometheus-istio-system | |
labels: | |
app: prometheus | |
release: istio | |
rules: | |
- apiGroups: [""] | |
resources: | |
- nodes | |
- services | |
- endpoints | |
- pods | |
- nodes/proxy | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: | |
- configmaps | |
verbs: ["get"] | |
- nonResourceURLs: ["/metrics"] | |
verbs: ["get"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: prometheus-istio-system | |
labels: | |
app: prometheus | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: prometheus-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: prometheus | |
namespace: istio-system | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: prometheus | |
namespace: istio-system | |
labels: | |
app: prometheus | |
release: istio | |
data: | |
prometheus.yml: |- | |
global: | |
scrape_interval: 15s | |
scrape_configs: | |
# Mixer scrapping. Defaults to Prometheus and mixer on same namespace. | |
- job_name: 'istio-mesh' | |
kubernetes_sd_configs: | |
- role: endpoints | |
namespaces: | |
names: | |
- istio-system | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-telemetry;prometheus | |
# Scrape config for envoy stats | |
- job_name: 'envoy-stats' | |
metrics_path: /stats/prometheus | |
kubernetes_sd_configs: | |
- role: pod | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_pod_container_port_name] | |
action: keep | |
regex: '.*-envoy-prom' | |
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] | |
action: replace | |
regex: ([^:]+)(?::\d+)?;(\d+) | |
replacement: $1:15090 | |
target_label: __address__ | |
- action: labeldrop | |
regex: __meta_kubernetes_pod_label_(.+) | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
target_label: namespace | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
target_label: pod_name | |
- job_name: 'istio-policy' | |
kubernetes_sd_configs: | |
- role: endpoints | |
namespaces: | |
names: | |
- istio-system | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-policy;http-policy-monitoring | |
- job_name: 'istio-telemetry' | |
kubernetes_sd_configs: | |
- role: endpoints | |
namespaces: | |
names: | |
- istio-system | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-telemetry;http-monitoring | |
- job_name: 'pilot' | |
kubernetes_sd_configs: | |
- role: endpoints | |
namespaces: | |
names: | |
- istio-system | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istiod;http-monitoring | |
- source_labels: [__meta_kubernetes_service_label_app] | |
target_label: app | |
- job_name: 'galley' | |
kubernetes_sd_configs: | |
- role: endpoints | |
namespaces: | |
names: | |
- istio-system | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-galley;http-monitoring | |
- job_name: 'citadel' | |
kubernetes_sd_configs: | |
- role: endpoints | |
namespaces: | |
names: | |
- istio-system | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-citadel;http-monitoring | |
- job_name: 'sidecar-injector' | |
kubernetes_sd_configs: | |
- role: endpoints | |
namespaces: | |
names: | |
- istio-system | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-sidecar-injector;http-monitoring | |
# scrape config for API servers | |
- job_name: 'kubernetes-apiservers' | |
kubernetes_sd_configs: | |
- role: endpoints | |
namespaces: | |
names: | |
- default | |
scheme: https | |
tls_config: | |
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: kubernetes;https | |
# scrape config for nodes (kubelet) | |
- job_name: 'kubernetes-nodes' | |
scheme: https | |
tls_config: | |
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
kubernetes_sd_configs: | |
- role: node | |
relabel_configs: | |
- action: labelmap | |
regex: __meta_kubernetes_node_label_(.+) | |
- target_label: __address__ | |
replacement: kubernetes.default.svc:443 | |
- source_labels: [__meta_kubernetes_node_name] | |
regex: (.+) | |
target_label: __metrics_path__ | |
replacement: /api/v1/nodes/${1}/proxy/metrics | |
# Scrape config for Kubelet cAdvisor. | |
# | |
# This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics | |
# (those whose names begin with 'container_') have been removed from the | |
# Kubelet metrics endpoint. This job scrapes the cAdvisor endpoint to | |
# retrieve those metrics. | |
# | |
# In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor | |
# HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics" | |
# in that case (and ensure cAdvisor's HTTP server hasn't been disabled with | |
# the --cadvisor-port=0 Kubelet flag). | |
# | |
# This job is not necessary and should be removed in Kubernetes 1.6 and | |
# earlier versions, or it will cause the metrics to be scraped twice. | |
- job_name: 'kubernetes-cadvisor' | |
scheme: https | |
tls_config: | |
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
kubernetes_sd_configs: | |
- role: node | |
relabel_configs: | |
- action: labelmap | |
regex: __meta_kubernetes_node_label_(.+) | |
- target_label: __address__ | |
replacement: kubernetes.default.svc:443 | |
- source_labels: [__meta_kubernetes_node_name] | |
regex: (.+) | |
target_label: __metrics_path__ | |
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor | |
# scrape config for service endpoints. | |
- job_name: 'kubernetes-service-endpoints' | |
kubernetes_sd_configs: | |
- role: endpoints | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] | |
action: keep | |
regex: true | |
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme] | |
action: replace | |
target_label: __scheme__ | |
regex: (https?) | |
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path] | |
action: replace | |
target_label: __metrics_path__ | |
regex: (.+) | |
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port] | |
action: replace | |
target_label: __address__ | |
regex: ([^:]+)(?::\d+)?;(\d+) | |
replacement: $1:$2 | |
- action: labelmap | |
regex: __meta_kubernetes_service_label_(.+) | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
target_label: kubernetes_namespace | |
- source_labels: [__meta_kubernetes_service_name] | |
action: replace | |
target_label: kubernetes_name | |
- job_name: 'kubernetes-pods' | |
kubernetes_sd_configs: | |
- role: pod | |
relabel_configs: # If first two labels are present, pod should be scraped by the istio-secure job. | |
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] | |
action: keep | |
regex: true | |
- source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status] | |
action: drop | |
regex: (.+) | |
- source_labels: [__meta_kubernetes_pod_annotation_istio_mtls] | |
action: drop | |
regex: (true) | |
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] | |
action: replace | |
target_label: __metrics_path__ | |
regex: (.+) | |
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] | |
action: replace | |
regex: ([^:]+)(?::\d+)?;(\d+) | |
replacement: $1:$2 | |
target_label: __address__ | |
- action: labelmap | |
regex: __meta_kubernetes_pod_label_(.+) | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
target_label: namespace | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
target_label: pod_name | |
- job_name: 'kubernetes-pods-istio-secure' | |
scheme: https | |
tls_config: | |
ca_file: /etc/istio-certs/root-cert.pem | |
cert_file: /etc/istio-certs/cert-chain.pem | |
key_file: /etc/istio-certs/key.pem | |
insecure_skip_verify: true # prometheus does not support secure naming. | |
kubernetes_sd_configs: | |
- role: pod | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] | |
action: keep | |
regex: true | |
# sidecar status annotation is added by sidecar injector and | |
# istio_workload_mtls_ability can be specifically placed on a pod to indicate its ability to receive mtls traffic. | |
- source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status, __meta_kubernetes_pod_annotation_istio_mtls] | |
action: keep | |
regex: (([^;]+);([^;]*))|(([^;]*);(true)) | |
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] | |
action: replace | |
target_label: __metrics_path__ | |
regex: (.+) | |
- source_labels: [__address__] # Only keep address that is host:port | |
action: keep # otherwise an extra target with ':443' is added for https scheme | |
regex: ([^:]+):(\d+) | |
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] | |
action: replace | |
regex: ([^:]+)(?::\d+)?;(\d+) | |
replacement: $1:$2 | |
target_label: __address__ | |
- action: labelmap | |
regex: __meta_kubernetes_pod_label_(.+) | |
- source_labels: [__meta_kubernetes_namespace] | |
action: replace | |
target_label: namespace | |
- source_labels: [__meta_kubernetes_pod_name] | |
action: replace | |
target_label: pod_name | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
labels: | |
app: prometheus | |
release: istio | |
name: prometheus | |
namespace: istio-system | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: prometheus | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "false" | |
labels: | |
app: prometheus | |
release: istio | |
spec: | |
affinity: | |
nodeAffinity: | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
weight: 2 | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
weight: 2 | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
weight: 2 | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
containers: | |
- args: | |
- --storage.tsdb.retention=6h | |
- --config.file=/etc/prometheus/prometheus.yml | |
image: docker.io/prom/prometheus:v2.15.1 | |
livenessProbe: | |
httpGet: | |
path: /-/healthy | |
port: 9090 | |
name: prometheus | |
ports: | |
- containerPort: 9090 | |
name: http | |
readinessProbe: | |
httpGet: | |
path: /-/ready | |
port: 9090 | |
resources: | |
requests: | |
cpu: 10m | |
volumeMounts: | |
- mountPath: /etc/prometheus | |
name: config-volume | |
- mountPath: /etc/istio-certs | |
name: istio-certs | |
- args: | |
- proxy | |
- sidecar | |
- --domain | |
- $(POD_NAMESPACE).svc.cluster.local | |
- istio-proxy-prometheus | |
- --proxyLogLevel=warning | |
- --proxyComponentLogLevel=misc:error | |
- --controlPlaneAuthPolicy | |
- NONE | |
- --trust-domain=cluster.local | |
env: | |
- name: OUTPUT_CERTS | |
value: /etc/istio-certs | |
- name: JWT_POLICY | |
value: third-party-jwt | |
- name: PILOT_CERT_PROVIDER | |
value: istiod | |
- name: CA_ADDR | |
value: istiod.istio-system.svc:15012 | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
fieldPath: status.podIP | |
- name: SERVICE_ACCOUNT | |
valueFrom: | |
fieldRef: | |
fieldPath: spec.serviceAccountName | |
- name: HOST_IP | |
valueFrom: | |
fieldRef: | |
fieldPath: status.hostIP | |
- name: ISTIO_META_MESH_ID | |
value: cluster.local | |
- name: ISTIO_META_CLUSTER_ID | |
value: Kubernetes | |
image: docker.io/istio/proxyv2:1.6.3 | |
imagePullPolicy: Always | |
name: istio-proxy | |
ports: | |
- containerPort: 15090 | |
name: http-envoy-prom | |
protocol: TCP | |
readinessProbe: | |
failureThreshold: 30 | |
httpGet: | |
path: /healthz/ready | |
port: 15020 | |
scheme: HTTP | |
initialDelaySeconds: 1 | |
periodSeconds: 2 | |
successThreshold: 1 | |
timeoutSeconds: 1 | |
volumeMounts: | |
- mountPath: /var/run/secrets/istio | |
name: istiod-ca-cert | |
- mountPath: /etc/istio/proxy | |
name: istio-envoy | |
- mountPath: /var/run/secrets/tokens | |
name: istio-token | |
- mountPath: /etc/istio-certs/ | |
name: istio-certs | |
- mountPath: /etc/istio/config | |
name: istio-config-volume | |
serviceAccountName: prometheus | |
volumes: | |
- configMap: | |
name: istio | |
optional: true | |
name: istio-config-volume | |
- configMap: | |
name: prometheus | |
name: config-volume | |
- emptyDir: | |
medium: Memory | |
name: istio-certs | |
- emptyDir: | |
medium: Memory | |
name: istio-envoy | |
- name: istio-token | |
projected: | |
defaultMode: 420 | |
sources: | |
- serviceAccountToken: | |
audience: istio-ca | |
expirationSeconds: 43200 | |
path: istio-token | |
- configMap: | |
defaultMode: 420 | |
name: istio-ca-root-cert | |
name: istiod-ca-cert | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: prometheus | |
namespace: istio-system | |
annotations: | |
prometheus.io/scrape: 'true' | |
labels: | |
app: prometheus | |
release: istio | |
spec: | |
selector: | |
app: prometheus | |
ports: | |
- name: http-prometheus | |
protocol: TCP | |
port: 9090 | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: prometheus | |
namespace: istio-system | |
labels: | |
app: prometheus | |
release: istio | |
--- | |
--- | |
# Resources for AddonComponents tracing component | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: istio-tracing | |
namespace: istio-system | |
labels: | |
app: jaeger | |
release: istio | |
spec: | |
selector: | |
matchLabels: | |
app: jaeger | |
template: | |
metadata: | |
labels: | |
app: jaeger | |
release: istio | |
annotations: | |
sidecar.istio.io/inject: "false" | |
prometheus.io/scrape: "true" | |
prometheus.io/port: "14269" | |
spec: | |
containers: | |
- name: jaeger | |
image: "docker.io/jaegertracing/all-in-one:1.16" | |
ports: | |
- containerPort: 9411 | |
- containerPort: 16686 | |
- containerPort: 14250 | |
- containerPort: 14267 | |
- containerPort: 14268 | |
- containerPort: 14269 | |
- containerPort: 5775 | |
protocol: UDP | |
- containerPort: 6831 | |
protocol: UDP | |
- containerPort: 6832 | |
protocol: UDP | |
env: | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: BADGER_EPHEMERAL | |
value: "false" | |
- name: SPAN_STORAGE_TYPE | |
value: "badger" | |
- name: BADGER_DIRECTORY_VALUE | |
value: "/badger/data" | |
- name: BADGER_DIRECTORY_KEY | |
value: "/badger/key" | |
- name: COLLECTOR_ZIPKIN_HTTP_PORT | |
value: "9411" | |
- name: MEMORY_MAX_TRACES | |
value: "50000" | |
- name: QUERY_BASE_PATH | |
value: /jaeger | |
livenessProbe: | |
httpGet: | |
path: / | |
port: 14269 | |
readinessProbe: | |
httpGet: | |
path: / | |
port: 14269 | |
volumeMounts: | |
- name: data | |
mountPath: /badger | |
resources: | |
requests: | |
cpu: 10m | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- "amd64" | |
- "ppc64le" | |
- "s390x" | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- "amd64" | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- "ppc64le" | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- "s390x" | |
volumes: | |
- name: data | |
emptyDir: {} | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: jaeger-query | |
namespace: istio-system | |
annotations: | |
labels: | |
app: jaeger | |
jaeger-infra: jaeger-service | |
release: istio | |
spec: | |
ports: | |
- name: query-http | |
port: 16686 | |
protocol: TCP | |
targetPort: 16686 | |
selector: | |
app: jaeger | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: jaeger-collector | |
namespace: istio-system | |
labels: | |
app: jaeger | |
jaeger-infra: collector-service | |
release: istio | |
spec: | |
ports: | |
- name: jaeger-collector-tchannel | |
port: 14267 | |
protocol: TCP | |
targetPort: 14267 | |
- name: jaeger-collector-http | |
port: 14268 | |
targetPort: 14268 | |
protocol: TCP | |
- name: jaeger-collector-grpc | |
port: 14250 | |
targetPort: 14250 | |
protocol: TCP | |
selector: | |
app: jaeger | |
type: ClusterIP | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: jaeger-collector-headless | |
namespace: istio-system | |
labels: | |
app: jaeger | |
jaeger-infra: collector-service | |
release: istio | |
spec: | |
ports: | |
- name: jaeger-collector-grpc | |
port: 14250 | |
targetPort: 14250 | |
protocol: TCP | |
selector: | |
app: jaeger | |
clusterIP: None | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: jaeger-agent | |
namespace: istio-system | |
labels: | |
app: jaeger | |
jaeger-infra: agent-service | |
release: istio | |
spec: | |
ports: | |
- name: agent-zipkin-thrift | |
port: 5775 | |
protocol: UDP | |
targetPort: 5775 | |
- name: agent-compact | |
port: 6831 | |
protocol: UDP | |
targetPort: 6831 | |
- name: agent-binary | |
port: 6832 | |
protocol: UDP | |
targetPort: 6832 | |
clusterIP: None | |
selector: | |
app: jaeger | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: zipkin | |
namespace: istio-system | |
labels: | |
app: jaeger | |
release: istio | |
spec: | |
ports: | |
- port: 9411 | |
targetPort: 9411 | |
protocol: TCP | |
name: http-query | |
selector: | |
app: jaeger | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: tracing | |
namespace: istio-system | |
annotations: | |
labels: | |
app: jaeger | |
release: istio | |
spec: | |
type: ClusterIP | |
ports: | |
- name: http-query | |
port: 80 | |
protocol: TCP | |
targetPort: 16686 | |
selector: | |
app: jaeger | |
--- | |
# Resources for Base component | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istiod-istio-system | |
labels: | |
app: istiod | |
release: istio | |
rules: | |
# sidecar injection controller | |
- apiGroups: ["admissionregistration.k8s.io"] | |
resources: ["mutatingwebhookconfigurations"] | |
verbs: ["get", "list", "watch", "patch"] | |
# configuration validation webhook controller | |
- apiGroups: ["admissionregistration.k8s.io"] | |
resources: ["validatingwebhookconfigurations"] | |
verbs: ["get", "list", "watch", "update"] | |
# permissions to verify the webhook is ready and rejecting | |
# invalid config. We use --server-dry-run so no config is persisted. | |
- apiGroups: ["networking.istio.io"] | |
verbs: ["create"] | |
resources: ["gateways"] | |
# istio configuration | |
- apiGroups: ["config.istio.io", "rbac.istio.io", "security.istio.io", "networking.istio.io", "authentication.istio.io"] | |
verbs: ["get", "watch", "list"] | |
resources: ["*"] | |
# auto-detect installed CRD definitions | |
- apiGroups: ["apiextensions.k8s.io"] | |
resources: ["customresourcedefinitions"] | |
verbs: ["get", "list", "watch"] | |
# discovery and routing | |
- apiGroups: ["extensions","apps"] | |
resources: ["deployments"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["pods", "nodes", "services", "namespaces", "endpoints"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["discovery.k8s.io"] | |
resources: ["endpointslices"] | |
verbs: ["get", "list", "watch"] | |
# ingress controller | |
- apiGroups: ["networking.k8s.io"] | |
resources: ["ingresses", "ingressclasses"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["networking.k8s.io"] | |
resources: ["ingresses/status"] | |
verbs: ["*"] | |
# required for CA's namespace controller | |
- apiGroups: [""] | |
resources: ["configmaps"] | |
verbs: ["create", "get", "list", "watch", "update"] | |
# Istiod and bootstrap. | |
- apiGroups: ["certificates.k8s.io"] | |
resources: | |
- "certificatesigningrequests" | |
- "certificatesigningrequests/approval" | |
- "certificatesigningrequests/status" | |
verbs: ["update", "create", "get", "delete", "watch"] | |
- apiGroups: ["certificates.k8s.io"] | |
resources: | |
- "signers" | |
resourceNames: | |
- "kubernetes.io/legacy-unknown" | |
verbs: ["approve"] | |
# Used by Istiod to verify the JWT tokens | |
- apiGroups: ["authentication.k8s.io"] | |
resources: ["tokenreviews"] | |
verbs: ["create"] | |
# TODO: remove, no longer needed at cluster | |
- apiGroups: [""] | |
resources: ["secrets"] | |
verbs: ["create", "get", "watch", "list", "update", "delete"] | |
- apiGroups: [""] | |
resources: ["serviceaccounts"] | |
verbs: ["get", "watch", "list"] | |
# Use for Kubernetes Service APIs | |
- apiGroups: ["networking.x.k8s.io"] | |
resources: ["*"] | |
verbs: ["get", "watch", "list"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-reader-istio-system | |
labels: | |
app: istio-reader | |
release: istio | |
rules: | |
- apiGroups: | |
- "config.istio.io" | |
- "rbac.istio.io" | |
- "security.istio.io" | |
- "networking.istio.io" | |
- "authentication.istio.io" | |
resources: ["*"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["endpoints", "pods", "services", "nodes", "replicationcontrollers", "namespaces"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["apps"] | |
resources: ["replicasets"] | |
verbs: ["get", "list", "watch"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-reader-istio-system | |
labels: | |
app: istio-reader | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-reader-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-reader-service-account | |
namespace: istio-system | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istiod-pilot-istio-system | |
labels: | |
app: pilot | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istiod-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istiod-service-account | |
namespace: istio-system | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-reader-service-account | |
namespace: istio-system | |
labels: | |
app: istio-reader | |
release: istio | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istiod-service-account | |
namespace: istio-system | |
labels: | |
app: istiod | |
release: istio | |
--- | |
apiVersion: admissionregistration.k8s.io/v1beta1 | |
kind: ValidatingWebhookConfiguration | |
metadata: | |
name: istiod-istio-system | |
labels: | |
app: istiod | |
release: istio | |
istio: istiod | |
webhooks: | |
- name: validation.istio.io | |
clientConfig: | |
service: | |
name: istiod | |
namespace: istio-system | |
path: "/validate" | |
caBundle: "" # patched at runtime when the webhook is ready. | |
rules: | |
- operations: | |
- CREATE | |
- UPDATE | |
apiGroups: | |
- config.istio.io | |
- rbac.istio.io | |
- security.istio.io | |
- authentication.istio.io | |
- networking.istio.io | |
apiVersions: | |
- "*" | |
resources: | |
- "*" | |
# Fail open until the validation webhook is ready. The webhook controller | |
# will update this to `Fail` and patch in the `caBundle` when the webhook | |
# endpoint is ready. | |
failurePolicy: Ignore | |
sideEffects: None | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-mixer | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: httpapispecs.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- apim-istio-io | |
kind: HTTPAPISpec | |
listKind: HTTPAPISpecList | |
plural: httpapispecs | |
singular: httpapispec | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
properties: | |
api_keys: | |
items: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- query | |
- required: | |
- header | |
- required: | |
- cookie | |
- required: | |
- query | |
- required: | |
- header | |
- required: | |
- cookie | |
properties: | |
cookie: | |
format: string | |
type: string | |
header: | |
description: API key is sent in a request header. | |
format: string | |
type: string | |
query: | |
description: API Key is sent as a query parameter. | |
format: string | |
type: string | |
type: object | |
type: array | |
apiKeys: | |
items: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- query | |
- required: | |
- header | |
- required: | |
- cookie | |
- required: | |
- query | |
- required: | |
- header | |
- required: | |
- cookie | |
properties: | |
cookie: | |
format: string | |
type: string | |
header: | |
description: API key is sent in a request header. | |
format: string | |
type: string | |
query: | |
description: API Key is sent as a query parameter. | |
format: string | |
type: string | |
type: object | |
type: array | |
attributes: | |
properties: | |
attributes: | |
additionalProperties: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- stringValue | |
- required: | |
- int64Value | |
- required: | |
- doubleValue | |
- required: | |
- boolValue | |
- required: | |
- bytesValue | |
- required: | |
- timestampValue | |
- required: | |
- durationValue | |
- required: | |
- stringMapValue | |
- required: | |
- stringValue | |
- required: | |
- int64Value | |
- required: | |
- doubleValue | |
- required: | |
- boolValue | |
- required: | |
- bytesValue | |
- required: | |
- timestampValue | |
- required: | |
- durationValue | |
- required: | |
- stringMapValue | |
properties: | |
boolValue: | |
type: boolean | |
bytesValue: | |
format: binary | |
type: string | |
doubleValue: | |
format: double | |
type: number | |
durationValue: | |
type: string | |
int64Value: | |
format: int64 | |
type: integer | |
stringMapValue: | |
properties: | |
entries: | |
additionalProperties: | |
format: string | |
type: string | |
description: Holds a set of name/value pairs. | |
type: object | |
type: object | |
stringValue: | |
format: string | |
type: string | |
timestampValue: | |
format: dateTime | |
type: string | |
type: object | |
description: A map of attribute name to its value. | |
type: object | |
type: object | |
patterns: | |
description: List of HTTP patterns to match. | |
items: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- uriTemplate | |
- required: | |
- regex | |
- required: | |
- uriTemplate | |
- required: | |
- regex | |
properties: | |
attributes: | |
properties: | |
attributes: | |
additionalProperties: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- stringValue | |
- required: | |
- int64Value | |
- required: | |
- doubleValue | |
- required: | |
- boolValue | |
- required: | |
- bytesValue | |
- required: | |
- timestampValue | |
- required: | |
- durationValue | |
- required: | |
- stringMapValue | |
- required: | |
- stringValue | |
- required: | |
- int64Value | |
- required: | |
- doubleValue | |
- required: | |
- boolValue | |
- required: | |
- bytesValue | |
- required: | |
- timestampValue | |
- required: | |
- durationValue | |
- required: | |
- stringMapValue | |
properties: | |
boolValue: | |
type: boolean | |
bytesValue: | |
format: binary | |
type: string | |
doubleValue: | |
format: double | |
type: number | |
durationValue: | |
type: string | |
int64Value: | |
format: int64 | |
type: integer | |
stringMapValue: | |
properties: | |
entries: | |
additionalProperties: | |
format: string | |
type: string | |
description: Holds a set of name/value pairs. | |
type: object | |
type: object | |
stringValue: | |
format: string | |
type: string | |
timestampValue: | |
format: dateTime | |
type: string | |
type: object | |
description: A map of attribute name to its value. | |
type: object | |
type: object | |
httpMethod: | |
format: string | |
type: string | |
regex: | |
format: string | |
type: string | |
uriTemplate: | |
format: string | |
type: string | |
type: object | |
type: array | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-mixer | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: httpapispecbindings.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- apim-istio-io | |
kind: HTTPAPISpecBinding | |
listKind: HTTPAPISpecBindingList | |
plural: httpapispecbindings | |
singular: httpapispecbinding | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
properties: | |
api_specs: | |
items: | |
properties: | |
name: | |
description: The short name of the HTTPAPISpec. | |
format: string | |
type: string | |
namespace: | |
description: Optional namespace of the HTTPAPISpec. | |
format: string | |
type: string | |
type: object | |
type: array | |
apiSpecs: | |
items: | |
properties: | |
name: | |
description: The short name of the HTTPAPISpec. | |
format: string | |
type: string | |
namespace: | |
description: Optional namespace of the HTTPAPISpec. | |
format: string | |
type: string | |
type: object | |
type: array | |
services: | |
description: One or more services to map the listed HTTPAPISpec onto. | |
items: | |
properties: | |
domain: | |
description: Domain suffix used to construct the service FQDN | |
in implementations that support such specification. | |
format: string | |
type: string | |
labels: | |
additionalProperties: | |
format: string | |
type: string | |
description: Optional one or more labels that uniquely identify | |
the service version. | |
type: object | |
name: | |
description: The short name of the service such as "foo". | |
format: string | |
type: string | |
namespace: | |
description: Optional namespace of the service. | |
format: string | |
type: string | |
service: | |
description: The service FQDN. | |
format: string | |
type: string | |
type: object | |
type: array | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-mixer | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: quotaspecs.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- apim-istio-io | |
kind: QuotaSpec | |
listKind: QuotaSpecList | |
plural: quotaspecs | |
singular: quotaspec | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: Determines the quotas used for individual requests. | |
properties: | |
rules: | |
description: A list of Quota rules. | |
items: | |
properties: | |
match: | |
description: If empty, match all request. | |
items: | |
properties: | |
clause: | |
additionalProperties: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
properties: | |
exact: | |
format: string | |
type: string | |
prefix: | |
format: string | |
type: string | |
regex: | |
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax). | |
format: string | |
type: string | |
type: object | |
description: Map of attribute names to StringMatch type. | |
type: object | |
type: object | |
type: array | |
quotas: | |
description: The list of quotas to charge. | |
items: | |
properties: | |
charge: | |
format: int32 | |
type: integer | |
quota: | |
format: string | |
type: string | |
type: object | |
type: array | |
type: object | |
type: array | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-mixer | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: quotaspecbindings.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- apim-istio-io | |
kind: QuotaSpecBinding | |
listKind: QuotaSpecBindingList | |
plural: quotaspecbindings | |
singular: quotaspecbinding | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
properties: | |
quotaSpecs: | |
items: | |
properties: | |
name: | |
description: The short name of the QuotaSpec. | |
format: string | |
type: string | |
namespace: | |
description: Optional namespace of the QuotaSpec. | |
format: string | |
type: string | |
type: object | |
type: array | |
services: | |
description: One or more services to map the listed QuotaSpec onto. | |
items: | |
properties: | |
domain: | |
description: Domain suffix used to construct the service FQDN | |
in implementations that support such specification. | |
format: string | |
type: string | |
labels: | |
additionalProperties: | |
format: string | |
type: string | |
description: Optional one or more labels that uniquely identify | |
the service version. | |
type: object | |
name: | |
description: The short name of the service such as "foo". | |
format: string | |
type: string | |
namespace: | |
description: Optional namespace of the service. | |
format: string | |
type: string | |
service: | |
description: The service FQDN. | |
format: string | |
type: string | |
type: object | |
type: array | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: destinationrules.networking.istio.io | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .spec.host | |
description: The name of a service from the service registry | |
name: Host | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: 'CreationTimestamp is a timestamp representing the server time when | |
this object was created. It is not guaranteed to be set in happens-before order | |
across separate operations. Clients may not set this value. It is represented | |
in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for | |
lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata' | |
name: Age | |
type: date | |
group: networking.istio.io | |
names: | |
categories: | |
- istio-io | |
- networking-istio-io | |
kind: DestinationRule | |
listKind: DestinationRuleList | |
plural: destinationrules | |
shortNames: | |
- dr | |
singular: destinationrule | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Configuration affecting load balancing, outlier detection, | |
etc. See more details at: https://istio.io/docs/reference/config/networking/destination-rule.html' | |
properties: | |
exportTo: | |
description: A list of namespaces to which this destination rule is | |
exported. | |
items: | |
format: string | |
type: string | |
type: array | |
host: | |
description: The name of a service from the service registry. | |
format: string | |
type: string | |
subsets: | |
items: | |
properties: | |
labels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
name: | |
description: Name of the subset. | |
format: string | |
type: string | |
trafficPolicy: | |
description: Traffic policies that apply to this subset. | |
properties: | |
connectionPool: | |
properties: | |
http: | |
description: HTTP connection pool settings. | |
properties: | |
h2UpgradePolicy: | |
description: Specify if http1.1 connection should | |
be upgraded to http2 for the associated destination. | |
enum: | |
- DEFAULT | |
- DO_NOT_UPGRADE | |
- UPGRADE | |
type: string | |
http1MaxPendingRequests: | |
description: Maximum number of pending HTTP requests | |
to a destination. | |
format: int32 | |
type: integer | |
http2MaxRequests: | |
description: Maximum number of requests to a backend. | |
format: int32 | |
type: integer | |
idleTimeout: | |
description: The idle timeout for upstream connection | |
pool connections. | |
type: string | |
maxRequestsPerConnection: | |
description: Maximum number of requests per connection | |
to a backend. | |
format: int32 | |
type: integer | |
maxRetries: | |
format: int32 | |
type: integer | |
type: object | |
tcp: | |
description: Settings common to both HTTP and TCP upstream | |
connections. | |
properties: | |
connectTimeout: | |
description: TCP connection timeout. | |
type: string | |
maxConnections: | |
description: Maximum number of HTTP1 /TCP connections | |
to a destination host. | |
format: int32 | |
type: integer | |
tcpKeepalive: | |
description: If set then set SO_KEEPALIVE on the socket | |
to enable TCP Keepalives. | |
properties: | |
interval: | |
description: The time duration between keep-alive | |
probes. | |
type: string | |
probes: | |
type: integer | |
time: | |
type: string | |
type: object | |
type: object | |
type: object | |
loadBalancer: | |
description: Settings controlling the load balancer algorithms. | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- simple | |
- properties: | |
consistentHash: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
required: | |
- consistentHash | |
- required: | |
- simple | |
- properties: | |
consistentHash: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
required: | |
- consistentHash | |
properties: | |
consistentHash: | |
properties: | |
httpCookie: | |
description: Hash based on HTTP cookie. | |
properties: | |
name: | |
description: Name of the cookie. | |
format: string | |
type: string | |
path: | |
description: Path to set for the cookie. | |
format: string | |
type: string | |
ttl: | |
description: Lifetime of the cookie. | |
type: string | |
type: object | |
httpHeaderName: | |
description: Hash based on a specific HTTP header. | |
format: string | |
type: string | |
httpQueryParameterName: | |
description: Hash based on a specific HTTP query parameter. | |
format: string | |
type: string | |
minimumRingSize: | |
type: integer | |
useSourceIp: | |
description: Hash based on the source IP address. | |
type: boolean | |
type: object | |
localityLbSetting: | |
properties: | |
distribute: | |
description: 'Optional: only one of distribute or | |
failover can be set.' | |
items: | |
properties: | |
from: | |
description: Originating locality, '/' separated, | |
e.g. | |
format: string | |
type: string | |
to: | |
additionalProperties: | |
type: integer | |
description: Map of upstream localities to traffic | |
distribution weights. | |
type: object | |
type: object | |
type: array | |
enabled: | |
description: enable locality load balancing, this | |
is DestinationRule-level and will override mesh | |
wide settings in entirety. | |
type: boolean | |
failover: | |
description: 'Optional: only failover or distribute | |
can be set.' | |
items: | |
properties: | |
from: | |
description: Originating region. | |
format: string | |
type: string | |
to: | |
format: string | |
type: string | |
type: object | |
type: array | |
type: object | |
simple: | |
enum: | |
- ROUND_ROBIN | |
- LEAST_CONN | |
- RANDOM | |
- PASSTHROUGH | |
type: string | |
type: object | |
outlierDetection: | |
properties: | |
baseEjectionTime: | |
description: Minimum ejection duration. | |
type: string | |
consecutive5xxErrors: | |
description: Number of 5xx errors before a host is ejected | |
from the connection pool. | |
type: integer | |
consecutiveErrors: | |
format: int32 | |
type: integer | |
consecutiveGatewayErrors: | |
description: Number of gateway errors before a host is | |
ejected from the connection pool. | |
type: integer | |
interval: | |
description: Time interval between ejection sweep analysis. | |
type: string | |
maxEjectionPercent: | |
format: int32 | |
type: integer | |
minHealthPercent: | |
format: int32 | |
type: integer | |
type: object | |
portLevelSettings: | |
description: Traffic policies specific to individual ports. | |
items: | |
properties: | |
connectionPool: | |
properties: | |
http: | |
description: HTTP connection pool settings. | |
properties: | |
h2UpgradePolicy: | |
description: Specify if http1.1 connection should | |
be upgraded to http2 for the associated destination. | |
enum: | |
- DEFAULT | |
- DO_NOT_UPGRADE | |
- UPGRADE | |
type: string | |
http1MaxPendingRequests: | |
description: Maximum number of pending HTTP | |
requests to a destination. | |
format: int32 | |
type: integer | |
http2MaxRequests: | |
description: Maximum number of requests to a | |
backend. | |
format: int32 | |
type: integer | |
idleTimeout: | |
description: The idle timeout for upstream connection | |
pool connections. | |
type: string | |
maxRequestsPerConnection: | |
description: Maximum number of requests per | |
connection to a backend. | |
format: int32 | |
type: integer | |
maxRetries: | |
format: int32 | |
type: integer | |
type: object | |
tcp: | |
description: Settings common to both HTTP and TCP | |
upstream connections. | |
properties: | |
connectTimeout: | |
description: TCP connection timeout. | |
type: string | |
maxConnections: | |
description: Maximum number of HTTP1 /TCP connections | |
to a destination host. | |
format: int32 | |
type: integer | |
tcpKeepalive: | |
description: If set then set SO_KEEPALIVE on | |
the socket to enable TCP Keepalives. | |
properties: | |
interval: | |
description: The time duration between keep-alive | |
probes. | |
type: string | |
probes: | |
type: integer | |
time: | |
type: string | |
type: object | |
type: object | |
type: object | |
loadBalancer: | |
description: Settings controlling the load balancer | |
algorithms. | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- simple | |
- properties: | |
consistentHash: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
required: | |
- consistentHash | |
- required: | |
- simple | |
- properties: | |
consistentHash: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
required: | |
- consistentHash | |
properties: | |
consistentHash: | |
properties: | |
httpCookie: | |
description: Hash based on HTTP cookie. | |
properties: | |
name: | |
description: Name of the cookie. | |
format: string | |
type: string | |
path: | |
description: Path to set for the cookie. | |
format: string | |
type: string | |
ttl: | |
description: Lifetime of the cookie. | |
type: string | |
type: object | |
httpHeaderName: | |
description: Hash based on a specific HTTP header. | |
format: string | |
type: string | |
httpQueryParameterName: | |
description: Hash based on a specific HTTP query | |
parameter. | |
format: string | |
type: string | |
minimumRingSize: | |
type: integer | |
useSourceIp: | |
description: Hash based on the source IP address. | |
type: boolean | |
type: object | |
localityLbSetting: | |
properties: | |
distribute: | |
description: 'Optional: only one of distribute | |
or failover can be set.' | |
items: | |
properties: | |
from: | |
description: Originating locality, '/' | |
separated, e.g. | |
format: string | |
type: string | |
to: | |
additionalProperties: | |
type: integer | |
description: Map of upstream localities | |
to traffic distribution weights. | |
type: object | |
type: object | |
type: array | |
enabled: | |
description: enable locality load balancing, | |
this is DestinationRule-level and will override | |
mesh wide settings in entirety. | |
type: boolean | |
failover: | |
description: 'Optional: only failover or distribute | |
can be set.' | |
items: | |
properties: | |
from: | |
description: Originating region. | |
format: string | |
type: string | |
to: | |
format: string | |
type: string | |
type: object | |
type: array | |
type: object | |
simple: | |
enum: | |
- ROUND_ROBIN | |
- LEAST_CONN | |
- RANDOM | |
- PASSTHROUGH | |
type: string | |
type: object | |
outlierDetection: | |
properties: | |
baseEjectionTime: | |
description: Minimum ejection duration. | |
type: string | |
consecutive5xxErrors: | |
description: Number of 5xx errors before a host | |
is ejected from the connection pool. | |
type: integer | |
consecutiveErrors: | |
format: int32 | |
type: integer | |
consecutiveGatewayErrors: | |
description: Number of gateway errors before a host | |
is ejected from the connection pool. | |
type: integer | |
interval: | |
description: Time interval between ejection sweep | |
analysis. | |
type: string | |
maxEjectionPercent: | |
format: int32 | |
type: integer | |
minHealthPercent: | |
format: int32 | |
type: integer | |
type: object | |
port: | |
properties: | |
number: | |
type: integer | |
type: object | |
tls: | |
description: TLS related settings for connections to | |
the upstream service. | |
properties: | |
caCertificates: | |
format: string | |
type: string | |
clientCertificate: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
mode: | |
enum: | |
- DISABLE | |
- SIMPLE | |
- MUTUAL | |
- ISTIO_MUTUAL | |
type: string | |
privateKey: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
sni: | |
description: SNI string to present to the server | |
during TLS handshake. | |
format: string | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: object | |
type: array | |
tls: | |
description: TLS related settings for connections to the upstream | |
service. | |
properties: | |
caCertificates: | |
format: string | |
type: string | |
clientCertificate: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
mode: | |
enum: | |
- DISABLE | |
- SIMPLE | |
- MUTUAL | |
- ISTIO_MUTUAL | |
type: string | |
privateKey: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
sni: | |
description: SNI string to present to the server during | |
TLS handshake. | |
format: string | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: object | |
type: object | |
type: array | |
trafficPolicy: | |
properties: | |
connectionPool: | |
properties: | |
http: | |
description: HTTP connection pool settings. | |
properties: | |
h2UpgradePolicy: | |
description: Specify if http1.1 connection should be upgraded | |
to http2 for the associated destination. | |
enum: | |
- DEFAULT | |
- DO_NOT_UPGRADE | |
- UPGRADE | |
type: string | |
http1MaxPendingRequests: | |
description: Maximum number of pending HTTP requests to | |
a destination. | |
format: int32 | |
type: integer | |
http2MaxRequests: | |
description: Maximum number of requests to a backend. | |
format: int32 | |
type: integer | |
idleTimeout: | |
description: The idle timeout for upstream connection pool | |
connections. | |
type: string | |
maxRequestsPerConnection: | |
description: Maximum number of requests per connection to | |
a backend. | |
format: int32 | |
type: integer | |
maxRetries: | |
format: int32 | |
type: integer | |
type: object | |
tcp: | |
description: Settings common to both HTTP and TCP upstream connections. | |
properties: | |
connectTimeout: | |
description: TCP connection timeout. | |
type: string | |
maxConnections: | |
description: Maximum number of HTTP1 /TCP connections to | |
a destination host. | |
format: int32 | |
type: integer | |
tcpKeepalive: | |
description: If set then set SO_KEEPALIVE on the socket | |
to enable TCP Keepalives. | |
properties: | |
interval: | |
description: The time duration between keep-alive probes. | |
type: string | |
probes: | |
type: integer | |
time: | |
type: string | |
type: object | |
type: object | |
type: object | |
loadBalancer: | |
description: Settings controlling the load balancer algorithms. | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- simple | |
- properties: | |
consistentHash: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
required: | |
- consistentHash | |
- required: | |
- simple | |
- properties: | |
consistentHash: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
required: | |
- consistentHash | |
properties: | |
consistentHash: | |
properties: | |
httpCookie: | |
description: Hash based on HTTP cookie. | |
properties: | |
name: | |
description: Name of the cookie. | |
format: string | |
type: string | |
path: | |
description: Path to set for the cookie. | |
format: string | |
type: string | |
ttl: | |
description: Lifetime of the cookie. | |
type: string | |
type: object | |
httpHeaderName: | |
description: Hash based on a specific HTTP header. | |
format: string | |
type: string | |
httpQueryParameterName: | |
description: Hash based on a specific HTTP query parameter. | |
format: string | |
type: string | |
minimumRingSize: | |
type: integer | |
useSourceIp: | |
description: Hash based on the source IP address. | |
type: boolean | |
type: object | |
localityLbSetting: | |
properties: | |
distribute: | |
description: 'Optional: only one of distribute or failover | |
can be set.' | |
items: | |
properties: | |
from: | |
description: Originating locality, '/' separated, | |
e.g. | |
format: string | |
type: string | |
to: | |
additionalProperties: | |
type: integer | |
description: Map of upstream localities to traffic | |
distribution weights. | |
type: object | |
type: object | |
type: array | |
enabled: | |
description: enable locality load balancing, this is DestinationRule-level | |
and will override mesh wide settings in entirety. | |
type: boolean | |
failover: | |
description: 'Optional: only failover or distribute can | |
be set.' | |
items: | |
properties: | |
from: | |
description: Originating region. | |
format: string | |
type: string | |
to: | |
format: string | |
type: string | |
type: object | |
type: array | |
type: object | |
simple: | |
enum: | |
- ROUND_ROBIN | |
- LEAST_CONN | |
- RANDOM | |
- PASSTHROUGH | |
type: string | |
type: object | |
outlierDetection: | |
properties: | |
baseEjectionTime: | |
description: Minimum ejection duration. | |
type: string | |
consecutive5xxErrors: | |
description: Number of 5xx errors before a host is ejected from | |
the connection pool. | |
type: integer | |
consecutiveErrors: | |
format: int32 | |
type: integer | |
consecutiveGatewayErrors: | |
description: Number of gateway errors before a host is ejected | |
from the connection pool. | |
type: integer | |
interval: | |
description: Time interval between ejection sweep analysis. | |
type: string | |
maxEjectionPercent: | |
format: int32 | |
type: integer | |
minHealthPercent: | |
format: int32 | |
type: integer | |
type: object | |
portLevelSettings: | |
description: Traffic policies specific to individual ports. | |
items: | |
properties: | |
connectionPool: | |
properties: | |
http: | |
description: HTTP connection pool settings. | |
properties: | |
h2UpgradePolicy: | |
description: Specify if http1.1 connection should | |
be upgraded to http2 for the associated destination. | |
enum: | |
- DEFAULT | |
- DO_NOT_UPGRADE | |
- UPGRADE | |
type: string | |
http1MaxPendingRequests: | |
description: Maximum number of pending HTTP requests | |
to a destination. | |
format: int32 | |
type: integer | |
http2MaxRequests: | |
description: Maximum number of requests to a backend. | |
format: int32 | |
type: integer | |
idleTimeout: | |
description: The idle timeout for upstream connection | |
pool connections. | |
type: string | |
maxRequestsPerConnection: | |
description: Maximum number of requests per connection | |
to a backend. | |
format: int32 | |
type: integer | |
maxRetries: | |
format: int32 | |
type: integer | |
type: object | |
tcp: | |
description: Settings common to both HTTP and TCP upstream | |
connections. | |
properties: | |
connectTimeout: | |
description: TCP connection timeout. | |
type: string | |
maxConnections: | |
description: Maximum number of HTTP1 /TCP connections | |
to a destination host. | |
format: int32 | |
type: integer | |
tcpKeepalive: | |
description: If set then set SO_KEEPALIVE on the socket | |
to enable TCP Keepalives. | |
properties: | |
interval: | |
description: The time duration between keep-alive | |
probes. | |
type: string | |
probes: | |
type: integer | |
time: | |
type: string | |
type: object | |
type: object | |
type: object | |
loadBalancer: | |
description: Settings controlling the load balancer algorithms. | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- simple | |
- properties: | |
consistentHash: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
required: | |
- consistentHash | |
- required: | |
- simple | |
- properties: | |
consistentHash: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
- required: | |
- httpHeaderName | |
- required: | |
- httpCookie | |
- required: | |
- useSourceIp | |
- required: | |
- httpQueryParameterName | |
required: | |
- consistentHash | |
properties: | |
consistentHash: | |
properties: | |
httpCookie: | |
description: Hash based on HTTP cookie. | |
properties: | |
name: | |
description: Name of the cookie. | |
format: string | |
type: string | |
path: | |
description: Path to set for the cookie. | |
format: string | |
type: string | |
ttl: | |
description: Lifetime of the cookie. | |
type: string | |
type: object | |
httpHeaderName: | |
description: Hash based on a specific HTTP header. | |
format: string | |
type: string | |
httpQueryParameterName: | |
description: Hash based on a specific HTTP query parameter. | |
format: string | |
type: string | |
minimumRingSize: | |
type: integer | |
useSourceIp: | |
description: Hash based on the source IP address. | |
type: boolean | |
type: object | |
localityLbSetting: | |
properties: | |
distribute: | |
description: 'Optional: only one of distribute or | |
failover can be set.' | |
items: | |
properties: | |
from: | |
description: Originating locality, '/' separated, | |
e.g. | |
format: string | |
type: string | |
to: | |
additionalProperties: | |
type: integer | |
description: Map of upstream localities to traffic | |
distribution weights. | |
type: object | |
type: object | |
type: array | |
enabled: | |
description: enable locality load balancing, this | |
is DestinationRule-level and will override mesh | |
wide settings in entirety. | |
type: boolean | |
failover: | |
description: 'Optional: only failover or distribute | |
can be set.' | |
items: | |
properties: | |
from: | |
description: Originating region. | |
format: string | |
type: string | |
to: | |
format: string | |
type: string | |
type: object | |
type: array | |
type: object | |
simple: | |
enum: | |
- ROUND_ROBIN | |
- LEAST_CONN | |
- RANDOM | |
- PASSTHROUGH | |
type: string | |
type: object | |
outlierDetection: | |
properties: | |
baseEjectionTime: | |
description: Minimum ejection duration. | |
type: string | |
consecutive5xxErrors: | |
description: Number of 5xx errors before a host is ejected | |
from the connection pool. | |
type: integer | |
consecutiveErrors: | |
format: int32 | |
type: integer | |
consecutiveGatewayErrors: | |
description: Number of gateway errors before a host is | |
ejected from the connection pool. | |
type: integer | |
interval: | |
description: Time interval between ejection sweep analysis. | |
type: string | |
maxEjectionPercent: | |
format: int32 | |
type: integer | |
minHealthPercent: | |
format: int32 | |
type: integer | |
type: object | |
port: | |
properties: | |
number: | |
type: integer | |
type: object | |
tls: | |
description: TLS related settings for connections to the upstream | |
service. | |
properties: | |
caCertificates: | |
format: string | |
type: string | |
clientCertificate: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
mode: | |
enum: | |
- DISABLE | |
- SIMPLE | |
- MUTUAL | |
- ISTIO_MUTUAL | |
type: string | |
privateKey: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
sni: | |
description: SNI string to present to the server during | |
TLS handshake. | |
format: string | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: object | |
type: array | |
tls: | |
description: TLS related settings for connections to the upstream | |
service. | |
properties: | |
caCertificates: | |
format: string | |
type: string | |
clientCertificate: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
mode: | |
enum: | |
- DISABLE | |
- SIMPLE | |
- MUTUAL | |
- ISTIO_MUTUAL | |
type: string | |
privateKey: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
sni: | |
description: SNI string to present to the server during TLS | |
handshake. | |
format: string | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: object | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha3 | |
served: true | |
storage: true | |
- name: v1beta1 | |
served: true | |
storage: false | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: envoyfilters.networking.istio.io | |
spec: | |
group: networking.istio.io | |
names: | |
categories: | |
- istio-io | |
- networking-istio-io | |
kind: EnvoyFilter | |
listKind: EnvoyFilterList | |
plural: envoyfilters | |
singular: envoyfilter | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Customizing Envoy configuration generated by Istio. See more | |
details at: https://istio.io/docs/reference/config/networking/envoy-filter.html' | |
properties: | |
configPatches: | |
description: One or more patches with match conditions. | |
items: | |
properties: | |
applyTo: | |
enum: | |
- INVALID | |
- LISTENER | |
- FILTER_CHAIN | |
- NETWORK_FILTER | |
- HTTP_FILTER | |
- ROUTE_CONFIGURATION | |
- VIRTUAL_HOST | |
- HTTP_ROUTE | |
- CLUSTER | |
type: string | |
match: | |
description: Match on listener/route configuration/cluster. | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- listener | |
- required: | |
- routeConfiguration | |
- required: | |
- cluster | |
- required: | |
- listener | |
- required: | |
- routeConfiguration | |
- required: | |
- cluster | |
properties: | |
cluster: | |
description: Match on envoy cluster attributes. | |
properties: | |
name: | |
description: The exact name of the cluster to match. | |
format: string | |
type: string | |
portNumber: | |
description: The service port for which this cluster was | |
generated. | |
type: integer | |
service: | |
description: The fully qualified service name for this | |
cluster. | |
format: string | |
type: string | |
subset: | |
description: The subset associated with the service. | |
format: string | |
type: string | |
type: object | |
context: | |
description: The specific config generation context to match | |
on. | |
enum: | |
- ANY | |
- SIDECAR_INBOUND | |
- SIDECAR_OUTBOUND | |
- GATEWAY | |
type: string | |
listener: | |
description: Match on envoy listener attributes. | |
properties: | |
filterChain: | |
description: Match a specific filter chain in a listener. | |
properties: | |
applicationProtocols: | |
description: Applies only to sidecars. | |
format: string | |
type: string | |
filter: | |
description: The name of a specific filter to apply | |
the patch to. | |
properties: | |
name: | |
description: The filter name to match on. | |
format: string | |
type: string | |
subFilter: | |
properties: | |
name: | |
description: The filter name to match on. | |
format: string | |
type: string | |
type: object | |
type: object | |
name: | |
description: The name assigned to the filter chain. | |
format: string | |
type: string | |
sni: | |
description: The SNI value used by a filter chain's | |
match condition. | |
format: string | |
type: string | |
transportProtocol: | |
description: Applies only to SIDECAR_INBOUND context. | |
format: string | |
type: string | |
type: object | |
name: | |
description: Match a specific listener by its name. | |
format: string | |
type: string | |
portName: | |
format: string | |
type: string | |
portNumber: | |
type: integer | |
type: object | |
proxy: | |
description: Match on properties associated with a proxy. | |
properties: | |
metadata: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
proxyVersion: | |
format: string | |
type: string | |
type: object | |
routeConfiguration: | |
description: Match on envoy HTTP route configuration attributes. | |
properties: | |
gateway: | |
format: string | |
type: string | |
name: | |
description: Route configuration name to match on. | |
format: string | |
type: string | |
portName: | |
description: Applicable only for GATEWAY context. | |
format: string | |
type: string | |
portNumber: | |
type: integer | |
vhost: | |
properties: | |
name: | |
format: string | |
type: string | |
route: | |
description: Match a specific route within the virtual | |
host. | |
properties: | |
action: | |
description: Match a route with specific action | |
type. | |
enum: | |
- ANY | |
- ROUTE | |
- REDIRECT | |
- DIRECT_RESPONSE | |
type: string | |
name: | |
format: string | |
type: string | |
type: object | |
type: object | |
type: object | |
type: object | |
patch: | |
description: The patch to apply along with the operation. | |
properties: | |
operation: | |
description: Determines how the patch should be applied. | |
enum: | |
- INVALID | |
- MERGE | |
- ADD | |
- REMOVE | |
- INSERT_BEFORE | |
- INSERT_AFTER | |
- INSERT_FIRST | |
type: string | |
value: | |
description: The JSON config of the object being patched. | |
type: object | |
type: object | |
type: object | |
type: array | |
workloadSelector: | |
properties: | |
labels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha3 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: gateways.networking.istio.io | |
spec: | |
group: networking.istio.io | |
names: | |
categories: | |
- istio-io | |
- networking-istio-io | |
kind: Gateway | |
listKind: GatewayList | |
plural: gateways | |
shortNames: | |
- gw | |
singular: gateway | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Configuration affecting edge load balancer. See more details | |
at: https://istio.io/docs/reference/config/networking/gateway.html' | |
properties: | |
selector: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
servers: | |
description: A list of server specifications. | |
items: | |
properties: | |
bind: | |
format: string | |
type: string | |
defaultEndpoint: | |
format: string | |
type: string | |
hosts: | |
description: One or more hosts exposed by this gateway. | |
items: | |
format: string | |
type: string | |
type: array | |
port: | |
properties: | |
name: | |
description: Label assigned to the port. | |
format: string | |
type: string | |
number: | |
description: A valid non-negative integer port number. | |
type: integer | |
protocol: | |
description: The protocol exposed on the port. | |
format: string | |
type: string | |
type: object | |
tls: | |
description: Set of TLS related options that govern the server's | |
behavior. | |
properties: | |
caCertificates: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
cipherSuites: | |
description: 'Optional: If specified, only support the specified | |
cipher list.' | |
items: | |
format: string | |
type: string | |
type: array | |
credentialName: | |
format: string | |
type: string | |
httpsRedirect: | |
type: boolean | |
maxProtocolVersion: | |
description: 'Optional: Maximum TLS protocol version.' | |
enum: | |
- TLS_AUTO | |
- TLSV1_0 | |
- TLSV1_1 | |
- TLSV1_2 | |
- TLSV1_3 | |
type: string | |
minProtocolVersion: | |
description: 'Optional: Minimum TLS protocol version.' | |
enum: | |
- TLS_AUTO | |
- TLSV1_0 | |
- TLSV1_1 | |
- TLSV1_2 | |
- TLSV1_3 | |
type: string | |
mode: | |
enum: | |
- PASSTHROUGH | |
- SIMPLE | |
- MUTUAL | |
- AUTO_PASSTHROUGH | |
- ISTIO_MUTUAL | |
type: string | |
privateKey: | |
description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. | |
format: string | |
type: string | |
serverCertificate: | |
description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. | |
format: string | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
verifyCertificateHash: | |
items: | |
format: string | |
type: string | |
type: array | |
verifyCertificateSpki: | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: object | |
type: array | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha3 | |
served: true | |
storage: true | |
- name: v1beta1 | |
served: true | |
storage: false | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: serviceentries.networking.istio.io | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .spec.hosts | |
description: The hosts associated with the ServiceEntry | |
name: Hosts | |
type: string | |
- JSONPath: .spec.location | |
description: Whether the service is external to the mesh or part of the mesh (MESH_EXTERNAL | |
or MESH_INTERNAL) | |
name: Location | |
type: string | |
- JSONPath: .spec.resolution | |
description: Service discovery mode for the hosts (NONE, STATIC, or DNS) | |
name: Resolution | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: 'CreationTimestamp is a timestamp representing the server time when | |
this object was created. It is not guaranteed to be set in happens-before order | |
across separate operations. Clients may not set this value. It is represented | |
in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for | |
lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata' | |
name: Age | |
type: date | |
group: networking.istio.io | |
names: | |
categories: | |
- istio-io | |
- networking-istio-io | |
kind: ServiceEntry | |
listKind: ServiceEntryList | |
plural: serviceentries | |
shortNames: | |
- se | |
singular: serviceentry | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Configuration affecting service registry. See more details | |
at: https://istio.io/docs/reference/config/networking/service-entry.html' | |
properties: | |
addresses: | |
description: The virtual IP addresses associated with the service. | |
items: | |
format: string | |
type: string | |
type: array | |
endpoints: | |
description: One or more endpoints associated with the service. | |
items: | |
properties: | |
address: | |
format: string | |
type: string | |
labels: | |
additionalProperties: | |
format: string | |
type: string | |
description: One or more labels associated with the endpoint. | |
type: object | |
locality: | |
description: The locality associated with the endpoint. | |
format: string | |
type: string | |
network: | |
format: string | |
type: string | |
ports: | |
additionalProperties: | |
type: integer | |
description: Set of ports associated with the endpoint. | |
type: object | |
serviceAccount: | |
format: string | |
type: string | |
weight: | |
description: The load balancing weight associated with the endpoint. | |
type: integer | |
type: object | |
type: array | |
exportTo: | |
description: A list of namespaces to which this service is exported. | |
items: | |
format: string | |
type: string | |
type: array | |
hosts: | |
description: The hosts associated with the ServiceEntry. | |
items: | |
format: string | |
type: string | |
type: array | |
location: | |
enum: | |
- MESH_EXTERNAL | |
- MESH_INTERNAL | |
type: string | |
ports: | |
description: The ports associated with the external service. | |
items: | |
properties: | |
name: | |
description: Label assigned to the port. | |
format: string | |
type: string | |
number: | |
description: A valid non-negative integer port number. | |
type: integer | |
protocol: | |
description: The protocol exposed on the port. | |
format: string | |
type: string | |
type: object | |
type: array | |
resolution: | |
description: Service discovery mode for the hosts. | |
enum: | |
- NONE | |
- STATIC | |
- DNS | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
workloadSelector: | |
description: Applicable only for MESH_INTERNAL services. | |
properties: | |
labels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha3 | |
served: true | |
storage: true | |
- name: v1beta1 | |
served: true | |
storage: false | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: sidecars.networking.istio.io | |
spec: | |
group: networking.istio.io | |
names: | |
categories: | |
- istio-io | |
- networking-istio-io | |
kind: Sidecar | |
listKind: SidecarList | |
plural: sidecars | |
singular: sidecar | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Configuration affecting network reachability of a sidecar. | |
See more details at: https://istio.io/docs/reference/config/networking/sidecar.html' | |
properties: | |
egress: | |
items: | |
properties: | |
bind: | |
format: string | |
type: string | |
captureMode: | |
enum: | |
- DEFAULT | |
- IPTABLES | |
- NONE | |
type: string | |
hosts: | |
items: | |
format: string | |
type: string | |
type: array | |
localhostServerTls: | |
properties: | |
caCertificates: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
cipherSuites: | |
description: 'Optional: If specified, only support the specified | |
cipher list.' | |
items: | |
format: string | |
type: string | |
type: array | |
credentialName: | |
format: string | |
type: string | |
httpsRedirect: | |
type: boolean | |
maxProtocolVersion: | |
description: 'Optional: Maximum TLS protocol version.' | |
enum: | |
- TLS_AUTO | |
- TLSV1_0 | |
- TLSV1_1 | |
- TLSV1_2 | |
- TLSV1_3 | |
type: string | |
minProtocolVersion: | |
description: 'Optional: Minimum TLS protocol version.' | |
enum: | |
- TLS_AUTO | |
- TLSV1_0 | |
- TLSV1_1 | |
- TLSV1_2 | |
- TLSV1_3 | |
type: string | |
mode: | |
enum: | |
- PASSTHROUGH | |
- SIMPLE | |
- MUTUAL | |
- AUTO_PASSTHROUGH | |
- ISTIO_MUTUAL | |
type: string | |
privateKey: | |
description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. | |
format: string | |
type: string | |
serverCertificate: | |
description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. | |
format: string | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
verifyCertificateHash: | |
items: | |
format: string | |
type: string | |
type: array | |
verifyCertificateSpki: | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
port: | |
description: The port associated with the listener. | |
properties: | |
name: | |
description: Label assigned to the port. | |
format: string | |
type: string | |
number: | |
description: A valid non-negative integer port number. | |
type: integer | |
protocol: | |
description: The protocol exposed on the port. | |
format: string | |
type: string | |
type: object | |
type: object | |
type: array | |
ingress: | |
items: | |
properties: | |
bind: | |
description: The IP to which the listener should be bound. | |
format: string | |
type: string | |
captureMode: | |
enum: | |
- DEFAULT | |
- IPTABLES | |
- NONE | |
type: string | |
defaultEndpoint: | |
format: string | |
type: string | |
localhostClientTls: | |
properties: | |
caCertificates: | |
format: string | |
type: string | |
clientCertificate: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
mode: | |
enum: | |
- DISABLE | |
- SIMPLE | |
- MUTUAL | |
- ISTIO_MUTUAL | |
type: string | |
privateKey: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
sni: | |
description: SNI string to present to the server during TLS | |
handshake. | |
format: string | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
port: | |
description: The port associated with the listener. | |
properties: | |
name: | |
description: Label assigned to the port. | |
format: string | |
type: string | |
number: | |
description: A valid non-negative integer port number. | |
type: integer | |
protocol: | |
description: The protocol exposed on the port. | |
format: string | |
type: string | |
type: object | |
type: object | |
type: array | |
localhost: | |
properties: | |
clientTls: | |
properties: | |
caCertificates: | |
format: string | |
type: string | |
clientCertificate: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
mode: | |
enum: | |
- DISABLE | |
- SIMPLE | |
- MUTUAL | |
- ISTIO_MUTUAL | |
type: string | |
privateKey: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
sni: | |
description: SNI string to present to the server during TLS | |
handshake. | |
format: string | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
serverTls: | |
properties: | |
caCertificates: | |
description: REQUIRED if mode is `MUTUAL`. | |
format: string | |
type: string | |
cipherSuites: | |
description: 'Optional: If specified, only support the specified | |
cipher list.' | |
items: | |
format: string | |
type: string | |
type: array | |
credentialName: | |
format: string | |
type: string | |
httpsRedirect: | |
type: boolean | |
maxProtocolVersion: | |
description: 'Optional: Maximum TLS protocol version.' | |
enum: | |
- TLS_AUTO | |
- TLSV1_0 | |
- TLSV1_1 | |
- TLSV1_2 | |
- TLSV1_3 | |
type: string | |
minProtocolVersion: | |
description: 'Optional: Minimum TLS protocol version.' | |
enum: | |
- TLS_AUTO | |
- TLSV1_0 | |
- TLSV1_1 | |
- TLSV1_2 | |
- TLSV1_3 | |
type: string | |
mode: | |
enum: | |
- PASSTHROUGH | |
- SIMPLE | |
- MUTUAL | |
- AUTO_PASSTHROUGH | |
- ISTIO_MUTUAL | |
type: string | |
privateKey: | |
description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. | |
format: string | |
type: string | |
serverCertificate: | |
description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. | |
format: string | |
type: string | |
subjectAltNames: | |
items: | |
format: string | |
type: string | |
type: array | |
verifyCertificateHash: | |
items: | |
format: string | |
type: string | |
type: array | |
verifyCertificateSpki: | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: object | |
outboundTrafficPolicy: | |
description: Configuration for the outbound traffic policy. | |
properties: | |
egressProxy: | |
properties: | |
host: | |
description: The name of a service from the service registry. | |
format: string | |
type: string | |
port: | |
description: Specifies the port on the host that is being addressed. | |
properties: | |
number: | |
type: integer | |
type: object | |
subset: | |
description: The name of a subset within the service. | |
format: string | |
type: string | |
type: object | |
mode: | |
enum: | |
- REGISTRY_ONLY | |
- ALLOW_ANY | |
type: string | |
type: object | |
workloadSelector: | |
properties: | |
labels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha3 | |
served: true | |
storage: true | |
- name: v1beta1 | |
served: true | |
storage: false | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: virtualservices.networking.istio.io | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .spec.gateways | |
description: The names of gateways and sidecars that should apply these routes | |
name: Gateways | |
type: string | |
- JSONPath: .spec.hosts | |
description: The destination hosts to which traffic is being sent | |
name: Hosts | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: 'CreationTimestamp is a timestamp representing the server time when | |
this object was created. It is not guaranteed to be set in happens-before order | |
across separate operations. Clients may not set this value. It is represented | |
in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for | |
lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata' | |
name: Age | |
type: date | |
group: networking.istio.io | |
names: | |
categories: | |
- istio-io | |
- networking-istio-io | |
kind: VirtualService | |
listKind: VirtualServiceList | |
plural: virtualservices | |
shortNames: | |
- vs | |
singular: virtualservice | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Configuration affecting label/content routing, sni routing, | |
etc. See more details at: https://istio.io/docs/reference/config/networking/virtual-service.html' | |
properties: | |
exportTo: | |
description: A list of namespaces to which this virtual service is exported. | |
items: | |
format: string | |
type: string | |
type: array | |
gateways: | |
description: The names of gateways and sidecars that should apply these | |
routes. | |
items: | |
format: string | |
type: string | |
type: array | |
hosts: | |
description: The destination hosts to which traffic is being sent. | |
items: | |
format: string | |
type: string | |
type: array | |
http: | |
description: An ordered list of route rules for HTTP traffic. | |
items: | |
properties: | |
corsPolicy: | |
description: Cross-Origin Resource Sharing policy (CORS). | |
properties: | |
allowCredentials: | |
type: boolean | |
allowHeaders: | |
items: | |
format: string | |
type: string | |
type: array | |
allowMethods: | |
description: List of HTTP methods allowed to access the resource. | |
items: | |
format: string | |
type: string | |
type: array | |
allowOrigin: | |
description: The list of origins that are allowed to perform | |
CORS requests. | |
items: | |
format: string | |
type: string | |
type: array | |
allowOrigins: | |
description: String patterns that match allowed origins. | |
items: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
properties: | |
exact: | |
format: string | |
type: string | |
prefix: | |
format: string | |
type: string | |
regex: | |
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax). | |
format: string | |
type: string | |
type: object | |
type: array | |
exposeHeaders: | |
items: | |
format: string | |
type: string | |
type: array | |
maxAge: | |
type: string | |
type: object | |
delegate: | |
properties: | |
name: | |
description: Name specifies the name of the delegate VirtualService. | |
format: string | |
type: string | |
namespace: | |
description: Namespace specifies the namespace where the delegate | |
VirtualService resides. | |
format: string | |
type: string | |
type: object | |
fault: | |
description: Fault injection policy to apply on HTTP traffic at | |
the client side. | |
properties: | |
abort: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- httpStatus | |
- required: | |
- grpcStatus | |
- required: | |
- http2Error | |
- required: | |
- httpStatus | |
- required: | |
- grpcStatus | |
- required: | |
- http2Error | |
properties: | |
grpcStatus: | |
format: string | |
type: string | |
http2Error: | |
format: string | |
type: string | |
httpStatus: | |
description: HTTP status code to use to abort the Http | |
request. | |
format: int32 | |
type: integer | |
percentage: | |
description: Percentage of requests to be aborted with | |
the error code provided. | |
properties: | |
value: | |
format: double | |
type: number | |
type: object | |
type: object | |
delay: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- fixedDelay | |
- required: | |
- exponentialDelay | |
- required: | |
- fixedDelay | |
- required: | |
- exponentialDelay | |
properties: | |
exponentialDelay: | |
type: string | |
fixedDelay: | |
description: Add a fixed delay before forwarding the request. | |
type: string | |
percent: | |
description: Percentage of requests on which the delay | |
will be injected (0-100). | |
format: int32 | |
type: integer | |
percentage: | |
description: Percentage of requests on which the delay | |
will be injected. | |
properties: | |
value: | |
format: double | |
type: number | |
type: object | |
type: object | |
type: object | |
headers: | |
properties: | |
request: | |
properties: | |
add: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
remove: | |
items: | |
format: string | |
type: string | |
type: array | |
set: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
response: | |
properties: | |
add: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
remove: | |
items: | |
format: string | |
type: string | |
type: array | |
set: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
type: object | |
match: | |
items: | |
properties: | |
authority: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
properties: | |
exact: | |
format: string | |
type: string | |
prefix: | |
format: string | |
type: string | |
regex: | |
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax). | |
format: string | |
type: string | |
type: object | |
gateways: | |
description: Names of gateways where the rule should be | |
applied. | |
items: | |
format: string | |
type: string | |
type: array | |
headers: | |
additionalProperties: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
properties: | |
exact: | |
format: string | |
type: string | |
prefix: | |
format: string | |
type: string | |
regex: | |
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax). | |
format: string | |
type: string | |
type: object | |
type: object | |
ignoreUriCase: | |
description: Flag to specify whether the URI matching should | |
be case-insensitive. | |
type: boolean | |
method: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
properties: | |
exact: | |
format: string | |
type: string | |
prefix: | |
format: string | |
type: string | |
regex: | |
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax). | |
format: string | |
type: string | |
type: object | |
name: | |
description: The name assigned to a match. | |
format: string | |
type: string | |
port: | |
description: Specifies the ports on the host that is being | |
addressed. | |
type: integer | |
queryParams: | |
additionalProperties: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
properties: | |
exact: | |
format: string | |
type: string | |
prefix: | |
format: string | |
type: string | |
regex: | |
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax). | |
format: string | |
type: string | |
type: object | |
description: Query parameters for matching. | |
type: object | |
scheme: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
properties: | |
exact: | |
format: string | |
type: string | |
prefix: | |
format: string | |
type: string | |
regex: | |
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax). | |
format: string | |
type: string | |
type: object | |
sourceLabels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
sourceNamespace: | |
description: Source namespace constraining the applicability | |
of a rule to workloads in that namespace. | |
format: string | |
type: string | |
uri: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
properties: | |
exact: | |
format: string | |
type: string | |
prefix: | |
format: string | |
type: string | |
regex: | |
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax). | |
format: string | |
type: string | |
type: object | |
withoutHeaders: | |
additionalProperties: | |
oneOf: | |
- not: | |
anyOf: | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
- required: | |
- exact | |
- required: | |
- prefix | |
- required: | |
- regex | |
properties: | |
exact: | |
format: string | |
type: string | |
prefix: | |
format: string | |
type: string | |
regex: | |
description: RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax). | |
format: string | |
type: string | |
type: object | |
description: withoutHeader has the same syntax with the | |
header, but has opposite meaning. | |
type: object | |
type: object | |
type: array | |
mirror: | |
properties: | |
host: | |
description: The name of a service from the service registry. | |
format: string | |
type: string | |
port: | |
description: Specifies the port on the host that is being | |
addressed. | |
properties: | |
number: | |
type: integer | |
type: object | |
subset: | |
description: The name of a subset within the service. | |
format: string | |
type: string | |
type: object | |
mirror_percent: | |
description: Percentage of the traffic to be mirrored by the `mirror` | |
field. | |
type: integer | |
mirrorPercent: | |
description: Percentage of the traffic to be mirrored by the `mirror` | |
field. | |
type: integer | |
mirrorPercentage: | |
description: Percentage of the traffic to be mirrored by the `mirror` | |
field. | |
properties: | |
value: | |
format: double | |
type: number | |
type: object | |
name: | |
description: The name assigned to the route for debugging purposes. | |
format: string | |
type: string | |
redirect: | |
description: A HTTP rule can either redirect or forward (default) | |
traffic. | |
properties: | |
authority: | |
format: string | |
type: string | |
redirectCode: | |
type: integer | |
uri: | |
format: string | |
type: string | |
type: object | |
retries: | |
description: Retry policy for HTTP requests. | |
properties: | |
attempts: | |
description: Number of retries for a given request. | |
format: int32 | |
type: integer | |
perTryTimeout: | |
description: Timeout per retry attempt for a given request. | |
type: string | |
retryOn: | |
description: Specifies the conditions under which retry takes | |
place. | |
format: string | |
type: string | |
retryRemoteLocalities: | |
description: Flag to specify whether the retries should retry | |
to other localities. | |
type: boolean | |
type: object | |
rewrite: | |
description: Rewrite HTTP URIs and Authority headers. | |
properties: | |
authority: | |
description: rewrite the Authority/Host header with this value. | |
format: string | |
type: string | |
uri: | |
format: string | |
type: string | |
type: object | |
route: | |
description: A HTTP rule can either redirect or forward (default) | |
traffic. | |
items: | |
properties: | |
destination: | |
properties: | |
host: | |
description: The name of a service from the service | |
registry. | |
format: string | |
type: string | |
port: | |
description: Specifies the port on the host that is | |
being addressed. | |
properties: | |
number: | |
type: integer | |
type: object | |
subset: | |
description: The name of a subset within the service. | |
format: string | |
type: string | |
type: object | |
headers: | |
properties: | |
request: | |
properties: | |
add: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
remove: | |
items: | |
format: string | |
type: string | |
type: array | |
set: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
response: | |
properties: | |
add: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
remove: | |
items: | |
format: string | |
type: string | |
type: array | |
set: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
type: object | |
weight: | |
format: int32 | |
type: integer | |
type: object | |
type: array | |
timeout: | |
description: Timeout for HTTP requests. | |
type: string | |
type: object | |
type: array | |
tcp: | |
description: An ordered list of route rules for opaque TCP traffic. | |
items: | |
properties: | |
match: | |
items: | |
properties: | |
destinationSubnets: | |
description: IPv4 or IPv6 ip addresses of destination with | |
optional subnet. | |
items: | |
format: string | |
type: string | |
type: array | |
gateways: | |
description: Names of gateways where the rule should be | |
applied. | |
items: | |
format: string | |
type: string | |
type: array | |
port: | |
description: Specifies the port on the host that is being | |
addressed. | |
type: integer | |
sourceLabels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
sourceNamespace: | |
description: Source namespace constraining the applicability | |
of a rule to workloads in that namespace. | |
format: string | |
type: string | |
sourceSubnet: | |
description: IPv4 or IPv6 ip address of source with optional | |
subnet. | |
format: string | |
type: string | |
type: object | |
type: array | |
route: | |
description: The destination to which the connection should be | |
forwarded to. | |
items: | |
properties: | |
destination: | |
properties: | |
host: | |
description: The name of a service from the service | |
registry. | |
format: string | |
type: string | |
port: | |
description: Specifies the port on the host that is | |
being addressed. | |
properties: | |
number: | |
type: integer | |
type: object | |
subset: | |
description: The name of a subset within the service. | |
format: string | |
type: string | |
type: object | |
weight: | |
format: int32 | |
type: integer | |
type: object | |
type: array | |
type: object | |
type: array | |
tls: | |
items: | |
properties: | |
match: | |
items: | |
properties: | |
destinationSubnets: | |
description: IPv4 or IPv6 ip addresses of destination with | |
optional subnet. | |
items: | |
format: string | |
type: string | |
type: array | |
gateways: | |
description: Names of gateways where the rule should be | |
applied. | |
items: | |
format: string | |
type: string | |
type: array | |
port: | |
description: Specifies the port on the host that is being | |
addressed. | |
type: integer | |
sniHosts: | |
description: SNI (server name indicator) to match on. | |
items: | |
format: string | |
type: string | |
type: array | |
sourceLabels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
sourceNamespace: | |
description: Source namespace constraining the applicability | |
of a rule to workloads in that namespace. | |
format: string | |
type: string | |
type: object | |
type: array | |
route: | |
description: The destination to which the connection should be | |
forwarded to. | |
items: | |
properties: | |
destination: | |
properties: | |
host: | |
description: The name of a service from the service | |
registry. | |
format: string | |
type: string | |
port: | |
description: Specifies the port on the host that is | |
being addressed. | |
properties: | |
number: | |
type: integer | |
type: object | |
subset: | |
description: The name of a subset within the service. | |
format: string | |
type: string | |
type: object | |
weight: | |
format: int32 | |
type: integer | |
type: object | |
type: array | |
type: object | |
type: array | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha3 | |
served: true | |
storage: true | |
- name: v1beta1 | |
served: true | |
storage: false | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
name: workloadentries.networking.istio.io | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .metadata.creationTimestamp | |
description: 'CreationTimestamp is a timestamp representing the server time when | |
this object was created. It is not guaranteed to be set in happens-before order | |
across separate operations. Clients may not set this value. It is represented | |
in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for | |
lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata' | |
name: Age | |
type: date | |
- JSONPath: .spec.address | |
description: Address associated with the network endpoint. | |
name: Address | |
type: string | |
group: networking.istio.io | |
names: | |
categories: | |
- istio-io | |
- networking-istio-io | |
kind: WorkloadEntry | |
listKind: WorkloadEntryList | |
plural: workloadentries | |
shortNames: | |
- we | |
singular: workloadentry | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Configuration affecting VMs onboarded into the mesh. See more | |
details at: https://istio.io/docs/reference/config/networking/workload-entry.html' | |
properties: | |
address: | |
format: string | |
type: string | |
labels: | |
additionalProperties: | |
format: string | |
type: string | |
description: One or more labels associated with the endpoint. | |
type: object | |
locality: | |
description: The locality associated with the endpoint. | |
format: string | |
type: string | |
network: | |
format: string | |
type: string | |
ports: | |
additionalProperties: | |
type: integer | |
description: Set of ports associated with the endpoint. | |
type: object | |
serviceAccount: | |
format: string | |
type: string | |
weight: | |
description: The load balancing weight associated with the endpoint. | |
type: integer | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha3 | |
served: true | |
storage: true | |
- name: v1beta1 | |
served: true | |
storage: false | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: mixer | |
chart: istio | |
heritage: Tiller | |
istio: core | |
package: istio.io.mixer | |
release: istio | |
name: attributemanifests.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- policy-istio-io | |
kind: attributemanifest | |
listKind: attributemanifestList | |
plural: attributemanifests | |
singular: attributemanifest | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Describes the rules used to configure Mixer''s policy and | |
telemetry features. See more details at: https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1.html' | |
properties: | |
attributes: | |
additionalProperties: | |
properties: | |
description: | |
description: A human-readable description of the attribute's purpose. | |
format: string | |
type: string | |
valueType: | |
description: The type of data carried by this attribute. | |
enum: | |
- VALUE_TYPE_UNSPECIFIED | |
- STRING | |
- INT64 | |
- DOUBLE | |
- BOOL | |
- TIMESTAMP | |
- IP_ADDRESS | |
- EMAIL_ADDRESS | |
- URI | |
- DNS_NAME | |
- DURATION | |
- STRING_MAP | |
type: string | |
type: object | |
description: The set of attributes this Istio component will be responsible | |
for producing at runtime. | |
type: object | |
name: | |
description: Name of the component producing these attributes. | |
format: string | |
type: string | |
revision: | |
description: The revision of this document. | |
format: string | |
type: string | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: mixer | |
chart: istio | |
heritage: Tiller | |
istio: mixer-handler | |
package: handler | |
release: istio | |
name: handlers.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- policy-istio-io | |
kind: handler | |
listKind: handlerList | |
plural: handlers | |
singular: handler | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: Handler allows the operator to configure a specific adapter | |
implementation. | |
properties: | |
adapter: | |
description: The name of a specific adapter implementation. | |
format: string | |
type: string | |
compiledAdapter: | |
description: The name of the compiled in adapter this handler instantiates. | |
format: string | |
type: string | |
connection: | |
description: Information on how to connect to the out-of-process adapter. | |
properties: | |
address: | |
description: The address of the backend. | |
format: string | |
type: string | |
authentication: | |
description: Auth config for the connection to the backend. | |
oneOf: | |
- not: | |
anyOf: | |
- properties: | |
tls: | |
allOf: | |
- oneOf: | |
- not: | |
anyOf: | |
- required: | |
- tokenPath | |
- required: | |
- oauth | |
- required: | |
- tokenPath | |
- required: | |
- oauth | |
- oneOf: | |
- not: | |
anyOf: | |
- required: | |
- authHeader | |
- required: | |
- customHeader | |
- required: | |
- authHeader | |
- required: | |
- customHeader | |
required: | |
- tls | |
- required: | |
- mutual | |
- properties: | |
tls: | |
allOf: | |
- oneOf: | |
- not: | |
anyOf: | |
- required: | |
- tokenPath | |
- required: | |
- oauth | |
- required: | |
- tokenPath | |
- required: | |
- oauth | |
- oneOf: | |
- not: | |
anyOf: | |
- required: | |
- authHeader | |
- required: | |
- customHeader | |
- required: | |
- authHeader | |
- required: | |
- customHeader | |
required: | |
- tls | |
- required: | |
- mutual | |
properties: | |
mutual: | |
properties: | |
caCertificates: | |
format: string | |
type: string | |
clientCertificate: | |
description: The path to the file holding client certificate | |
for mutual TLS. | |
format: string | |
type: string | |
privateKey: | |
description: The path to the file holding the private key | |
for mutual TLS. | |
format: string | |
type: string | |
serverName: | |
description: Used to configure mixer mutual TLS client to | |
supply server name for SNI. | |
format: string | |
type: string | |
type: object | |
tls: | |
properties: | |
authHeader: | |
description: Access token is passed as authorization header. | |
enum: | |
- PLAIN | |
- BEARER | |
type: string | |
caCertificates: | |
format: string | |
type: string | |
customHeader: | |
description: Customized header key to hold access token, | |
e.g. | |
format: string | |
type: string | |
oauth: | |
description: Oauth config to fetch access token from auth | |
provider. | |
properties: | |
clientId: | |
description: OAuth client id for mixer. | |
format: string | |
type: string | |
clientSecret: | |
description: The path to the file holding the client | |
secret for oauth. | |
format: string | |
type: string | |
endpointParams: | |
additionalProperties: | |
format: string | |
type: string | |
description: Additional parameters for requests to the | |
token endpoint. | |
type: object | |
scopes: | |
description: List of requested permissions. | |
items: | |
format: string | |
type: string | |
type: array | |
tokenUrl: | |
description: The Resource server's token endpoint URL. | |
format: string | |
type: string | |
type: object | |
serverName: | |
format: string | |
type: string | |
tokenPath: | |
format: string | |
type: string | |
type: object | |
type: object | |
timeout: | |
description: Timeout for remote calls to the backend. | |
type: string | |
type: object | |
name: | |
description: Must be unique in the entire Mixer configuration. | |
format: string | |
type: string | |
params: | |
description: Depends on adapter implementation. | |
type: object | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: mixer | |
chart: istio | |
heritage: Tiller | |
istio: mixer-instance | |
package: instance | |
release: istio | |
name: instances.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- policy-istio-io | |
kind: instance | |
listKind: instanceList | |
plural: instances | |
singular: instance | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: An Instance tells Mixer how to create instances for particular | |
template. | |
properties: | |
attributeBindings: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
compiledTemplate: | |
description: The name of the compiled in template this instance creates | |
instances for. | |
format: string | |
type: string | |
name: | |
format: string | |
type: string | |
params: | |
description: Depends on referenced template. | |
type: object | |
template: | |
description: The name of the template this instance creates instances | |
for. | |
format: string | |
type: string | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: mixer | |
chart: istio | |
heritage: Tiller | |
istio: core | |
package: istio.io.mixer | |
release: istio | |
name: rules.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- policy-istio-io | |
kind: rule | |
listKind: ruleList | |
plural: rules | |
singular: rule | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Describes the rules used to configure Mixer''s policy and | |
telemetry features. See more details at: https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1.html' | |
properties: | |
actions: | |
description: The actions that will be executed when match evaluates | |
to `true`. | |
items: | |
properties: | |
handler: | |
description: Fully qualified name of the handler to invoke. | |
format: string | |
type: string | |
instances: | |
items: | |
format: string | |
type: string | |
type: array | |
name: | |
description: A handle to refer to the results of the action. | |
format: string | |
type: string | |
type: object | |
type: array | |
match: | |
description: Match is an attribute based predicate. | |
format: string | |
type: string | |
requestHeaderOperations: | |
items: | |
properties: | |
name: | |
description: Header name literal value. | |
format: string | |
type: string | |
operation: | |
description: Header operation type. | |
enum: | |
- REPLACE | |
- REMOVE | |
- APPEND | |
type: string | |
values: | |
description: Header value expressions. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: array | |
responseHeaderOperations: | |
items: | |
properties: | |
name: | |
description: Header name literal value. | |
format: string | |
type: string | |
operation: | |
description: Header operation type. | |
enum: | |
- REPLACE | |
- REMOVE | |
- APPEND | |
type: string | |
values: | |
description: Header value expressions. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: array | |
sampling: | |
properties: | |
random: | |
description: Provides filtering of actions based on random selection | |
per request. | |
properties: | |
attributeExpression: | |
description: Specifies an attribute expression to use to override | |
the numerator in the `percent_sampled` field. | |
format: string | |
type: string | |
percentSampled: | |
description: The default sampling rate, expressed as a percentage. | |
properties: | |
denominator: | |
description: Specifies the denominator. | |
enum: | |
- HUNDRED | |
- TEN_THOUSAND | |
type: string | |
numerator: | |
description: Specifies the numerator. | |
type: integer | |
type: object | |
useIndependentRandomness: | |
description: By default sampling will be based on the value | |
of the request header `x-request-id`. | |
type: boolean | |
type: object | |
rateLimit: | |
properties: | |
maxUnsampledEntries: | |
description: Number of entries to allow during the `sampling_duration` | |
before sampling is enforced. | |
format: int64 | |
type: integer | |
samplingDuration: | |
description: Window in which to enforce the sampling rate. | |
type: string | |
samplingRate: | |
description: The rate at which to sample entries once the unsampled | |
limit has been reached. | |
format: int64 | |
type: integer | |
type: object | |
type: object | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
istio: rbac | |
release: istio | |
name: clusterrbacconfigs.rbac.istio.io | |
spec: | |
group: rbac.istio.io | |
names: | |
categories: | |
- istio-io | |
- rbac-istio-io | |
kind: ClusterRbacConfig | |
listKind: ClusterRbacConfigList | |
plural: clusterrbacconfigs | |
singular: clusterrbacconfig | |
preserveUnknownFields: false | |
scope: Cluster | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'See more details at:' | |
properties: | |
enforcementMode: | |
enum: | |
- ENFORCED | |
- PERMISSIVE | |
type: string | |
exclusion: | |
description: A list of services or namespaces that should not be enforced | |
by Istio RBAC policies. | |
properties: | |
namespaces: | |
description: A list of namespaces. | |
items: | |
format: string | |
type: string | |
type: array | |
services: | |
description: A list of services. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
inclusion: | |
description: A list of services or namespaces that should be enforced | |
by Istio RBAC policies. | |
properties: | |
namespaces: | |
description: A list of namespaces. | |
items: | |
format: string | |
type: string | |
type: array | |
services: | |
description: A list of services. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
mode: | |
description: Istio RBAC mode. | |
enum: | |
- "OFF" | |
- "ON" | |
- ON_WITH_INCLUSION | |
- ON_WITH_EXCLUSION | |
type: string | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: mixer | |
chart: istio | |
heritage: Tiller | |
istio: rbac | |
package: istio.io.mixer | |
release: istio | |
name: rbacconfigs.rbac.istio.io | |
spec: | |
group: rbac.istio.io | |
names: | |
categories: | |
- istio-io | |
- rbac-istio-io | |
kind: RbacConfig | |
listKind: RbacConfigList | |
plural: rbacconfigs | |
singular: rbacconfig | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'See more details at:' | |
properties: | |
enforcementMode: | |
enum: | |
- ENFORCED | |
- PERMISSIVE | |
type: string | |
exclusion: | |
description: A list of services or namespaces that should not be enforced | |
by Istio RBAC policies. | |
properties: | |
namespaces: | |
description: A list of namespaces. | |
items: | |
format: string | |
type: string | |
type: array | |
services: | |
description: A list of services. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
inclusion: | |
description: A list of services or namespaces that should be enforced | |
by Istio RBAC policies. | |
properties: | |
namespaces: | |
description: A list of namespaces. | |
items: | |
format: string | |
type: string | |
type: array | |
services: | |
description: A list of services. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
mode: | |
description: Istio RBAC mode. | |
enum: | |
- "OFF" | |
- "ON" | |
- ON_WITH_INCLUSION | |
- ON_WITH_EXCLUSION | |
type: string | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: mixer | |
chart: istio | |
heritage: Tiller | |
istio: rbac | |
package: istio.io.mixer | |
release: istio | |
name: serviceroles.rbac.istio.io | |
spec: | |
group: rbac.istio.io | |
names: | |
categories: | |
- istio-io | |
- rbac-istio-io | |
kind: ServiceRole | |
listKind: ServiceRoleList | |
plural: serviceroles | |
singular: servicerole | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'See more details at:' | |
properties: | |
rules: | |
description: The set of access rules (permissions) that the role has. | |
items: | |
properties: | |
constraints: | |
description: Optional. | |
items: | |
properties: | |
key: | |
description: Key of the constraint. | |
format: string | |
type: string | |
values: | |
description: List of valid values for the constraint. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: array | |
hosts: | |
items: | |
format: string | |
type: string | |
type: array | |
methods: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notHosts: | |
items: | |
format: string | |
type: string | |
type: array | |
notMethods: | |
items: | |
format: string | |
type: string | |
type: array | |
notPaths: | |
items: | |
format: string | |
type: string | |
type: array | |
notPorts: | |
items: | |
format: int32 | |
type: integer | |
type: array | |
paths: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
ports: | |
items: | |
format: int32 | |
type: integer | |
type: array | |
services: | |
description: A list of service names. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: array | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: mixer | |
chart: istio | |
heritage: Tiller | |
istio: rbac | |
package: istio.io.mixer | |
release: istio | |
name: servicerolebindings.rbac.istio.io | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .spec.roleRef.name | |
description: The name of the ServiceRole object being referenced | |
name: Reference | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: 'CreationTimestamp is a timestamp representing the server time when | |
this object was created. It is not guaranteed to be set in happens-before order | |
across separate operations. Clients may not set this value. It is represented | |
in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for | |
lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata' | |
name: Age | |
type: date | |
group: rbac.istio.io | |
names: | |
categories: | |
- istio-io | |
- rbac-istio-io | |
kind: ServiceRoleBinding | |
listKind: ServiceRoleBindingList | |
plural: servicerolebindings | |
singular: servicerolebinding | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'See more details at:' | |
properties: | |
actions: | |
items: | |
properties: | |
constraints: | |
description: Optional. | |
items: | |
properties: | |
key: | |
description: Key of the constraint. | |
format: string | |
type: string | |
values: | |
description: List of valid values for the constraint. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: array | |
hosts: | |
items: | |
format: string | |
type: string | |
type: array | |
methods: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notHosts: | |
items: | |
format: string | |
type: string | |
type: array | |
notMethods: | |
items: | |
format: string | |
type: string | |
type: array | |
notPaths: | |
items: | |
format: string | |
type: string | |
type: array | |
notPorts: | |
items: | |
format: int32 | |
type: integer | |
type: array | |
paths: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
ports: | |
items: | |
format: int32 | |
type: integer | |
type: array | |
services: | |
description: A list of service names. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: array | |
mode: | |
enum: | |
- ENFORCED | |
- PERMISSIVE | |
type: string | |
role: | |
format: string | |
type: string | |
roleRef: | |
description: Reference to the ServiceRole object. | |
properties: | |
kind: | |
description: The type of the role being referenced. | |
format: string | |
type: string | |
name: | |
description: The name of the ServiceRole object being referenced. | |
format: string | |
type: string | |
type: object | |
subjects: | |
description: List of subjects that are assigned the ServiceRole object. | |
items: | |
properties: | |
group: | |
format: string | |
type: string | |
groups: | |
items: | |
format: string | |
type: string | |
type: array | |
ips: | |
items: | |
format: string | |
type: string | |
type: array | |
names: | |
items: | |
format: string | |
type: string | |
type: array | |
namespaces: | |
items: | |
format: string | |
type: string | |
type: array | |
notGroups: | |
items: | |
format: string | |
type: string | |
type: array | |
notIps: | |
items: | |
format: string | |
type: string | |
type: array | |
notNames: | |
items: | |
format: string | |
type: string | |
type: array | |
notNamespaces: | |
items: | |
format: string | |
type: string | |
type: array | |
properties: | |
additionalProperties: | |
format: string | |
type: string | |
description: Optional. | |
type: object | |
user: | |
description: Optional. | |
format: string | |
type: string | |
type: object | |
type: array | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1alpha1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
istio: security | |
release: istio | |
name: authorizationpolicies.security.istio.io | |
spec: | |
group: security.istio.io | |
names: | |
categories: | |
- istio-io | |
- security-istio-io | |
kind: AuthorizationPolicy | |
listKind: AuthorizationPolicyList | |
plural: authorizationpolicies | |
singular: authorizationpolicy | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: 'Configuration for access control on workloads. See more details | |
at: https://istio.io/docs/reference/config/security/authorization-policy.html' | |
properties: | |
action: | |
description: Optional. | |
enum: | |
- ALLOW | |
- DENY | |
type: string | |
rules: | |
description: Optional. | |
items: | |
properties: | |
from: | |
description: Optional. | |
items: | |
properties: | |
source: | |
description: Source specifies the source of a request. | |
properties: | |
ipBlocks: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
namespaces: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notIpBlocks: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notNamespaces: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notPrincipals: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notRequestPrincipals: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
principals: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
requestPrincipals: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: object | |
type: array | |
to: | |
description: Optional. | |
items: | |
properties: | |
operation: | |
description: Operation specifies the operation of a request. | |
properties: | |
hosts: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
methods: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notHosts: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notMethods: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notPaths: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notPorts: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
paths: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
ports: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: object | |
type: array | |
when: | |
description: Optional. | |
items: | |
properties: | |
key: | |
description: The name of an Istio attribute. | |
format: string | |
type: string | |
notValues: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
values: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
type: object | |
type: array | |
type: object | |
type: array | |
selector: | |
description: Optional. | |
properties: | |
matchLabels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1beta1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
istio: security | |
release: istio | |
name: peerauthentications.security.istio.io | |
spec: | |
group: security.istio.io | |
names: | |
categories: | |
- istio-io | |
- security-istio-io | |
kind: PeerAuthentication | |
listKind: PeerAuthenticationList | |
plural: peerauthentications | |
shortNames: | |
- pa | |
singular: peerauthentication | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: PeerAuthentication defines how traffic will be tunneled (or | |
not) to the sidecar. | |
properties: | |
mtls: | |
description: Mutual TLS settings for workload. | |
properties: | |
mode: | |
description: Defines the mTLS mode used for peer authentication. | |
enum: | |
- UNSET | |
- DISABLE | |
- PERMISSIVE | |
- STRICT | |
type: string | |
type: object | |
portLevelMtls: | |
additionalProperties: | |
properties: | |
mode: | |
description: Defines the mTLS mode used for peer authentication. | |
enum: | |
- UNSET | |
- DISABLE | |
- PERMISSIVE | |
- STRICT | |
type: string | |
type: object | |
description: Port specific mutual TLS settings. | |
type: object | |
selector: | |
description: The selector determines the workloads to apply the ChannelAuthentication | |
on. | |
properties: | |
matchLabels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1beta1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
istio: security | |
release: istio | |
name: requestauthentications.security.istio.io | |
spec: | |
group: security.istio.io | |
names: | |
categories: | |
- istio-io | |
- security-istio-io | |
kind: RequestAuthentication | |
listKind: RequestAuthenticationList | |
plural: requestauthentications | |
shortNames: | |
- ra | |
singular: requestauthentication | |
preserveUnknownFields: false | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: RequestAuthentication defines what request authentication methods | |
are supported by a workload. | |
properties: | |
jwtRules: | |
description: Define the list of JWTs that can be validated at the selected | |
workloads' proxy. | |
items: | |
properties: | |
audiences: | |
items: | |
format: string | |
type: string | |
type: array | |
forwardOriginalToken: | |
description: If set to true, the orginal token will be kept for | |
the ustream request. | |
type: boolean | |
fromHeaders: | |
description: List of header locations from which JWT is expected. | |
items: | |
properties: | |
name: | |
description: The HTTP header name. | |
format: string | |
type: string | |
prefix: | |
description: The prefix that should be stripped before decoding | |
the token. | |
format: string | |
type: string | |
type: object | |
type: array | |
fromParams: | |
description: List of query parameters from which JWT is expected. | |
items: | |
format: string | |
type: string | |
type: array | |
issuer: | |
description: Identifies the issuer that issued the JWT. | |
format: string | |
type: string | |
jwks: | |
description: JSON Web Key Set of public keys to validate signature | |
of the JWT. | |
format: string | |
type: string | |
jwks_uri: | |
format: string | |
type: string | |
jwksUri: | |
format: string | |
type: string | |
outputPayloadToHeader: | |
format: string | |
type: string | |
type: object | |
type: array | |
selector: | |
description: The selector determines the workloads to apply the RequestAuthentication | |
on. | |
properties: | |
matchLabels: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
type: object | |
type: object | |
status: | |
type: object | |
x-kubernetes-preserve-unknown-fields: true | |
type: object | |
versions: | |
- name: v1beta1 | |
served: true | |
storage: true | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: adapters.config.istio.io | |
labels: | |
app: mixer | |
package: adapter | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: adapter | |
plural: adapters | |
singular: adapter | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
subresources: | |
status: {} | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: templates.config.istio.io | |
labels: | |
app: mixer | |
package: template | |
istio: mixer-template | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: template | |
plural: templates | |
singular: template | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
subresources: | |
status: {} | |
versions: | |
- name: v1alpha2 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: istiooperators.install.istio.io | |
labels: | |
release: istio | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .spec.revision | |
description: Istio control plane revision | |
name: Revision | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: 'CreationTimestamp is a timestamp representing the server time when | |
this object was created. It is not guaranteed to be set in happens-before order | |
across separate operations. Clients may not set this value. It is represented | |
in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for | |
lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata' | |
name: Age | |
type: date | |
group: install.istio.io | |
names: | |
kind: IstioOperator | |
plural: istiooperators | |
singular: istiooperator | |
shortNames: | |
- iop | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
apiVersion: | |
description: 'APIVersion defines the versioned schema of this representation | |
of an object. Servers should convert recognized schemas to the latest | |
internal value, and may reject unrecognized values. | |
More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#resources' | |
type: string | |
kind: | |
description: 'Kind is a string value representing the REST resource this | |
object represents. Servers may infer this from the endpoint the client | |
submits requests to. Cannot be updated. In CamelCase. | |
More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#types-kinds' | |
type: string | |
spec: | |
description: 'Specification of the desired state of the istio control plane resource. | |
More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' | |
type: object | |
status: | |
description: 'Status describes each of istio control plane component status at the current time. | |
0 means NONE, 1 means UPDATING, 2 means HEALTHY, 3 means ERROR, 4 means RECONCILING. | |
More info: https://github.com/istio/api/blob/master/operator/v1alpha1/istio.operator.v1alpha1.pb.html & | |
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' | |
type: object | |
versions: | |
- name: v1alpha1 | |
served: true | |
storage: true | |
--- | |
# Cni component is disabled. | |
# EgressGateways istio-egressgateway component is disabled. | |
# Resources for IngressGateways component | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
labels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
name: istio-ingressgateway | |
namespace: istio-system | |
spec: | |
maxReplicas: 5 | |
metrics: | |
- resource: | |
name: cpu | |
targetAverageUtilization: 80 | |
type: Resource | |
minReplicas: 1 | |
scaleTargetRef: | |
apiVersion: apps/v1 | |
kind: Deployment | |
name: istio-ingressgateway | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
labels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
name: istio-ingressgateway | |
namespace: istio-system | |
spec: | |
selector: | |
matchLabels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
strategy: | |
rollingUpdate: | |
maxSurge: 100% | |
maxUnavailable: 25% | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "false" | |
labels: | |
app: istio-ingressgateway | |
chart: gateways | |
heritage: Tiller | |
istio: ingressgateway | |
release: istio | |
service.istio.io/canonical-name: istio-ingressgateway | |
service.istio.io/canonical-revision: latest | |
spec: | |
affinity: | |
nodeAffinity: | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
weight: 2 | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
weight: 2 | |
- preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
weight: 2 | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
containers: | |
- args: | |
- proxy | |
- router | |
- --domain | |
- $(POD_NAMESPACE).svc.cluster.local | |
- --proxyLogLevel=warning | |
- --proxyComponentLogLevel=misc:error | |
- --log_output_level=default:info | |
- --serviceCluster | |
- istio-ingressgateway | |
- --trust-domain=cluster.local | |
env: | |
- name: JWT_POLICY | |
value: third-party-jwt | |
- name: PILOT_CERT_PROVIDER | |
value: istiod | |
- name: CA_ADDR | |
value: istiod.istio-system.svc:15012 | |
- name: NODE_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: spec.nodeName | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.podIP | |
- name: HOST_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.hostIP | |
- name: SERVICE_ACCOUNT | |
valueFrom: | |
fieldRef: | |
fieldPath: spec.serviceAccountName | |
- name: CANONICAL_SERVICE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.labels['service.istio.io/canonical-name'] | |
- name: CANONICAL_REVISION | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.labels['service.istio.io/canonical-revision'] | |
- name: ISTIO_META_WORKLOAD_NAME | |
value: istio-ingressgateway | |
- name: ISTIO_META_OWNER | |
value: kubernetes://apis/apps/v1/namespaces/istio-system/deployments/istio-ingressgateway | |
- name: ISTIO_META_MESH_ID | |
value: cluster.local | |
- name: ISTIO_META_ROUTER_MODE | |
value: sni-dnat | |
- name: ISTIO_META_CLUSTER_ID | |
value: Kubernetes | |
image: docker.io/istio/proxyv2:1.6.3 | |
name: istio-proxy | |
ports: | |
- containerPort: 15021 | |
- containerPort: 8080 | |
- containerPort: 8443 | |
- containerPort: 15443 | |
- containerPort: 15011 | |
- containerPort: 15012 | |
- containerPort: 8060 | |
- containerPort: 853 | |
- containerPort: 15090 | |
name: http-envoy-prom | |
protocol: TCP | |
readinessProbe: | |
failureThreshold: 30 | |
httpGet: | |
path: /healthz/ready | |
port: 15021 | |
scheme: HTTP | |
initialDelaySeconds: 1 | |
periodSeconds: 2 | |
successThreshold: 1 | |
timeoutSeconds: 1 | |
resources: | |
limits: | |
cpu: 2000m | |
memory: 1024Mi | |
requests: | |
cpu: 100m | |
memory: 128Mi | |
volumeMounts: | |
- mountPath: /etc/istio/proxy | |
name: istio-envoy | |
- mountPath: /etc/istio/config | |
name: config-volume | |
- mountPath: /var/run/secrets/istio | |
name: istiod-ca-cert | |
- mountPath: /var/run/secrets/tokens | |
name: istio-token | |
readOnly: true | |
- mountPath: /var/run/ingress_gateway | |
name: ingressgatewaysdsudspath | |
- mountPath: /etc/istio/pod | |
name: podinfo | |
- mountPath: /etc/istio/ingressgateway-certs | |
name: ingressgateway-certs | |
readOnly: true | |
- mountPath: /etc/istio/ingressgateway-ca-certs | |
name: ingressgateway-ca-certs | |
readOnly: true | |
serviceAccountName: istio-ingressgateway-service-account | |
volumes: | |
- configMap: | |
name: istio-ca-root-cert | |
name: istiod-ca-cert | |
- downwardAPI: | |
items: | |
- fieldRef: | |
fieldPath: metadata.labels | |
path: labels | |
- fieldRef: | |
fieldPath: metadata.annotations | |
path: annotations | |
name: podinfo | |
- emptyDir: {} | |
name: istio-envoy | |
- emptyDir: {} | |
name: ingressgatewaysdsudspath | |
- name: istio-token | |
projected: | |
sources: | |
- serviceAccountToken: | |
audience: istio-ca | |
expirationSeconds: 43200 | |
path: istio-token | |
- configMap: | |
name: istio | |
optional: true | |
name: config-volume | |
- name: ingressgateway-certs | |
secret: | |
optional: true | |
secretName: istio-ingressgateway-certs | |
- name: ingressgateway-ca-certs | |
secret: | |
optional: true | |
secretName: istio-ingressgateway-ca-certs | |
--- | |
apiVersion: policy/v1beta1 | |
kind: PodDisruptionBudget | |
metadata: | |
name: istio-ingressgateway | |
namespace: istio-system | |
labels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
spec: | |
minAvailable: 1 | |
selector: | |
matchLabels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: Role | |
metadata: | |
name: istio-ingressgateway-sds | |
namespace: istio-system | |
labels: | |
release: istio | |
rules: | |
- apiGroups: [""] | |
resources: ["secrets"] | |
verbs: ["get", "watch", "list"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: RoleBinding | |
metadata: | |
name: istio-ingressgateway-sds | |
namespace: istio-system | |
labels: | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: Role | |
name: istio-ingressgateway-sds | |
subjects: | |
- kind: ServiceAccount | |
name: istio-ingressgateway-service-account | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
annotations: null | |
labels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
name: istio-ingressgateway | |
namespace: istio-system | |
spec: | |
ports: | |
- name: status-port | |
port: 15021 | |
targetPort: 15021 | |
- name: http2 | |
port: 80 | |
targetPort: 8080 | |
- name: https | |
port: 443 | |
targetPort: 8443 | |
- name: tls | |
port: 15443 | |
targetPort: 15443 | |
selector: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
type: LoadBalancer | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-ingressgateway-service-account | |
namespace: istio-system | |
labels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
--- | |
# IstiodRemote component is disabled. | |
# Resources for Pilot component | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
name: istiod | |
namespace: istio-system | |
labels: | |
app: istiod | |
release: istio | |
istio.io/rev: default | |
spec: | |
maxReplicas: 5 | |
minReplicas: 1 | |
scaleTargetRef: | |
apiVersion: apps/v1 | |
kind: Deployment | |
name: istiod | |
metrics: | |
- type: Resource | |
resource: | |
name: cpu | |
targetAverageUtilization: 80 | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
release: istio | |
data: | |
# Configuration file for the mesh networks to be used by the Split Horizon EDS. | |
meshNetworks: |- | |
networks: {} | |
mesh: |- | |
accessLogEncoding: TEXT | |
accessLogFile: "" | |
accessLogFormat: "" | |
defaultConfig: | |
concurrency: 2 | |
configPath: ./etc/istio/proxy | |
connectTimeout: 10s | |
controlPlaneAuthPolicy: NONE | |
discoveryAddress: istiod.istio-system.svc:15012 | |
drainDuration: 45s | |
parentShutdownDuration: 1m0s | |
proxyAdminPort: 15000 | |
proxyMetadata: | |
DNS_AGENT: "" | |
serviceCluster: istio-proxy | |
tracing: | |
zipkin: | |
address: 192.168.39.240.observability:9411 | |
disableMixerHttpReports: true | |
disablePolicyChecks: true | |
enablePrometheusMerge: false | |
ingressClass: istio | |
ingressControllerMode: STRICT | |
ingressService: istio-ingressgateway | |
protocolDetectionTimeout: 100ms | |
reportBatchMaxEntries: 100 | |
reportBatchMaxTime: 1s | |
sdsUdsPath: unix:/etc/istio/proxy/SDS | |
trustDomain: cluster.local | |
trustDomainAliases: null | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
labels: | |
app: istiod | |
istio: pilot | |
istio.io/rev: default | |
release: istio | |
name: istiod | |
namespace: istio-system | |
spec: | |
selector: | |
matchLabels: | |
istio: pilot | |
strategy: | |
rollingUpdate: | |
maxSurge: 100% | |
maxUnavailable: 25% | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "false" | |
labels: | |
app: istiod | |
istio: pilot | |
istio.io/rev: default | |
spec: | |
containers: | |
- args: | |
- discovery | |
- --monitoringAddr=:15014 | |
- --log_output_level=default:info | |
- --domain | |
- cluster.local | |
- --trust-domain=cluster.local | |
- --keepaliveMaxServerConnectionAge | |
- 30m | |
env: | |
- name: REVISION | |
value: default | |
- name: JWT_POLICY | |
value: third-party-jwt | |
- name: PILOT_CERT_PROVIDER | |
value: istiod | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: SERVICE_ACCOUNT | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: spec.serviceAccountName | |
- name: PILOT_TRACE_SAMPLING | |
value: "1" | |
- name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_OUTBOUND | |
value: "true" | |
- name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_INBOUND | |
value: "true" | |
- name: INJECTION_WEBHOOK_CONFIG_NAME | |
value: istio-sidecar-injector | |
- name: ISTIOD_ADDR | |
value: istiod.istio-system.svc:15012 | |
- name: PILOT_ENABLE_ANALYSIS | |
value: "false" | |
- name: CLUSTER_ID | |
value: Kubernetes | |
- name: CENTRAL_ISTIOD | |
value: "false" | |
image: docker.io/istio/pilot:1.6.3 | |
name: discovery | |
ports: | |
- containerPort: 8080 | |
- containerPort: 15010 | |
- containerPort: 15017 | |
- containerPort: 15053 | |
readinessProbe: | |
httpGet: | |
path: /ready | |
port: 8080 | |
initialDelaySeconds: 1 | |
periodSeconds: 3 | |
timeoutSeconds: 5 | |
resources: | |
requests: | |
cpu: 500m | |
memory: 2048Mi | |
securityContext: | |
capabilities: | |
drop: | |
- ALL | |
runAsGroup: 1337 | |
runAsNonRoot: true | |
runAsUser: 1337 | |
volumeMounts: | |
- mountPath: /etc/istio/config | |
name: config-volume | |
- mountPath: /var/run/secrets/tokens | |
name: istio-token | |
readOnly: true | |
- mountPath: /var/run/secrets/istio-dns | |
name: local-certs | |
- mountPath: /etc/cacerts | |
name: cacerts | |
readOnly: true | |
- mountPath: /var/lib/istio/inject | |
name: inject | |
readOnly: true | |
securityContext: | |
fsGroup: 1337 | |
serviceAccountName: istiod-service-account | |
volumes: | |
- emptyDir: | |
medium: Memory | |
name: local-certs | |
- name: istio-token | |
projected: | |
sources: | |
- serviceAccountToken: | |
audience: istio-ca | |
expirationSeconds: 43200 | |
path: istio-token | |
- name: cacerts | |
secret: | |
optional: true | |
secretName: cacerts | |
- configMap: | |
name: istio-sidecar-injector | |
optional: true | |
name: inject | |
- configMap: | |
name: istio | |
name: config-volume | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
release: istio | |
data: | |
values: |- | |
{ | |
"global": { | |
"arch": { | |
"amd64": 2, | |
"ppc64le": 2, | |
"s390x": 2 | |
}, | |
"configNamespace": "istio-system", | |
"configValidation": true, | |
"controlPlaneSecurityEnabled": true, | |
"defaultNodeSelector": {}, | |
"defaultPodDisruptionBudget": { | |
"enabled": true | |
}, | |
"defaultResources": { | |
"requests": { | |
"cpu": "10m" | |
} | |
}, | |
"enableHelmTest": false, | |
"enabled": true, | |
"hub": "docker.io/istio", | |
"imagePullPolicy": "", | |
"imagePullSecrets": [], | |
"istioNamespace": "istio-system", | |
"istiod": { | |
"enableAnalysis": false, | |
"enabled": true | |
}, | |
"jwtPolicy": "third-party-jwt", | |
"logAsJson": false, | |
"logging": { | |
"level": "default:info" | |
}, | |
"meshExpansion": { | |
"enabled": false, | |
"useILB": false | |
}, | |
"meshNetworks": {}, | |
"mountMtlsCerts": false, | |
"multiCluster": { | |
"clusterName": "", | |
"enabled": false | |
}, | |
"namespace": "istio-system", | |
"network": "", | |
"omitSidecarInjectorConfigMap": false, | |
"oneNamespace": false, | |
"operatorManageWebhooks": false, | |
"pilotCertProvider": "istiod", | |
"policyNamespace": "istio-system", | |
"priorityClassName": "", | |
"prometheusNamespace": "istio-system", | |
"proxy": { | |
"autoInject": "enabled", | |
"clusterDomain": "cluster.local", | |
"componentLogLevel": "misc:error", | |
"enableCoreDump": false, | |
"envoyStatsd": { | |
"enabled": false | |
}, | |
"excludeIPRanges": "", | |
"excludeInboundPorts": "", | |
"excludeOutboundPorts": "", | |
"image": "proxyv2", | |
"includeIPRanges": "*", | |
"logLevel": "warning", | |
"privileged": false, | |
"readinessFailureThreshold": 30, | |
"readinessInitialDelaySeconds": 1, | |
"readinessPeriodSeconds": 2, | |
"resources": { | |
"limits": { | |
"cpu": "2000m", | |
"memory": "1024Mi" | |
}, | |
"requests": { | |
"cpu": "100m", | |
"memory": "128Mi" | |
} | |
}, | |
"statusPort": 15020, | |
"tracer": "zipkin" | |
}, | |
"proxy_init": { | |
"image": "proxyv2", | |
"resources": { | |
"limits": { | |
"cpu": "100m", | |
"memory": "50Mi" | |
}, | |
"requests": { | |
"cpu": "10m", | |
"memory": "10Mi" | |
} | |
} | |
}, | |
"sds": { | |
"token": { | |
"aud": "istio-ca" | |
} | |
}, | |
"securityNamespace": "istio-system", | |
"sts": { | |
"servicePort": 0 | |
}, | |
"tag": "1.6.3", | |
"telemetryNamespace": "istio-system", | |
"tracer": { | |
"datadog": { | |
"address": "$(HOST_IP):8126" | |
}, | |
"lightstep": { | |
"accessToken": "", | |
"address": "" | |
}, | |
"stackdriver": { | |
"debug": false, | |
"maxNumberOfAnnotations": 200, | |
"maxNumberOfAttributes": 200, | |
"maxNumberOfMessageEvents": 200 | |
}, | |
"zipkin": { | |
"address": "192.168.39.240.observability:9411" | |
} | |
}, | |
"trustDomain": "cluster.local", | |
"useMCP": false | |
}, | |
"istio_cni": { | |
"enabled": false | |
}, | |
"revision": "", | |
"sidecarInjectorWebhook": { | |
"alwaysInjectSelector": [], | |
"enableNamespacesByDefault": false, | |
"enabled": false, | |
"injectLabel": "istio-injection", | |
"injectedAnnotations": {}, | |
"namespace": "istio-system", | |
"neverInjectSelector": [], | |
"objectSelector": { | |
"autoInject": true, | |
"enabled": false | |
}, | |
"rewriteAppHTTPProbe": true | |
} | |
} | |
# To disable injection: use omitSidecarInjectorConfigMap, which disables the webhook patching | |
# and istiod webhook functionality. | |
# | |
# New fields should not use Values - it is a 'primary' config object, users should be able | |
# to fine tune it or use it with kube-inject. | |
config: |- | |
policy: enabled | |
alwaysInjectSelector: | |
[] | |
neverInjectSelector: | |
[] | |
injectedAnnotations: | |
template: | | |
rewriteAppHTTPProbe: {{ valueOrDefault .Values.sidecarInjectorWebhook.rewriteAppHTTPProbe false }} | |
initContainers: | |
{{ if ne (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `NONE` }} | |
{{ if .Values.istio_cni.enabled -}} | |
- name: istio-validation | |
{{ else -}} | |
- name: istio-init | |
{{ end -}} | |
{{- if contains "/" .Values.global.proxy_init.image }} | |
image: "{{ .Values.global.proxy_init.image }}" | |
{{- else }} | |
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy_init.image }}:{{ .Values.global.tag }}" | |
{{- end }} | |
args: | |
- istio-iptables | |
- "-p" | |
- 15001 | |
- "-z" | |
- "15006" | |
- "-u" | |
- 1337 | |
- "-m" | |
- "{{ annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode }}" | |
- "-i" | |
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundIPRanges` .Values.global.proxy.includeIPRanges }}" | |
- "-x" | |
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` .Values.global.proxy.excludeIPRanges }}" | |
- "-b" | |
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` `*` }}" | |
- "-d" | |
- "15090,15021,{{ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` .Values.global.proxy.excludeInboundPorts) }}" | |
{{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/excludeOutboundPorts`) (ne (valueOrDefault .Values.global.proxy.excludeOutboundPorts "") "") -}} | |
- "-o" | |
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundPorts` .Values.global.proxy.excludeOutboundPorts }}" | |
{{ end -}} | |
{{ if (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces`) -}} | |
- "-k" | |
- "{{ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` }}" | |
{{ end -}} | |
{{ if .Values.istio_cni.enabled -}} | |
- "--run-validation" | |
- "--skip-rule-apply" | |
{{ end -}} | |
imagePullPolicy: "{{ valueOrDefault .Values.global.imagePullPolicy `Always` }}" | |
{{- if .Values.global.proxy_init.resources }} | |
env: | |
{{- range $key, $value := .ProxyConfig.ProxyMetadata }} | |
- name: {{ $key }} | |
value: "{{ $value }}" | |
{{- end }} | |
resources: | |
{{ toYaml .Values.global.proxy_init.resources | indent 4 }} | |
{{- else }} | |
resources: {} | |
{{- end }} | |
securityContext: | |
allowPrivilegeEscalation: {{ .Values.global.proxy.privileged }} | |
privileged: {{ .Values.global.proxy.privileged }} | |
capabilities: | |
{{- if not .Values.istio_cni.enabled }} | |
add: | |
- NET_ADMIN | |
- NET_RAW | |
{{- end }} | |
drop: | |
- ALL | |
{{- if not .Values.istio_cni.enabled }} | |
readOnlyRootFilesystem: false | |
runAsGroup: 0 | |
runAsNonRoot: false | |
runAsUser: 0 | |
{{- else }} | |
readOnlyRootFilesystem: true | |
runAsGroup: 1337 | |
runAsUser: 1337 | |
runAsNonRoot: true | |
{{- end }} | |
restartPolicy: Always | |
{{ end -}} | |
{{- if eq .Values.global.proxy.enableCoreDump true }} | |
- name: enable-core-dump | |
args: | |
- -c | |
- sysctl -w kernel.core_pattern=/var/lib/istio/data/core.proxy && ulimit -c unlimited | |
command: | |
- /bin/sh | |
{{- if contains "/" .Values.global.proxy_init.image }} | |
image: "{{ .Values.global.proxy_init.image }}" | |
{{- else }} | |
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy_init.image }}:{{ .Values.global.tag }}" | |
{{- end }} | |
imagePullPolicy: "{{ valueOrDefault .Values.global.imagePullPolicy `Always` }}" | |
resources: {} | |
securityContext: | |
allowPrivilegeEscalation: true | |
capabilities: | |
add: | |
- SYS_ADMIN | |
drop: | |
- ALL | |
privileged: true | |
readOnlyRootFilesystem: false | |
runAsGroup: 0 | |
runAsNonRoot: false | |
runAsUser: 0 | |
{{ end }} | |
containers: | |
- name: istio-proxy | |
{{- if contains "/" (annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image) }} | |
image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image }}" | |
{{- else }} | |
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy.image }}:{{ .Values.global.tag }}" | |
{{- end }} | |
ports: | |
- containerPort: 15090 | |
protocol: TCP | |
name: http-envoy-prom | |
args: | |
- proxy | |
- sidecar | |
- --domain | |
- $(POD_NAMESPACE).svc.{{ .Values.global.proxy.clusterDomain }} | |
- --serviceCluster | |
{{ if ne "" (index .ObjectMeta.Labels "app") -}} | |
- "{{ index .ObjectMeta.Labels `app` }}.$(POD_NAMESPACE)" | |
{{ else -}} | |
- "{{ valueOrDefault .DeploymentMeta.Name `istio-proxy` }}.{{ valueOrDefault .DeploymentMeta.Namespace `default` }}" | |
{{ end -}} | |
- --proxyLogLevel={{ annotation .ObjectMeta `sidecar.istio.io/logLevel` .Values.global.proxy.logLevel}} | |
- --proxyComponentLogLevel={{ annotation .ObjectMeta `sidecar.istio.io/componentLogLevel` .Values.global.proxy.componentLogLevel}} | |
{{- if .Values.global.sts.servicePort }} | |
- --stsPort={{ .Values.global.sts.servicePort }} | |
{{- end }} | |
{{- if .Values.global.trustDomain }} | |
- --trust-domain={{ .Values.global.trustDomain }} | |
{{- end }} | |
{{- if .Values.global.logAsJson }} | |
- --log_as_json | |
{{- end }} | |
{{- if gt .ProxyConfig.Concurrency 0 }} | |
- --concurrency | |
- "{{ .ProxyConfig.Concurrency }}" | |
{{- end -}} | |
{{- if .Values.global.proxy.lifecycle }} | |
lifecycle: | |
{{ toYaml .Values.global.proxy.lifecycle | indent 4 }} | |
{{- end }} | |
env: | |
- name: JWT_POLICY | |
value: {{ .Values.global.jwtPolicy }} | |
- name: PILOT_CERT_PROVIDER | |
value: {{ .Values.global.pilotCertProvider }} | |
# Temp, pending PR to make it default or based on the istiodAddr env | |
- name: CA_ADDR | |
{{- if .Values.global.caAddress }} | |
value: {{ .Values.global.caAddress }} | |
{{- else }} | |
value: istiod{{- if not (eq .Values.revision "") }}-{{ .Values.revision }}{{- end }}.{{ .Values.global.istioNamespace }}.svc:15012 | |
{{- end }} | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
fieldPath: status.podIP | |
- name: SERVICE_ACCOUNT | |
valueFrom: | |
fieldRef: | |
fieldPath: spec.serviceAccountName | |
- name: HOST_IP | |
valueFrom: | |
fieldRef: | |
fieldPath: status.hostIP | |
- name: CANONICAL_SERVICE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.labels['service.istio.io/canonical-name'] | |
- name: CANONICAL_REVISION | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.labels['service.istio.io/canonical-revision'] | |
- name: PROXY_CONFIG | |
value: | | |
{{ protoToJSON .ProxyConfig }} | |
- name: ISTIO_META_POD_PORTS | |
value: |- | |
[ | |
{{- $first := true }} | |
{{- range $index1, $c := .Spec.Containers }} | |
{{- range $index2, $p := $c.Ports }} | |
{{- if (structToJSON $p) }} | |
{{if not $first}},{{end}}{{ structToJSON $p }} | |
{{- $first = false }} | |
{{- end }} | |
{{- end}} | |
{{- end}} | |
] | |
- name: ISTIO_META_APP_CONTAINERS | |
value: |- | |
[ | |
{{- range $index, $container := .Spec.Containers }} | |
{{- if ne $index 0}},{{- end}} | |
{{ $container.Name }} | |
{{- end}} | |
] | |
- name: ISTIO_META_CLUSTER_ID | |
value: "{{ valueOrDefault .Values.global.multiCluster.clusterName `Kubernetes` }}" | |
- name: ISTIO_META_INTERCEPTION_MODE | |
value: "{{ or (index .ObjectMeta.Annotations `sidecar.istio.io/interceptionMode`) .ProxyConfig.InterceptionMode.String }}" | |
{{- if .Values.global.network }} | |
- name: ISTIO_META_NETWORK | |
value: "{{ .Values.global.network }}" | |
{{- end }} | |
{{ if .ObjectMeta.Annotations }} | |
- name: ISTIO_METAJSON_ANNOTATIONS | |
value: | | |
{{ toJSON .ObjectMeta.Annotations }} | |
{{ end }} | |
{{- if .DeploymentMeta.Name }} | |
- name: ISTIO_META_WORKLOAD_NAME | |
value: {{ .DeploymentMeta.Name }} | |
{{ end }} | |
{{- if and .TypeMeta.APIVersion .DeploymentMeta.Name }} | |
- name: ISTIO_META_OWNER | |
value: kubernetes://apis/{{ .TypeMeta.APIVersion }}/namespaces/{{ valueOrDefault .DeploymentMeta.Namespace `default` }}/{{ toLower .TypeMeta.Kind}}s/{{ .DeploymentMeta.Name }} | |
{{- end}} | |
{{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }} | |
- name: ISTIO_BOOTSTRAP_OVERRIDE | |
value: "/etc/istio/custom-bootstrap/custom_bootstrap.json" | |
{{- end }} | |
{{- if .Values.global.meshID }} | |
- name: ISTIO_META_MESH_ID | |
value: "{{ .Values.global.meshID }}" | |
{{- else if .Values.global.trustDomain }} | |
- name: ISTIO_META_MESH_ID | |
value: "{{ .Values.global.trustDomain }}" | |
{{- end }} | |
{{- if and (eq .Values.global.proxy.tracer "datadog") (isset .ObjectMeta.Annotations `apm.datadoghq.com/env`) }} | |
{{- range $key, $value := fromJSON (index .ObjectMeta.Annotations `apm.datadoghq.com/env`) }} | |
- name: {{ $key }} | |
value: "{{ $value }}" | |
{{- end }} | |
{{- end }} | |
{{- range $key, $value := .ProxyConfig.ProxyMetadata }} | |
- name: {{ $key }} | |
value: "{{ $value }}" | |
{{- end }} | |
imagePullPolicy: "{{ valueOrDefault .Values.global.imagePullPolicy `Always` }}" | |
{{ if ne (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) `0` }} | |
readinessProbe: | |
httpGet: | |
path: /healthz/ready | |
port: 15021 | |
initialDelaySeconds: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/initialDelaySeconds` .Values.global.proxy.readinessInitialDelaySeconds }} | |
periodSeconds: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/periodSeconds` .Values.global.proxy.readinessPeriodSeconds }} | |
failureThreshold: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/failureThreshold` .Values.global.proxy.readinessFailureThreshold }} | |
{{ end -}} | |
securityContext: | |
allowPrivilegeEscalation: {{ .Values.global.proxy.privileged }} | |
capabilities: | |
{{ if or (eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY`) (eq (annotation .ObjectMeta `sidecar.istio.io/capNetBindService` .Values.global.proxy.capNetBindService) `true`) -}} | |
add: | |
{{ if eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY` -}} | |
- NET_ADMIN | |
{{- end }} | |
{{ if eq (annotation .ObjectMeta `sidecar.istio.io/capNetBindService` .Values.global.proxy.capNetBindService) `true` -}} | |
- NET_BIND_SERVICE | |
{{- end }} | |
{{- end }} | |
drop: | |
- ALL | |
privileged: {{ .Values.global.proxy.privileged }} | |
readOnlyRootFilesystem: {{ not .Values.global.proxy.enableCoreDump }} | |
runAsGroup: 1337 | |
fsGroup: 1337 | |
{{ if or (eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY`) (eq (annotation .ObjectMeta `sidecar.istio.io/capNetBindService` .Values.global.proxy.capNetBindService) `true`) -}} | |
runAsNonRoot: false | |
runAsUser: 0 | |
{{- else -}} | |
runAsNonRoot: true | |
runAsUser: 1337 | |
{{- end }} | |
resources: | |
{{- if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit`) }} | |
{{- if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) }} | |
requests: | |
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) -}} | |
cpu: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU` }}" | |
{{ end }} | |
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -}} | |
memory: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory` }}" | |
{{ end }} | |
{{- end }} | |
{{- if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit`) }} | |
limits: | |
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit`) -}} | |
cpu: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit` }}" | |
{{ end }} | |
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit`) -}} | |
memory: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit` }}" | |
{{ end }} | |
{{- end }} | |
{{- else }} | |
{{- if .Values.global.proxy.resources }} | |
{{ toYaml .Values.global.proxy.resources | indent 4 }} | |
{{- end }} | |
{{- end }} | |
volumeMounts: | |
{{- if eq .Values.global.pilotCertProvider "istiod" }} | |
- mountPath: /var/run/secrets/istio | |
name: istiod-ca-cert | |
{{- end }} | |
- mountPath: /var/lib/istio/data | |
name: istio-data | |
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }} | |
- mountPath: /etc/istio/custom-bootstrap | |
name: custom-bootstrap-volume | |
{{- end }} | |
# SDS channel between istioagent and Envoy | |
- mountPath: /etc/istio/proxy | |
name: istio-envoy | |
{{- if eq .Values.global.jwtPolicy "third-party-jwt" }} | |
- mountPath: /var/run/secrets/tokens | |
name: istio-token | |
{{- end }} | |
{{- if .Values.global.mountMtlsCerts }} | |
# Use the key and cert mounted to /etc/certs/ for the in-cluster mTLS communications. | |
- mountPath: /etc/certs/ | |
name: istio-certs | |
readOnly: true | |
{{- end }} | |
- name: istio-podinfo | |
mountPath: /etc/istio/pod | |
{{- if and (eq .Values.global.proxy.tracer "lightstep") .ProxyConfig.GetTracing.GetTlsSettings }} | |
- mountPath: {{ directory .ProxyConfig.GetTracing.GetTlsSettings.GetCaCertificates }} | |
name: lightstep-certs | |
readOnly: true | |
{{- end }} | |
{{- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount` }} | |
{{ range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount`) }} | |
- name: "{{ $index }}" | |
{{ toYaml $value | indent 4 }} | |
{{ end }} | |
{{- end }} | |
volumes: | |
{{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }} | |
- name: custom-bootstrap-volume | |
configMap: | |
name: {{ annotation .ObjectMeta `sidecar.istio.io/bootstrapOverride` "" }} | |
{{- end }} | |
# SDS channel between istioagent and Envoy | |
- emptyDir: | |
medium: Memory | |
name: istio-envoy | |
- name: istio-data | |
emptyDir: {} | |
- name: istio-podinfo | |
downwardAPI: | |
items: | |
- path: "labels" | |
fieldRef: | |
fieldPath: metadata.labels | |
- path: "annotations" | |
fieldRef: | |
fieldPath: metadata.annotations | |
{{- if eq .Values.global.jwtPolicy "third-party-jwt" }} | |
- name: istio-token | |
projected: | |
sources: | |
- serviceAccountToken: | |
path: istio-token | |
expirationSeconds: 43200 | |
audience: {{ .Values.global.sds.token.aud }} | |
{{- end }} | |
{{- if eq .Values.global.pilotCertProvider "istiod" }} | |
- name: istiod-ca-cert | |
configMap: | |
name: istio-ca-root-cert | |
{{- end }} | |
{{- if .Values.global.mountMtlsCerts }} | |
# Use the key and cert mounted to /etc/certs/ for the in-cluster mTLS communications. | |
- name: istio-certs | |
secret: | |
optional: true | |
{{ if eq .Spec.ServiceAccountName "" }} | |
secretName: istio.default | |
{{ else -}} | |
secretName: {{ printf "istio.%s" .Spec.ServiceAccountName }} | |
{{ end -}} | |
{{- end }} | |
{{- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolume` }} | |
{{range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolume`) }} | |
- name: "{{ $index }}" | |
{{ toYaml $value | indent 2 }} | |
{{ end }} | |
{{ end }} | |
{{- if and (eq .Values.global.proxy.tracer "lightstep") .ProxyConfig.GetTracing.GetTlsSettings }} | |
- name: lightstep-certs | |
secret: | |
optional: true | |
secretName: lightstep.cacert | |
{{- end }} | |
{{- if .Values.global.podDNSSearchNamespaces }} | |
dnsConfig: | |
searches: | |
{{- range .Values.global.podDNSSearchNamespaces }} | |
- {{ render . }} | |
{{- end }} | |
{{- end }} | |
podRedirectAnnot: | |
{{- if and (.Values.istio_cni.enabled) (not .Values.istio_cni.chained) }} | |
{{ if isset .ObjectMeta.Annotations `k8s.v1.cni.cncf.io/networks` }} | |
k8s.v1.cni.cncf.io/networks: "{{ index .ObjectMeta.Annotations `k8s.v1.cni.cncf.io/networks`}}, istio-cni" | |
{{- else }} | |
k8s.v1.cni.cncf.io/networks: "istio-cni" | |
{{- end }} | |
{{- end }} | |
sidecar.istio.io/interceptionMode: "{{ annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode }}" | |
traffic.sidecar.istio.io/includeOutboundIPRanges: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundIPRanges` .Values.global.proxy.includeIPRanges }}" | |
traffic.sidecar.istio.io/excludeOutboundIPRanges: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` .Values.global.proxy.excludeIPRanges }}" | |
traffic.sidecar.istio.io/includeInboundPorts: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` (includeInboundPorts .Spec.Containers) }}" | |
traffic.sidecar.istio.io/excludeInboundPorts: "{{ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` .Values.global.proxy.excludeInboundPorts) }}" | |
{{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/excludeOutboundPorts`) (ne .Values.global.proxy.excludeOutboundPorts "") }} | |
traffic.sidecar.istio.io/excludeOutboundPorts: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundPorts` .Values.global.proxy.excludeOutboundPorts }}" | |
{{- end }} | |
traffic.sidecar.istio.io/kubevirtInterfaces: "{{ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` }}" | |
{{- if .Values.global.imagePullSecrets }} | |
imagePullSecrets: | |
{{- range .Values.global.imagePullSecrets }} | |
- name: {{ . }} | |
{{- end }} | |
{{- end }} | |
--- | |
apiVersion: admissionregistration.k8s.io/v1beta1 | |
kind: MutatingWebhookConfiguration | |
metadata: | |
name: istio-sidecar-injector | |
labels: | |
istio.io/rev: default | |
app: sidecar-injector | |
release: istio | |
webhooks: | |
- name: sidecar-injector.istio.io | |
clientConfig: | |
service: | |
name: istiod | |
namespace: istio-system | |
path: "/inject" | |
caBundle: "" | |
sideEffects: None | |
rules: | |
- operations: [ "CREATE" ] | |
apiGroups: [""] | |
apiVersions: ["v1"] | |
resources: ["pods"] | |
failurePolicy: Fail | |
namespaceSelector: | |
matchLabels: | |
istio-injection: enabled | |
--- | |
apiVersion: policy/v1beta1 | |
kind: PodDisruptionBudget | |
metadata: | |
name: istiod | |
namespace: istio-system | |
labels: | |
app: istiod | |
istio.io/rev: default | |
release: istio | |
istio: pilot | |
spec: | |
minAvailable: 1 | |
selector: | |
matchLabels: | |
app: istiod | |
istio: pilot | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istiod | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
app: istiod | |
istio: pilot | |
release: istio | |
spec: | |
ports: | |
- port: 15010 | |
name: grpc-xds # plaintext | |
- port: 15012 | |
name: https-dns # mTLS with k8s-signed cert | |
- port: 443 | |
name: https-webhook # validation and injection | |
targetPort: 15017 | |
- port: 15014 | |
name: http-monitoring # prometheus stats | |
- name: dns | |
port: 53 | |
targetPort: 15053 | |
protocol: UDP | |
- name: dns-tls | |
port: 853 | |
targetPort: 15053 | |
protocol: TCP | |
selector: | |
app: istiod | |
# Label used by the 'default' service. For versioned deployments we match with app and version. | |
# This avoids default deployment picking the canary | |
istio: pilot | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: metadata-exchange-1.4 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: ANY # inbound, outbound, and gateway | |
proxy: | |
proxyVersion: '^1\.4.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
config: | |
config: | |
configuration: envoy.wasm.metadata_exchange | |
vm_config: | |
runtime: envoy.wasm.runtime.null | |
code: | |
inline_string: envoy.wasm.metadata_exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: stats-filter-1.4 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '^1\.4.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
config: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '^1\.4.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
config: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '^1\.4.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
config: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
"disable_host_header_fallback": true, | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
inline_string: envoy.wasm.stats | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: metadata-exchange-1.5 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: ANY # inbound, outbound, and gateway | |
proxy: | |
proxyVersion: '^1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
configuration: envoy.wasm.metadata_exchange | |
vm_config: | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.metadata_exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: tcp-metadata-exchange-1.5 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '^1\.5.*' | |
listener: {} | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.metadata_exchange | |
config: | |
protocol: istio-peer-exchange | |
- applyTo: CLUSTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '^1\.5.*' | |
cluster: {} | |
patch: | |
operation: MERGE | |
value: | |
filters: | |
- name: envoy.filters.network.upstream.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange | |
value: | |
protocol: istio-peer-exchange | |
- applyTo: CLUSTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '^1\.5.*' | |
cluster: {} | |
patch: | |
operation: MERGE | |
value: | |
filters: | |
- name: envoy.filters.network.upstream.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange | |
value: | |
protocol: istio-peer-exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: stats-filter-1.5 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '^1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '^1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '^1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
"disable_host_header_fallback": true, | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: tcp-stats-filter-1.5 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '^1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.network.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: tcp_stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '^1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.network.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: tcp_stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
- applyTo: NETWORK_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '^1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.network.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: tcp_stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: metadata-exchange-1.6 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: ANY # inbound, outbound, and gateway | |
proxy: | |
proxyVersion: '^1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: istio.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm | |
value: | |
config: | |
configuration: | | |
{} | |
vm_config: | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.metadata_exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: tcp-metadata-exchange-1.6 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '^1\.6.*' | |
listener: {} | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: istio.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange | |
value: | |
protocol: istio-peer-exchange | |
- applyTo: CLUSTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '^1\.6.*' | |
cluster: {} | |
patch: | |
operation: MERGE | |
value: | |
filters: | |
- name: istio.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange | |
value: | |
protocol: istio-peer-exchange | |
- applyTo: CLUSTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '^1\.6.*' | |
cluster: {} | |
patch: | |
operation: MERGE | |
value: | |
filters: | |
- name: istio.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange | |
value: | |
protocol: istio-peer-exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: stats-filter-1.6 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '^1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: istio.stats | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio" | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '^1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: istio.stats | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm | |
value: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio" | |
} | |
vm_config: | |
vm_id: stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '^1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: istio.stats | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
"disable_host_header_fallback": true | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: tcp-stats-filter-1.6 | |
namespace: istio-system | |
labels: | |
istio.io/rev: default | |
spec: | |
configPatches: | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '^1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: istio.stats | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.extensions.filters.network.wasm.v3.Wasm | |
value: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio" | |
} | |
vm_config: | |
vm_id: tcp_stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '^1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: istio.stats | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.extensions.filters.network.wasm.v3.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio" | |
} | |
vm_config: | |
vm_id: tcp_stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
- applyTo: NETWORK_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '^1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: istio.stats | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.extensions.filters.network.wasm.v3.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio" | |
} | |
vm_config: | |
vm_id: tcp_stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
--- | |
# Policy component is disabled. | |
# Telemetry component is disabled. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment