apiVersion: v1
data:
  istio-mesh-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": "singlestat", "name":
    "Singlestat", "version": "5.0.0" }, { "type": "panel", "id": "table", "name":
    "Table", "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, "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", "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": "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)", "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":
    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", "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":
    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", "transparent":
    false, "type": "singlestat", "valueFontSize": "80%", "valueMaps": [ { "op": "=",
    "text": "N/A", "value": "null" } ], "valueName": "avg" }, { "columns": [], "datasource":
    "Prometheus", "fontSize": "100%", "gridPos": { "h": 21, "w": 24, "x": 0, "y":
    6 }, "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_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_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_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", "transparent": false, "type":
    "table" }, { "columns": [], "datasource": "Prometheus", "fontSize": "100%", "gridPos":
    { "h": 18, "w": 24, "x": 0, "y": 27 }, "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", "transparent": false, "type": "table" }, { "aliasColors":
    {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "Prometheus",
    "fill": 1, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 45 }, "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, "timeShift": null, "title": "Istio Components by Version",
    "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "transparent":
    false, "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": 16, "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", "version": 4 } '
kind: ConfigMap
metadata:
  labels:
    app: grafana
    chart: grafana
    heritage: Tiller
    istio: grafana
    release: istio
  name: istio-grafana-configuration-dashboards-istio-mesh-dashboard
  namespace: istio-system
