feat: add istio 1.23's grafana dashboards (#159)

This commit is contained in:
Ryan Yin
2024-08-20 12:21:05 +08:00
committed by GitHub
parent 3c6d78537b
commit e61ed83bf1
9 changed files with 12146 additions and 3 deletions

View File

@@ -2,19 +2,42 @@ apiVersion: 1
providers:
# <string> an unique provider name. Required
- name: "Dashboards"
- name: "Homelab"
# An organization is an entity that helps you isolate users and resources such as dashboards,
# annotations, and data sources from each other.
#
# <int> Org id. Default to 1
#
# If you want to customize this id, you need to create the organizations first.
orgId: 1
# <string> provider type. Default to 'file'
type: file
# <bool> disable dashboard deletion
disableDeletion: false
disableDeletion: true
# <int> how often Grafana will scan for changed dashboards
updateIntervalSeconds: 20
# <bool> allow updating provisioned dashboards from the UI
allowUiUpdates: false
options:
# <string, required> path to dashboard files on disk. Required when using the 'file' type
path: /etc/grafana/dashboards
path: /etc/grafana/dashboards/homelab/
# <bool> use folder names from filesystem to create folders in Grafana
foldersFromFilesStructure: true
- name: "Kubernetes"
orgId: 1
type: file
disableDeletion: true
updateIntervalSeconds: 20
allowUiUpdates: false
options:
path: /etc/grafana/dashboards/kubernetes/
foldersFromFilesStructure: true
- name: "Istio"
orgId: 1
type: file
disableDeletion: true
updateIntervalSeconds: 20
allowUiUpdates: false
options:
path: /etc/grafana/dashboards/istio/
foldersFromFilesStructure: true

View File

@@ -8,3 +8,7 @@
## Kubernetes
1. https://github.com/dotdc/grafana-dashboards-kubernetes/
## Istio
1. https://github.com/istio/istio/tree/1.23.0/manifests/addons/dashboards

View File

@@ -0,0 +1,871 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 3,
"panels": [],
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"refId": "A"
}
],
"title": "Wasm VMs",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"links": [],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 1
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "10.1.5",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_envoy_wasm_runtime_null_active)",
"interval": "",
"legendFormat": "native",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_envoy_wasm_runtime_v8_active)",
"interval": "",
"legendFormat": "v8",
"refId": "B"
}
],
"title": "Active",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"links": [],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 1
},
"id": 6,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "10.1.5",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_envoy_wasm_runtime_null_created)",
"interval": "",
"legendFormat": "native",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_envoy_wasm_runtime_v8_created)",
"interval": "",
"legendFormat": "v8",
"refId": "B"
}
],
"title": "Created",
"type": "timeseries"
},
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 9
},
"id": 7,
"panels": [],
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"refId": "A"
}
],
"title": "Wasm Module Remote Load",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"links": [],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 10
},
"id": 11,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "10.1.5",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_remote_load_cache_entries)",
"interval": "",
"legendFormat": "entries",
"refId": "A"
}
],
"title": "Cache Entry",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"links": [],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 10
},
"id": 8,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "10.1.5",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_remote_load_cache_hits)",
"interval": "",
"legendFormat": "hits",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_remote_load_cache_misses)",
"interval": "",
"legendFormat": "misses",
"refId": "B"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_remote_load_cache_negative_hits)",
"interval": "",
"legendFormat": "negative hits",
"refId": "C"
}
],
"title": "Cache Visit",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"links": [],
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 16,
"y": 10
},
"id": 10,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "10.1.5",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_remote_load_fetch_failures)",
"interval": "",
"legendFormat": "failures",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "avg(envoy_wasm_remote_load_fetch_successes)",
"interval": "",
"legendFormat": "successes",
"refId": "B"
}
],
"title": "Remote Fetch",
"type": "timeseries"
},
{
"collapsed": false,
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 18
},
"id": 71,
"panels": [],
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"refId": "A"
}
],
"title": "Proxy Resource Usage",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "bytes"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 19
},
"id": 72,
"links": [],
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "10.1.5",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"expr": "sum(container_memory_working_set_bytes{container=\"istio-proxy\"})",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "Total (k8s)",
"refId": "A",
"step": 2
}
],
"title": "Memory",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 19
},
"id": 73,
"links": [],
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"pluginVersion": "10.1.5",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"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
}
],
"title": "vCPU",
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 38,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"current": {
"selected": false,
"text": "default",
"value": "default"
},
"hide": 0,
"includeAll": false,
"multi": false,
"name": "datasource",
"options": [],
"query": "prometheus",
"queryValue": "",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"type": "datasource"
}
]
},
"time": {
"from": "now-5m",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "Istio Wasm Extension Dashboard",
"version": 1,
"weekStart": ""
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,861 @@
{
"graphTooltip": 1,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"panels": [ ],
"title": "Deployed Versions",
"type": "row"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Version number of each running instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 5,
"w": 24,
"x": 0,
"y": 1
},
"id": 2,
"interval": "5s",
"options": {
"legend": {
"calcs": [ ],
"displayMode": "list"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(istio_build{component=\"pilot\"}) by (tag)",
"legendFormat": "Version ({{tag}})"
}
],
"title": "Pilot Versions",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 1
},
"id": 3,
"panels": [ ],
"title": "Resource Usage",
"type": "row"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Memory usage of each running instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
},
"unit": "bytes"
}
},
"gridPos": {
"h": 10,
"w": 6,
"x": 0,
"y": 2
},
"id": 4,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n container_memory_working_set_bytes{container=\"discovery\", pod=~\"istiod-.*\"}\n)",
"legendFormat": "Container ({{pod}})"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n go_memstats_stack_inuse_bytes{app=\"istiod\"}\n)",
"legendFormat": "Stack ({{pod}})"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n go_memstats_heap_inuse_bytes{app=\"istiod\"}\n)",
"legendFormat": "Heap (In Use) ({{pod}})"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n go_memstats_heap_alloc_bytes{app=\"istiod\"}\n)",
"legendFormat": "Heap (Allocated) ({{pod}})"
}
],
"title": "Memory Usage",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Details about memory allocations",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
},
"unit": "Bps"
},
"overrides": [
{
"matcher": {
"id": "byFrameRefID",
"options": "B"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "right"
},
{
"id": "unit",
"value": "c/s"
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 6,
"x": 6,
"y": 2
},
"id": 5,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n rate(\n go_memstats_alloc_bytes_total{app=\"istiod\"}\n [$__rate_interval])\n)",
"legendFormat": "Bytes ({{pod}})"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n rate(\n go_memstats_mallocs_total{app=\"istiod\"}\n [$__rate_interval])\n)",
"legendFormat": "Objects ({{pod}})"
}
],
"title": "Memory Allocations",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "CPU usage of each running instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 10,
"w": 6,
"x": 12,
"y": 2
},
"id": 6,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n irate(\n container_cpu_usage_seconds_total{container=\"discovery\", pod=~\"istiod-.*\"}\n [$__rate_interval])\n)",
"legendFormat": "Container ({{pod}})"
}
],
"title": "CPU Usage",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Goroutine count for each running instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 10,
"w": 6,
"x": 18,
"y": 2
},
"id": 7,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n go_goroutines{app=\"istiod\"}\n)",
"legendFormat": "Goroutines ({{pod}})"
}
],
"title": "Goroutines",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 3
},
"id": 8,
"panels": [ ],
"title": "Push Information",
"type": "row"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"fieldConfig": {
"defaults": {
"custom": {
"drawStyle": "bars",
"fillOpacity": 100,
"gradientMode": "none",
"showPoints": "never",
"stacking": {
"mode": "normal"
}
},
"unit": "ops"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "cds"
},
"properties": [
{
"id": "displayName",
"value": "Clusters"
}
]
},
{
"matcher": {
"id": "byName",
"options": "eds"
},
"properties": [
{
"id": "displayName",
"value": "Endpoints"
}
]
},
{
"matcher": {
"id": "byName",
"options": "lds"
},
"properties": [
{
"id": "displayName",
"value": "Listeners"
}
]
},
{
"matcher": {
"id": "byName",
"options": "rds"
},
"properties": [
{
"id": "displayName",
"value": "Routes"
}
]
},
{
"matcher": {
"id": "byName",
"options": "istio.io/debug"
},
"properties": [
{
"id": "displayName",
"value": "Debug"
}
]
},
{
"matcher": {
"id": "byName",
"options": "wads"
},
"properties": [
{
"id": "displayName",
"value": "Authorization"
}
]
},
{
"matcher": {
"id": "byName",
"options": "wds"
},
"properties": [
{
"id": "displayName",
"value": "Workloads"
}
]
}
]
},
"gridPos": {
"h": 10,
"w": 8,
"x": 0,
"y": 4
},
"id": 9,
"interval": "15s",
"options": {
"legend": {
"calcs": [ ],
"displayMode": "list"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (type) (\n irate(\n pilot_xds_pushes{}\n [$__rate_interval])\n)",
"legendFormat": "{{type}}"
}
],
"title": "XDS Pushes",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Size of each xDS push.\n",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 10,
"w": 8,
"x": 8,
"y": 4
},
"id": 10,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (type, event) (\n rate(\n pilot_k8s_reg_events{}\n [$__rate_interval])\n)",
"legendFormat": "{{event}} {{type}}"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (type, event) (\n rate(\n pilot_k8s_cfg_events{}\n [$__rate_interval])\n)",
"legendFormat": "{{event}} {{type}}"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (type) (\n rate(\n pilot_push_triggers{}\n [$__rate_interval])\n)",
"legendFormat": "Push {{type}}"
}
],
"title": "Events",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Total number of XDS connections\n",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 10,
"w": 8,
"x": 16,
"y": 4
},
"id": 11,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})",
"legendFormat": "Connections (client reported)"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(pilot_xds{})",
"legendFormat": "Connections (server reported)"
}
],
"title": "Connections",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Number of push errors. Many of these are at least potentional fatal and should be explored in-depth via Istiod logs.\nNote: metrics here do not use rate() to avoid missing transition from \"No series\"; series are not reported if there are no errors at all.\n",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 10,
"w": 8,
"x": 0,
"y": 14
},
"id": 12,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (type) (\n pilot_total_xds_rejects{}\n)",
"legendFormat": "Rejected Config ({{type}})"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "pilot_total_xds_internal_errors{}",
"legendFormat": "Internal Errors"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "pilot_xds_push_context_errors{}",
"legendFormat": "Push Context Errors"
}
],
"title": "Push Errors",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Count of active and pending proxies managed by each instance.\nPending is expected to converge to zero.\n",
"gridPos": {
"h": 10,
"w": 8,
"x": 8,
"y": 14
},
"id": 13,
"interval": "1m",
"options": {
"calculation": {
"xBuckets": {
"mode": "size",
"value": "1min"
}
},
"cellGap": 0,
"color": {
"mode": "scheme",
"scheme": "Spectral",
"steps": 128
},
"yAxis": {
"decimals": 0,
"unit": "s"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(rate(pilot_xds_push_time_bucket{}[1m])) by (le)",
"format": "heatmap",
"legendFormat": "{{le}}"
}
],
"title": "Push Time",
"type": "heatmap"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Size of each xDS push.\n",
"gridPos": {
"h": 10,
"w": 8,
"x": 16,
"y": 14
},
"id": 14,
"interval": "1m",
"options": {
"calculation": {
"xBuckets": {
"mode": "size",
"value": "1min"
}
},
"cellGap": 0,
"color": {
"mode": "scheme",
"scheme": "Spectral",
"steps": 128
},
"yAxis": {
"decimals": 0,
"unit": "bytes"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(rate(pilot_xds_config_size_bytes_bucket{}[1m])) by (le)",
"format": "heatmap",
"legendFormat": "{{le}}"
}
],
"title": "Push Size",
"type": "heatmap"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 100
},
"id": 15,
"panels": [ ],
"title": "Webhooks",
"type": "row"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Rate of XDS push operations, by type. This is incremented on a per-proxy basis.\n",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 101
},
"id": 16,
"interval": "5s",
"options": {
"legend": {
"calcs": [ ],
"displayMode": "list"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(\n rate(\n galley_validation_passed{}\n [$__rate_interval])\n)",
"legendFormat": "Success"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(\n rate(\n galley_validation_passed{}\n [$__rate_interval])\n)",
"legendFormat": "Failure"
}
],
"title": "Validation",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Size of each xDS push.\n",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 101
},
"id": 17,
"interval": "5s",
"options": {
"legend": {
"calcs": [ ],
"displayMode": "list"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(\n rate(\n sidecar_injection_success_total{}\n [$__rate_interval])\n)",
"legendFormat": "Success"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(\n rate(\n sidecar_injection_failure_total{}\n [$__rate_interval])\n)",
"legendFormat": "Failure"
}
],
"title": "Injection",
"type": "timeseries"
}
],
"refresh": "15s",
"schemaVersion": 39,
"templating": {
"list": [
{
"name": "datasource",
"query": "prometheus",
"type": "datasource"
}
]
},
"time": {
"from": "now-30m",
"to": "now"
},
"timezone": "utc",
"title": "Istio Control Plane Dashboard",
"uid": "1813f692a8e4ac77155348d4c7d2fba8"
}

View File

@@ -0,0 +1,458 @@
{
"graphTooltip": 1,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"panels": [ ],
"title": "Process",
"type": "row"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Version number of each running instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 1
},
"id": 2,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum(istio_build{component=\"ztunnel\"}) by (tag)",
"legendFormat": "Version ({{tag}})"
}
],
"title": "Ztunnel Versions",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Memory usage of each running instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
},
"unit": "bytes"
}
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 1
},
"id": 3,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n container_memory_working_set_bytes{container=\"istio-proxy\", pod=~\"ztunnel-.*\"}\n)",
"legendFormat": "Container ({{pod}})"
}
],
"title": "Memory Usage",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "CPU usage of each running instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 8,
"w": 8,
"x": 16,
"y": 1
},
"id": 4,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n irate(\n container_cpu_usage_seconds_total{container=\"istio-proxy\", pod=~\"ztunnel-.*\"}\n [$__rate_interval])\n)",
"legendFormat": "Container ({{pod}})"
}
],
"title": "CPU Usage",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 9
},
"id": 5,
"panels": [ ],
"title": "Network",
"type": "row"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Connections opened and closed per instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
},
"unit": "cps"
}
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 10
},
"id": 6,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n rate(\n istio_tcp_connections_opened_total{pod=~\"ztunnel-.*\"}\n [$__rate_interval])\n)",
"legendFormat": "Opened ({{pod}})"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "-sum by (pod) (\n rate(\n istio_tcp_connections_closed_total{pod=~\"ztunnel-.*\"}\n [$__rate_interval])\n)",
"legendFormat": "Closed ({{pod}})"
}
],
"title": "Connections",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Bytes sent and received per instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
},
"unit": "Bps"
}
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 10
},
"id": 7,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n rate(\n istio_tcp_sent_bytes_total{pod=~\"ztunnel-.*\"}\n [$__rate_interval])\n)",
"legendFormat": "Sent ({{pod}})"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n rate(\n istio_tcp_received_bytes_total{pod=~\"ztunnel-.*\"}\n [$__rate_interval])\n)",
"legendFormat": "Received ({{pod}})"
}
],
"title": "Bytes Transmitted",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "DNS queries received per instance",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
},
"unit": "qps"
}
},
"gridPos": {
"h": 8,
"w": 8,
"x": 16,
"y": 10
},
"id": 8,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n rate(\n istio_dns_requests_total{pod=~\"ztunnel-.*\"}\n [$__rate_interval])\n)",
"legendFormat": "Request ({{pod}})"
}
],
"title": "DNS Request",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 18
},
"id": 9,
"panels": [ ],
"title": "Operations",
"type": "row"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Count of XDS connection terminations.\nThis will typically spike every 30min for each instance.\n",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 19
},
"id": 10,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (\n rate(\n istio_xds_connection_terminations_total{pod=~\"ztunnel-.*\"}\n [$__rate_interval])\n)",
"legendFormat": "XDS Connection Terminations ({{pod}})"
}
],
"title": "XDS",
"type": "timeseries"
},
{
"datasource": {
"type": "datasource",
"uid": "-- Mixed --"
},
"description": "Count of active and pending proxies managed by each instance.\nPending is expected to converge to zero.\n",
"fieldConfig": {
"defaults": {
"custom": {
"fillOpacity": 10,
"gradientMode": "hue",
"showPoints": "never"
}
}
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 19
},
"id": 11,
"interval": "5s",
"options": {
"legend": {
"calcs": [
"last",
"max"
],
"displayMode": "table"
}
},
"pluginVersion": "v11.0.0",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (workload_manager_active_proxy_count{pod=~\"ztunnel-.*\"})",
"legendFormat": "Active Proxies ({{pod}})"
},
{
"datasource": {
"type": "prometheus",
"uid": "$datasource"
},
"expr": "sum by (pod) (workload_manager_pending_proxy_count{pod=~\"ztunnel-.*\"})",
"legendFormat": "Pending Proxies ({{pod}})"
}
],
"title": "Workload Manager",
"type": "timeseries"
}
],
"refresh": "15s",
"schemaVersion": 39,
"templating": {
"list": [
{
"name": "datasource",
"query": "prometheus",
"type": "datasource"
}
]
},
"time": {
"from": "now-30m",
"to": "now"
},
"timezone": "utc",
"title": "Istio Ztunnel Dashboard",
"uid": "12c58766acc81a1c835dd5059eaf2741"
}