Commit 5cf57655 by loganhz Committed by Alena Prokharchyk

Upgrade to Istio v1.3.0

parent 235dfbdd
apiVersion: v1 apiVersion: v1
name: rancher-istio name: rancher-istio
version: 0.0.2 version: 0.0.2
appVersion: 1.2.5 appVersion: 1.3.0
tillerVersion: ">=2.7.2-0" tillerVersion: ">=2.7.2-0"
description: Helm chart for all istio components description: Helm chart for all istio components
home: https://istio.io/ home: https://istio.io/
......
...@@ -8,7 +8,7 @@ The documentation here is for developers only, please follow the installation in ...@@ -8,7 +8,7 @@ The documentation here is for developers only, please follow the installation in
## Introduction ## Introduction
This chart bootstraps all Istio [components](https://istio.io/docs/concepts/what-is-istio/overview.html) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. This chart bootstraps all Istio [components](https://istio.io/docs/concepts/what-is-istio/) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Chart Details ## Chart Details
...@@ -136,5 +136,5 @@ To uninstall/delete the `istio` release but continue to track the release: ...@@ -136,5 +136,5 @@ To uninstall/delete the `istio` release but continue to track the release:
To uninstall/delete the `istio` release completely and make its name free for later use: To uninstall/delete the `istio` release completely and make its name free for later use:
``` ```
$ helm delete istio --purge $ helm delete --purge istio
``` ```
...@@ -18,7 +18,7 @@ tolerations: [] ...@@ -18,7 +18,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard” vs. "soft” requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -29,6 +29,6 @@ tolerations: [] ...@@ -29,6 +29,6 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security” and value "S1”.
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
...@@ -28,7 +28,7 @@ rules: ...@@ -28,7 +28,7 @@ rules:
resourceNames: ["istio-galley"] resourceNames: ["istio-galley"]
verbs: ["get"] verbs: ["get"]
- apiGroups: [""] - apiGroups: [""]
resources: ["pods", "nodes", "services", "endpoints"] resources: ["pods", "nodes", "services", "endpoints", "namespaces"]
verbs: ["get", "list", "watch"] verbs: ["get", "list", "watch"]
- apiGroups: ["extensions", "networking.k8s.io"] - apiGroups: ["extensions", "networking.k8s.io"]
resources: ["ingresses"] resources: ["ingresses"]
...@@ -37,3 +37,6 @@ rules: ...@@ -37,3 +37,6 @@ rules:
resources: ["deployments/finalizers"] resources: ["deployments/finalizers"]
resourceNames: ["istio-galley"] resourceNames: ["istio-galley"]
verbs: ["update"] verbs: ["update"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
...@@ -10,5 +10,7 @@ metadata: ...@@ -10,5 +10,7 @@ metadata:
release: {{ .Release.Name }} release: {{ .Release.Name }}
istio: galley istio: galley
data: data:
{{- if .Values.global.configValidation }}
validatingwebhookconfiguration.yaml: |- validatingwebhookconfiguration.yaml: |-
{{- include "validatingwebhookconfiguration.yaml.tpl" . | indent 4}} {{- include "validatingwebhookconfiguration.yaml.tpl" . | indent 4}}
{{- end}}
...@@ -16,8 +16,8 @@ spec: ...@@ -16,8 +16,8 @@ spec:
istio: galley istio: galley
strategy: strategy:
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: {{ .Values.rollingMaxSurge }}
maxUnavailable: 0 maxUnavailable: {{ .Values.rollingMaxUnavailable }}
template: template:
metadata: metadata:
labels: labels:
...@@ -58,6 +58,9 @@ spec: ...@@ -58,6 +58,9 @@ spec:
{{- if not $.Values.global.useMCP }} {{- if not $.Values.global.useMCP }}
- --enable-server=false - --enable-server=false
{{- end }} {{- end }}
{{- if not $.Values.global.configValidation }}
- --enable-validation=false
{{- end }}
- --validation-webhook-config-file - --validation-webhook-config-file
- /etc/config/validatingwebhookconfiguration.yaml - /etc/config/validatingwebhookconfiguration.yaml
- --monitoringPort={{ .Values.global.monitoringPort }} - --monitoringPort={{ .Values.global.monitoringPort }}
......
...@@ -10,7 +10,6 @@ metadata: ...@@ -10,7 +10,6 @@ metadata:
release: {{ .Release.Name }} release: {{ .Release.Name }}
istio: galley istio: galley
webhooks: webhooks:
{{- if .Values.global.configValidation }}
- name: pilot.validation.istio.io - name: pilot.validation.istio.io
clientConfig: clientConfig:
service: service:
...@@ -117,4 +116,3 @@ webhooks: ...@@ -117,4 +116,3 @@ webhooks:
failurePolicy: Fail failurePolicy: Fail
sideEffects: None sideEffects: None
{{- end }} {{- end }}
{{- end }}
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
# #
enabled: true enabled: true
replicaCount: 1 replicaCount: 1
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
nodeSelector: {} nodeSelector: {}
tolerations: [] tolerations: []
...@@ -12,7 +14,7 @@ tolerations: [] ...@@ -12,7 +14,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard” vs. "soft” requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -23,6 +25,6 @@ tolerations: [] ...@@ -23,6 +25,6 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security” and value "S1”.
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
values: values:
{{- range $key, $val := .root.Values.global.arch }} {{- range $key, $val := .root.Values.global.arch }}
{{- if gt ($val | int) 0 }} {{- if gt ($val | int) 0 }}
- {{ $key }} - {{ $key | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- $nodeSelector := default .root.Values.global.defaultNodeSelector .nodeSelector -}} {{- $nodeSelector := default .root.Values.global.defaultNodeSelector .nodeSelector -}}
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
- key: {{ $key }} - key: {{ $key }}
operator: In operator: In
values: values:
- {{ $val }} - {{ $val | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
- key: beta.kubernetes.io/arch - key: beta.kubernetes.io/arch
operator: In operator: In
values: values:
- {{ $key }} - {{ $key | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
values: values:
{{- $vals := split "," $item.values }} {{- $vals := split "," $item.values }}
{{- range $i, $v := $vals }} {{- range $i, $v := $vals }}
- {{ $v }} - {{ $v | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
topologyKey: {{ $item.topologyKey }} topologyKey: {{ $item.topologyKey }}
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
values: values:
{{- $vals := split "," $item.values }} {{- $vals := split "," $item.values }}
{{- range $i, $v := $vals }} {{- range $i, $v := $vals }}
- {{ $v }} - {{ $v | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
topologyKey: {{ $item.topologyKey }} topologyKey: {{ $item.topologyKey }}
......
...@@ -27,6 +27,10 @@ spec: ...@@ -27,6 +27,10 @@ spec:
{{- range $key, $val := $spec.labels }} {{- range $key, $val := $spec.labels }}
{{ $key }}: {{ $val }} {{ $key }}: {{ $val }}
{{- end }} {{- end }}
strategy:
rollingUpdate:
maxSurge: {{ $spec.rollingMaxSurge }}
maxUnavailable: {{ $spec.rollingMaxUnavailable }}
template: template:
metadata: metadata:
labels: labels:
...@@ -134,6 +138,12 @@ spec: ...@@ -134,6 +138,12 @@ spec:
- --envoyMetricsServiceAddress - --envoyMetricsServiceAddress
- {{ $.Values.global.proxy.envoyMetricsService.host }}:{{ $.Values.global.proxy.envoyMetricsService.port }} - {{ $.Values.global.proxy.envoyMetricsService.host }}:{{ $.Values.global.proxy.envoyMetricsService.port }}
{{- end }} {{- end }}
{{- if $.Values.global.proxy.envoyAccessLogService.enabled }}
- --envoyAccessLogService
{{- with $.Values.global.proxy.envoyAccessLogService }}
- '{"address":"{{ .host }}:{{.port }}"{{ if .tlsSettings }},"tlsSettings":{{ .tlsSettings | toJson }}{{- end }}{{ if .tcpKeepalive }},"tcpKeepalive":{{ .tcpKeepalive | toJson }}{{- end }}}'
{{- end }}
{{- end }}
- --proxyAdminPort - --proxyAdminPort
- "15000" - "15000"
- --statusPort - --statusPort
...@@ -206,6 +216,10 @@ spec: ...@@ -206,6 +216,10 @@ spec:
fieldRef: fieldRef:
apiVersion: v1 apiVersion: v1
fieldPath: status.hostIP fieldPath: status.hostIP
- name: SERVICE_ACCOUNT
valueFrom:
fieldRef:
fieldPath: spec.serviceAccountName
- name: ISTIO_META_POD_NAME - name: ISTIO_META_POD_NAME
valueFrom: valueFrom:
fieldRef: fieldRef:
...@@ -215,6 +229,12 @@ spec: ...@@ -215,6 +229,12 @@ spec:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: SDS_ENABLED
value: "{{ $.Values.global.sds.enabled }}"
- name: ISTIO_META_WORKLOAD_NAME
value: {{ $key }}
- name: ISTIO_META_OWNER
value: kubernetes://api/apps/v1/namespaces/{{ $spec.namespace | default $.Release.Namespace }}/deployments/{{ $key }}
{{- if $spec.sds }} {{- if $spec.sds }}
{{- if $spec.sds.enabled }} {{- if $spec.sds.enabled }}
- name: ISTIO_META_USER_SDS - name: ISTIO_META_USER_SDS
...@@ -232,11 +252,9 @@ spec: ...@@ -232,11 +252,9 @@ spec:
- name: sdsudspath - name: sdsudspath
mountPath: /var/run/sds mountPath: /var/run/sds
readOnly: true readOnly: true
{{- if $.Values.global.sds.useTrustworthyJwt }}
- name: istio-token - name: istio-token
mountPath: /var/run/secrets/tokens mountPath: /var/run/secrets/tokens
{{- end }} {{- end }}
{{- end }}
{{- if $spec.sds }} {{- if $spec.sds }}
{{- if $spec.sds.enabled }} {{- if $spec.sds.enabled }}
- name: ingressgatewaysdsudspath - name: ingressgatewaysdsudspath
...@@ -265,15 +283,13 @@ spec: ...@@ -265,15 +283,13 @@ spec:
- name: sdsudspath - name: sdsudspath
hostPath: hostPath:
path: /var/run/sds path: /var/run/sds
{{- if $.Values.global.sds.useTrustworthyJwt }}
- name: istio-token - name: istio-token
projected: projected:
sources: sources:
- serviceAccountToken: - serviceAccountToken:
path: istio-token path: istio-token
expirationSeconds: 43200 expirationSeconds: 43200
audience: {{ $.Values.global.trustDomain }} audience: {{ $.Values.global.sds.token.aud }}
{{- end }}
{{- end }} {{- end }}
- name: istio-certs - name: istio-certs
secret: secret:
......
...@@ -33,6 +33,8 @@ istio-ingressgateway: ...@@ -33,6 +33,8 @@ istio-ingressgateway:
autoscaleMax: 5 autoscaleMax: 5
# specify replicaCount when autoscaleEnabled: false # specify replicaCount when autoscaleEnabled: false
# replicaCount: 1 # replicaCount: 1
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
resources: resources:
requests: requests:
cpu: 100m cpu: 100m
...@@ -135,7 +137,7 @@ istio-ingressgateway: ...@@ -135,7 +137,7 @@ istio-ingressgateway:
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard" vs. "soft" requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -146,7 +148,7 @@ istio-ingressgateway: ...@@ -146,7 +148,7 @@ istio-ingressgateway:
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security" and value "S1".
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
...@@ -160,13 +162,15 @@ istio-egressgateway: ...@@ -160,13 +162,15 @@ istio-egressgateway:
autoscaleMax: 5 autoscaleMax: 5
# specify replicaCount when autoscaleEnabled: false # specify replicaCount when autoscaleEnabled: false
# replicaCount: 1 # replicaCount: 1
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
resources: resources:
requests: requests:
cpu: 100m cpu: 100m
memory: 128Mi memory: 128Mi
limits: limits:
cpu: 2000m cpu: 2000m
memory: 256Mi memory: 1024Mi
cpu: cpu:
targetAverageUtilization: 80 targetAverageUtilization: 80
serviceAnnotations: {} serviceAnnotations: {}
...@@ -211,7 +215,7 @@ istio-egressgateway: ...@@ -211,7 +215,7 @@ istio-egressgateway:
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard" vs. "soft" requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -222,7 +226,7 @@ istio-egressgateway: ...@@ -222,7 +226,7 @@ istio-egressgateway:
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security" and value "S1".
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
...@@ -239,6 +243,8 @@ istio-ilbgateway: ...@@ -239,6 +243,8 @@ istio-ilbgateway:
autoscaleMax: 5 autoscaleMax: 5
# specify replicaCount when autoscaleEnabled: false # specify replicaCount when autoscaleEnabled: false
# replicaCount: 1 # replicaCount: 1
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
cpu: cpu:
targetAverageUtilization: 80 targetAverageUtilization: 80
resources: resources:
......
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "",
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"links": [],
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 8,
"panels": [],
"title": "Performance",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "CPU usage across Citadel instances.",
"fill": 1,
"gridPos": {
"h": 6,
"w": 8,
"x": 0,
"y": 1
},
"id": 10,
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"citadel\", pod_name=~\"istio-citadel-.*\"}[1m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Citadel CPU usage rate",
"refId": "A"
},
{
"expr": "irate(process_cpu_seconds_total{job=\"citadel\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Citadel CPU usage irate",
"refId": "C"
}
],
"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": "",
"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,
"description": "Citadel process memory statistics.",
"fill": 1,
"gridPos": {
"h": 6,
"w": 8,
"x": 8,
"y": 1
},
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "process_virtual_memory_bytes{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Virtual Memory",
"refId": "A"
},
{
"expr": "process_resident_memory_bytes{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Resident Memory",
"refId": "B"
},
{
"expr": "go_memstats_heap_sys_bytes{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Heap Memory Total",
"refId": "C"
},
{
"expr": "go_memstats_alloc_bytes{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Heap Memory Allocated",
"refId": "E"
},
{
"expr": "go_memstats_heap_inuse_bytes{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Heap Inuse",
"refId": "F"
}
],
"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": "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,
"fill": 1,
"gridPos": {
"h": 6,
"w": 8,
"x": 16,
"y": 1
},
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "go_goroutines{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Goroutines",
"refId": "A"
}
],
"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": 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": 7
},
"id": 28,
"panels": [],
"title": "General",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "Total number of CSR requests made to Citadel.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 12,
"x": 0,
"y": 8
},
"id": 30,
"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": "citadel_server_csr_count{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "CSR Request Count",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "CSR Requests",
"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,
"description": "The number of certificates issuances that have succeeded.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 12,
"x": 12,
"y": 8
},
"id": 32,
"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": "citadel_server_success_cert_issuance_count{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Certificates Issued",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Certificates Issued",
"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": 13
},
"id": 23,
"panels": [],
"title": "Errors",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "The number of errors occurred when creating the CSR.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 0,
"y": 14
},
"id": 20,
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "citadel_secret_controller_csr_err_count{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "CSR Creation Error Count",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "CSR Creation 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": "",
"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,
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 8,
"y": 14
},
"id": 24,
"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": "citadel_server_csr_parsing_err_count{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "CSR Parse Error Count",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "CSR Parse 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,
"description": "The number of authentication failures.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 16,
"y": 14
},
"id": 26,
"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": "citadel_server_authentication_failure_count{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Authentication Failure Count",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Authentication Failures",
"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": 19
},
"id": 4,
"panels": [],
"title": "Secret Controller",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "The number of certificates created due to service account creation.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 0,
"y": 20
},
"id": 2,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "citadel_secret_controller_svc_acc_created_cert_count{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "SA Secrets Created",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Account Secrets Created (due to SA creation)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": null,
"format": "short",
"label": "Certs Created",
"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,
"description": "The number of certificates deleted due to service account deletion.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 8,
"y": 20
},
"id": 16,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "citadel_secret_controller_svc_acc_deleted_cert_count{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "SA Secrets Deleted",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Account Secrets Deleted (due to SA deletion)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": null,
"format": "short",
"label": "Certs Created",
"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,
"description": "The number of certificates recreated due to secret deletion (service account still exists).",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 16,
"y": 20
},
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "citadel_secret_controller_secret_deleted_cert_count{job=\"citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "SA Secrets Recreated",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Account Secrets Recreated (due to errant deletion)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": null,
"format": "short",
"label": "Certs Created",
"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": "",
"title": "Istio Citadel Dashboard",
"uid": "OOyOqb4Wz",
"version": 1
}
\ No newline at end of file
...@@ -211,7 +211,7 @@ ...@@ -211,7 +211,7 @@
"refId": "H" "refId": "H"
}, },
{ {
"expr": "sum(container_memory_usage_bytes{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"})", "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Total (kis)", "legendFormat": "Total (kis)",
...@@ -402,7 +402,7 @@ ...@@ -402,7 +402,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "container_fs_usage_bytes{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}", "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ container_name }} ", "legendFormat": "{{ container_name }} ",
...@@ -494,14 +494,14 @@ ...@@ -494,14 +494,14 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "galley_mcp_source_clients_total", "expr": "istio_mcp_clients_total{component=\"galley\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "clients_total", "legendFormat": "clients_total",
"refId": "B" "refId": "B"
}, },
{ {
"expr": "go_goroutines{job=\"galley\"}/galley_mcp_source_clients_total", "expr": "go_goroutines{job=\"galley\"}/sum(istio_mcp_clients_total{component=\"galley\"}) without (component)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "avg_goroutines_per_client", "legendFormat": "avg_goroutines_per_client",
...@@ -1558,7 +1558,7 @@ ...@@ -1558,7 +1558,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(galley_mcp_source_clients_total)", "expr": "sum(istio_mcp_clients_total{component=\"galley\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Clients", "legendFormat": "Clients",
...@@ -1643,7 +1643,7 @@ ...@@ -1643,7 +1643,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum by(collection)(irate(galley_mcp_source_request_acks_total[1m]) * 60)", "expr": "sum by(collection)(irate(istio_mcp_request_acks_total{component=\"galley\"}[1m]) * 60)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "", "legendFormat": "",
...@@ -1728,7 +1728,7 @@ ...@@ -1728,7 +1728,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "rate(galley_mcp_source_request_nacks_total[1m]) * 60", "expr": "rate(istio_mcp_request_nacks_total{component=\"galley\"}[1m]) * 60",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"refId": "A" "refId": "A"
......
{ {
"__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": { "annotations": {
"list": [ "list": [
{ {
...@@ -154,7 +106,6 @@ ...@@ -154,7 +106,6 @@
], ],
"thresholds": "", "thresholds": "",
"title": "Global Request Volume", "title": "Global Request Volume",
"transparent": false,
"type": "singlestat", "type": "singlestat",
"valueFontSize": "80%", "valueFontSize": "80%",
"valueMaps": [ "valueMaps": [
...@@ -236,7 +187,6 @@ ...@@ -236,7 +187,6 @@
], ],
"thresholds": "95, 99, 99.5", "thresholds": "95, 99, 99.5",
"title": "Global Success Rate (non-5xx responses)", "title": "Global Success Rate (non-5xx responses)",
"transparent": false,
"type": "singlestat", "type": "singlestat",
"valueFontSize": "80%", "valueFontSize": "80%",
"valueMaps": [ "valueMaps": [
...@@ -318,7 +268,6 @@ ...@@ -318,7 +268,6 @@
], ],
"thresholds": "", "thresholds": "",
"title": "4xxs", "title": "4xxs",
"transparent": false,
"type": "singlestat", "type": "singlestat",
"valueFontSize": "80%", "valueFontSize": "80%",
"valueMaps": [ "valueMaps": [
...@@ -400,7 +349,6 @@ ...@@ -400,7 +349,6 @@
], ],
"thresholds": "", "thresholds": "",
"title": "5xxs", "title": "5xxs",
"transparent": false,
"type": "singlestat", "type": "singlestat",
"valueFontSize": "80%", "valueFontSize": "80%",
"valueMaps": [ "valueMaps": [
...@@ -413,6 +361,331 @@ ...@@ -413,6 +361,331 @@
"valueName": "avg" "valueName": "avg"
}, },
{ {
"cacheTimeout": null,
"colorBackground": false,
"colorValue": false,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"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": "sum(galley_istio_networking_virtualservices) / count(up{job=\"galley\"})",
"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"
],
"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": "sum(galley_istio_networking_destinationrules) / count(up{job=\"galley\"})",
"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"
],
"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": "sum(galley_istio_networking_gateways) / count(up{job=\"galley\"})",
"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"
],
"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": "sum(galley_istio_authentication_meshpolicies) / count(up{job=\"galley\"})",
"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": [], "columns": [],
"datasource": "Prometheus", "datasource": "Prometheus",
"fontSize": "100%", "fontSize": "100%",
...@@ -420,7 +693,7 @@ ...@@ -420,7 +693,7 @@
"h": 21, "h": 21,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 6 "y": 9
}, },
"hideTimeOverride": false, "hideTimeOverride": false,
"id": 73, "id": 73,
...@@ -612,7 +885,7 @@ ...@@ -612,7 +885,7 @@
"refId": "A" "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\")", "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", "format": "table",
"hide": false, "hide": false,
"instant": true, "instant": true,
...@@ -621,7 +894,7 @@ ...@@ -621,7 +894,7 @@
"refId": "B" "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\")", "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", "format": "table",
"hide": false, "hide": false,
"instant": true, "instant": true,
...@@ -630,7 +903,7 @@ ...@@ -630,7 +903,7 @@
"refId": "D" "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\")", "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", "format": "table",
"hide": false, "hide": false,
"instant": true, "instant": true,
...@@ -652,7 +925,6 @@ ...@@ -652,7 +925,6 @@
"timeFrom": null, "timeFrom": null,
"title": "HTTP/GRPC Workloads", "title": "HTTP/GRPC Workloads",
"transform": "table", "transform": "table",
"transparent": false,
"type": "table" "type": "table"
}, },
{ {
...@@ -663,7 +935,7 @@ ...@@ -663,7 +935,7 @@
"h": 18, "h": 18,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 27 "y": 30
}, },
"hideTimeOverride": false, "hideTimeOverride": false,
"id": 109, "id": 109,
...@@ -820,7 +1092,6 @@ ...@@ -820,7 +1092,6 @@
"timeFrom": null, "timeFrom": null,
"title": "TCP Workloads", "title": "TCP Workloads",
"transform": "table", "transform": "table",
"transparent": false,
"type": "table" "type": "table"
}, },
{ {
...@@ -834,7 +1105,7 @@ ...@@ -834,7 +1105,7 @@
"h": 9, "h": 9,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 45 "y": 48
}, },
"id": 111, "id": 111,
"legend": { "legend": {
...@@ -871,6 +1142,7 @@ ...@@ -871,6 +1142,7 @@
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Istio Components by Version", "title": "Istio Components by Version",
"tooltip": { "tooltip": {
...@@ -878,7 +1150,6 @@ ...@@ -878,7 +1150,6 @@
"sort": 0, "sort": 0,
"value_type": "individual" "value_type": "individual"
}, },
"transparent": false,
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null, "buckets": null,
...@@ -912,7 +1183,7 @@ ...@@ -912,7 +1183,7 @@
} }
], ],
"refresh": "5s", "refresh": "5s",
"schemaVersion": 16, "schemaVersion": 18,
"style": "dark", "style": "dark",
"tags": [], "tags": [],
"templating": { "templating": {
...@@ -949,5 +1220,6 @@ ...@@ -949,5 +1220,6 @@
}, },
"timezone": "browser", "timezone": "browser",
"title": "Istio Mesh Dashboard", "title": "Istio Mesh Dashboard",
"version": 4 "uid": "G8wLrJIZk",
"version": 5
} }
...@@ -323,28 +323,28 @@ ...@@ -323,28 +323,28 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "(sum(container_memory_usage_bytes{pod_name=~\"istio-telemetry-.*\"}) / (sum(irate(istio_requests_total[1m])) / 1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", "expr": "(sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-telemetry-.*\"}) / (sum(irate(istio_requests_total[1m])) / 1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-telemetry / 1k rps", "legendFormat": "istio-telemetry / 1k rps",
"refId": "A" "refId": "A"
}, },
{ {
"expr": "sum(container_memory_usage_bytes{pod_name=~\"istio-ingressgateway-.*\"}) / count(container_memory_usage_bytes{pod_name=~\"istio-ingressgateway-.*\",container_name!=\"POD\"})", "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\"}) / count(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\",container_name!=\"POD\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "per istio-ingressgateway", "legendFormat": "per istio-ingressgateway",
"refId": "B" "refId": "B"
}, },
{ {
"expr": "sum(container_memory_usage_bytes{namespace!=\"istio-system\",container_name=\"istio-proxy\"}) / count(container_memory_usage_bytes{namespace!=\"istio-system\",container_name=\"istio-proxy\"})", "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"}) / count(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "per istio proxy", "legendFormat": "per istio proxy",
"refId": "C" "refId": "C"
}, },
{ {
"expr": "(sum(container_memory_usage_bytes{pod_name=~\"istio-policy-.*\"}) / (sum(irate(istio_requests_total[1m])) / 1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", "expr": "(sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-policy-.*\"}) / (sum(irate(istio_requests_total[1m])) / 1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-policy / 1k rps", "legendFormat": "istio-policy / 1k rps",
...@@ -644,7 +644,7 @@ ...@@ -644,7 +644,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(container_memory_usage_bytes{container_name=\"istio-proxy\"})", "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=\"istio-proxy\"})",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -818,7 +818,7 @@ ...@@ -818,7 +818,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(container_fs_usage_bytes{container_name=\"istio-proxy\"})", "expr": "sum(container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=\"istio-proxy\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ container_name }}", "legendFormat": "{{ container_name }}",
...@@ -976,7 +976,7 @@ ...@@ -976,7 +976,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "sum(container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"})", "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"})",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -985,7 +985,7 @@ ...@@ -985,7 +985,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}", "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -1187,7 +1187,7 @@ ...@@ -1187,7 +1187,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "container_fs_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}", "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ container_name }}", "legendFormat": "{{ container_name }}",
...@@ -1431,7 +1431,7 @@ ...@@ -1431,7 +1431,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "sum(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"})", "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"})",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -1440,7 +1440,7 @@ ...@@ -1440,7 +1440,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}", "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -1642,7 +1642,7 @@ ...@@ -1642,7 +1642,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "container_fs_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}", "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ container_name }}", "legendFormat": "{{ container_name }}",
......
...@@ -238,7 +238,7 @@ ...@@ -238,7 +238,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))", "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", "format": "time_series",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
"refId": "B" "refId": "B"
}, },
{ {
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -590,7 +590,7 @@ ...@@ -590,7 +590,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))", "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", "format": "time_series",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
...@@ -598,7 +598,7 @@ ...@@ -598,7 +598,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -606,7 +606,7 @@ ...@@ -606,7 +606,7 @@
"refId": "B" "refId": "B"
}, },
{ {
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -988,7 +988,7 @@ ...@@ -988,7 +988,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -997,7 +997,7 @@ ...@@ -997,7 +997,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1006,7 +1006,7 @@ ...@@ -1006,7 +1006,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1015,7 +1015,7 @@ ...@@ -1015,7 +1015,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1024,7 +1024,7 @@ ...@@ -1024,7 +1024,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1033,7 +1033,7 @@ ...@@ -1033,7 +1033,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1042,7 +1042,7 @@ ...@@ -1042,7 +1042,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1051,7 +1051,7 @@ ...@@ -1051,7 +1051,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1842,7 +1842,7 @@ ...@@ -1842,7 +1842,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1851,7 +1851,7 @@ ...@@ -1851,7 +1851,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1860,7 +1860,7 @@ ...@@ -1860,7 +1860,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1869,7 +1869,7 @@ ...@@ -1869,7 +1869,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1878,7 +1878,7 @@ ...@@ -1878,7 +1878,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1887,7 +1887,7 @@ ...@@ -1887,7 +1887,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1896,7 +1896,7 @@ ...@@ -1896,7 +1896,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1905,7 +1905,7 @@ ...@@ -1905,7 +1905,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
......
...@@ -281,7 +281,7 @@ ...@@ -281,7 +281,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))", "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", "format": "time_series",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
...@@ -289,7 +289,7 @@ ...@@ -289,7 +289,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -297,7 +297,7 @@ ...@@ -297,7 +297,7 @@
"refId": "B" "refId": "B"
}, },
{ {
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -750,7 +750,7 @@ ...@@ -750,7 +750,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -759,7 +759,7 @@ ...@@ -759,7 +759,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -768,7 +768,7 @@ ...@@ -768,7 +768,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -777,7 +777,7 @@ ...@@ -777,7 +777,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -786,7 +786,7 @@ ...@@ -786,7 +786,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -795,7 +795,7 @@ ...@@ -795,7 +795,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -804,7 +804,7 @@ ...@@ -804,7 +804,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -813,7 +813,7 @@ ...@@ -813,7 +813,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1576,7 +1576,7 @@ ...@@ -1576,7 +1576,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1585,7 +1585,7 @@ ...@@ -1585,7 +1585,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1594,7 +1594,7 @@ ...@@ -1594,7 +1594,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1603,7 +1603,7 @@ ...@@ -1603,7 +1603,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1612,7 +1612,7 @@ ...@@ -1612,7 +1612,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1621,7 +1621,7 @@ ...@@ -1621,7 +1621,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1630,7 +1630,7 @@ ...@@ -1630,7 +1630,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1639,7 +1639,7 @@ ...@@ -1639,7 +1639,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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))", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
......
...@@ -263,7 +263,7 @@ ...@@ -263,7 +263,7 @@
"refId": "G" "refId": "G"
}, },
{ {
"expr": "sum(label_replace(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (service)", "expr": "sum(label_replace(container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (service)",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -271,7 +271,7 @@ ...@@ -271,7 +271,7 @@
"refId": "C" "refId": "C"
}, },
{ {
"expr": "sum(label_replace(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)", "expr": "sum(label_replace(container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -467,7 +467,7 @@ ...@@ -467,7 +467,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "sum(label_replace(container_fs_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)", "expr": "sum(label_replace(container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ service }} - {{ container_name }}", "legendFormat": "{{ service }} - {{ container_name }}",
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
"editable": false, "editable": false,
"gnetId": null, "gnetId": null,
"graphTooltip": 1, "graphTooltip": 1,
"id": 6, "id": 11,
"links": [], "links": [],
"panels": [ "panels": [
{ {
...@@ -224,22 +224,20 @@ ...@@ -224,22 +224,20 @@
"step": 2 "step": 2
}, },
{ {
"expr": "sum(container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"})", "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"discovery\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "Total (k8s)", "legendFormat": "Discovery (container)",
"refId": "C", "refId": "B",
"step": 2 "step": 2
}, },
{ {
"expr": "container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}", "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"hide": false, "intervalFactor": 1,
"intervalFactor": 2, "legendFormat": "Sidecar (container)",
"legendFormat": "{{ container_name }} (k8s)", "refId": "C"
"refId": "B",
"step": 2
} }
], ],
"thresholds": [], "thresholds": [],
...@@ -320,30 +318,28 @@ ...@@ -320,30 +318,28 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m]))", "expr": "sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=\"discovery\", pod_name=~\"istio-pilot-.*\"}[1m]))",
"format": "time_series", "format": "time_series",
"hide": false, "intervalFactor": 1,
"intervalFactor": 2, "legendFormat": "Discovery (container)",
"legendFormat": "Total (k8s)", "refId": "A"
"refId": "A",
"step": 2
}, },
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m])) by (container_name)", "expr": "irate(process_cpu_seconds_total{job=\"pilot\"}[1m])",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ container_name }} (k8s)", "legendFormat": "Discovery (process)",
"refId": "B", "refId": "C",
"step": 2 "step": 2
}, },
{ {
"expr": "irate(process_cpu_seconds_total{job=\"pilot\"}[1m])", "expr": "sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=\"istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m]))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "pilot (self-reported)", "legendFormat": "Sidecar (container)",
"refId": "C", "refId": "B",
"step": 2 "step": 2
} }
], ],
...@@ -425,22 +421,19 @@ ...@@ -425,22 +421,19 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "process_open_fds{job=\"pilot\"}", "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=\"discovery\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"hide": true,
"instant": false,
"interval": "",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "Open FDs (pilot)", "legendFormat": "Discovery",
"refId": "A" "refId": "B",
"step": 2
}, },
{ {
"expr": "container_fs_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}", "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=\"istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 1,
"legendFormat": "{{ container_name }}", "legendFormat": "Sidecar",
"refId": "B", "refId": "A"
"step": 2
} }
], ],
"thresholds": [], "thresholds": [],
...@@ -589,11 +582,11 @@ ...@@ -589,11 +582,11 @@
"bars": true, "bars": true,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"description": "Shows pilot pushes", "description": "Shows the rate of pilot pushes",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 8, "h": 8,
"w": 12, "w": 8,
"x": 0, "x": 0,
"y": 15 "y": 15
}, },
...@@ -622,14 +615,32 @@ ...@@ -622,14 +615,32 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(rate(pilot_xds_pushes{type!~\".*_senderr\"}[1m])) by (type)", "expr": "sum(irate(pilot_xds_pushes{type=\"cds\"}[1m]))",
"format": "time_series", "format": "time_series",
"instant": false,
"interval": "",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ type }}", "legendFormat": "Cluster",
"refId": "B", "refId": "C"
"step": 2 },
{
"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": [], "thresholds": [],
...@@ -685,14 +696,16 @@ ...@@ -685,14 +696,16 @@
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 8, "h": 8,
"w": 12, "w": 8,
"x": 12, "x": 8,
"y": 15 "y": 15
}, },
"id": 67, "id": 67,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
"hideEmpty": true,
"hideZero": true,
"max": false, "max": false,
"min": false, "min": false,
"show": true, "show": true,
...@@ -713,15 +726,15 @@ ...@@ -713,15 +726,15 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "label_replace(sum(pilot_xds_cds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")", "expr": "sum(pilot_xds_cds_reject{job=\"pilot\"}) or (absent(pilot_xds_cds_reject{job=\"pilot\"}) - 1)",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Rejected CDS Configs - {{ node }}: {{ err }}", "legendFormat": "Rejected CDS Configs",
"refId": "C" "refId": "C"
}, },
{ {
"expr": "pilot_xds_eds_reject{job=\"pilot\"}", "expr": "sum(pilot_xds_eds_reject{job=\"pilot\"}) or (absent(pilot_xds_eds_reject{job=\"pilot\"}) - 1)",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -729,26 +742,80 @@ ...@@ -729,26 +742,80 @@
"refId": "D" "refId": "D"
}, },
{ {
"expr": "rate(pilot_xds_write_timeout{job=\"pilot\"}[1m])", "expr": "sum(pilot_xds_rds_reject{job=\"pilot\"}) or (absent(pilot_xds_rds_reject{job=\"pilot\"}) - 1)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Rejected RDS Configs",
"refId": "A"
},
{
"expr": "sum(pilot_xds_lds_reject{job=\"pilot\"}) or (absent(pilot_xds_lds_reject{job=\"pilot\"}) - 1)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Rejected LDS Configs",
"refId": "B"
},
{
"expr": "sum(rate(pilot_xds_write_timeout{job=\"pilot\"}[1m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Write Timeouts", "legendFormat": "Write Timeouts",
"refId": "F" "refId": "F"
}, },
{ {
"expr": "rate(pilot_xds_push_timeout{job=\"pilot\"}[1m])", "expr": "sum(rate(pilot_total_xds_internal_errors{job=\"pilot\"}[1m]))",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Push Timeouts", "legendFormat": "Internal Errors",
"refId": "G" "refId": "H"
},
{
"expr": "sum(rate(pilot_total_xds_rejects{job=\"pilot\"}[1m]))",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Config Rejection Rate",
"refId": "E"
},
{
"expr": "sum(rate(pilot_xds_push_context_errors{job=\"pilot\"}[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{job=\"pilot\"}[1m]))", "expr": "sum(rate(pilot_xds_push_errors{job=\"pilot\"}[1m])) by (type)",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Push Errors ({{ type }})", "legendFormat": "Push Errors ({{ type }})",
"refId": "I" "refId": "I"
},
{
"expr": "sum(rate(pilot_xds_push_timeout{job=\"pilot\"}[1m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Push Timeouts",
"refId": "G"
},
{
"expr": "sum(rate(pilot_xds_push_timeout_failures{job=\"pilot\"}[1m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Push Timeouts Failures",
"refId": "J"
} }
], ],
"thresholds": [], "thresholds": [],
...@@ -793,32 +860,19 @@ ...@@ -793,32 +860,19 @@
} }
}, },
{ {
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 23
},
"id": 64,
"panels": [],
"title": "xDS",
"type": "row"
},
{
"aliasColors": {}, "aliasColors": {},
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Prometheus", "description": "Shows the total time it takes to push a config update to a proxy",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 6, "h": 8,
"w": 8, "w": 8,
"x": 0, "x": 16,
"y": 24 "y": 15
}, },
"id": 40, "id": 624,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -833,7 +887,7 @@ ...@@ -833,7 +887,7 @@
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null",
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
"seriesOverrides": [], "seriesOverrides": [],
...@@ -842,19 +896,39 @@ ...@@ -842,19 +896,39 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(irate(envoy_cluster_update_success{cluster_name=\"xds-grpc\"}[1m]))", "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", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "XDS GRPC Successes", "legendFormat": "p99",
"refId": "C" "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": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Updates", "title": "Proxy Push Time",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -870,7 +944,7 @@ ...@@ -870,7 +944,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "ops", "format": "s",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -878,12 +952,12 @@ ...@@ -878,12 +952,12 @@
"show": true "show": true
}, },
{ {
"format": "ops", "format": "short",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
"min": null, "min": null,
"show": false "show": true
} }
], ],
"yaxis": { "yaxis": {
...@@ -899,15 +973,17 @@ ...@@ -899,15 +973,17 @@
"datasource": "Prometheus", "datasource": "Prometheus",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 6, "h": 8,
"w": 8, "w": 8,
"x": 8, "x": 0,
"y": 24 "y": 23
}, },
"id": 42, "id": 45,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
"hideEmpty": true,
"hideZero": true,
"max": false, "max": false,
"min": false, "min": false,
"show": true, "show": true,
...@@ -917,7 +993,7 @@ ...@@ -917,7 +993,7 @@
"lines": true, "lines": true,
"linewidth": 1, "linewidth": 1,
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null as zero",
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 5,
"points": false, "points": false,
...@@ -928,19 +1004,43 @@ ...@@ -928,19 +1004,43 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "round(sum(rate(envoy_cluster_update_attempt{cluster_name=\"xds-grpc\"}[1m])) - sum(rate(envoy_cluster_update_success{cluster_name=\"xds-grpc\"}[1m])))", "expr": "pilot_conflict_inbound_listener{job=\"pilot\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "hide": false,
"legendFormat": "XDS GRPC ", "intervalFactor": 1,
"refId": "A", "legendFormat": "Inbound Listeners",
"step": 2 "refId": "B"
},
{
"expr": "pilot_conflict_outbound_listener_http_over_current_tcp{job=\"pilot\"}",
"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{job=\"pilot\"}",
"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{job=\"pilot\"}",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Outbound Listeners (tcp over current http)",
"refId": "D"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Failures", "title": "Conflicts",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -956,7 +1056,7 @@ ...@@ -956,7 +1056,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "ops", "format": "short",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -985,12 +1085,12 @@ ...@@ -985,12 +1085,12 @@
"datasource": "Prometheus", "datasource": "Prometheus",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 6, "h": 8,
"w": 8, "w": 8,
"x": 16, "x": 8,
"y": 24 "y": 23
}, },
"id": 41, "id": 47,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -1014,19 +1114,32 @@ ...@@ -1014,19 +1114,32 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})", "expr": "pilot_virt_services{job=\"pilot\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 1,
"legendFormat": "Pilot (XDS GRPC)", "legendFormat": "Virtual Services",
"refId": "C", "refId": "A"
"step": 2 },
{
"expr": "pilot_services{job=\"pilot\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Services",
"refId": "B"
},
{
"expr": "pilot_xds{job=\"pilot\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Connected Endpoints",
"refId": "E"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Active Connections", "title": "ADS Monitoring",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -1064,19 +1177,92 @@ ...@@ -1064,19 +1177,92 @@
} }
}, },
{ {
"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{job=\"pilot\", 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": {}, "aliasColors": {},
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Prometheus", "datasource": "Prometheus",
"description": "Shows details about Envoy proxies in the mesh",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 8, "h": 8,
"w": 8, "w": 8,
"x": 0, "x": 0,
"y": 30 "y": 32
}, },
"id": 45, "id": 40,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -1100,39 +1286,34 @@ ...@@ -1100,39 +1286,34 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "pilot_conflict_inbound_listener{job=\"pilot\"}", "expr": "sum(irate(envoy_cluster_upstream_cx_total{cluster_name=\"xds-grpc\"}[1m]))",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Inbound Listeners", "legendFormat": "XDS Connections",
"refId": "B" "refId": "C"
}, },
{ {
"expr": "pilot_conflict_outbound_listener_http_over_current_tcp{job=\"pilot\"}", "expr": "sum(irate(envoy_cluster_upstream_cx_connect_fail{cluster_name=\"xds-grpc\"}[1m]))",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Outbound Listeners (http over current tcp)", "legendFormat": "XDS Connection Failures",
"refId": "A" "refId": "A"
}, },
{ {
"expr": "pilot_conflict_outbound_listener_tcp_over_current_tcp{job=\"pilot\"}", "expr": "sum(increase(envoy_server_hot_restart_epoch[1m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Outbound Listeners (tcp over current tcp)", "legendFormat": "Envoy Restarts",
"refId": "C" "refId": "B"
},
{
"expr": "pilot_conflict_outbound_listener_tcp_over_current_http{job=\"pilot\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Outbound Listeners (tcp over current http)",
"refId": "D"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Conflicts", "title": "Envoy Details",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -1148,7 +1329,7 @@ ...@@ -1148,7 +1329,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "short", "format": "ops",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -1156,12 +1337,12 @@ ...@@ -1156,12 +1337,12 @@
"show": true "show": true
}, },
{ {
"format": "short", "format": "ops",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
"min": null, "min": null,
"show": true "show": false
} }
], ],
"yaxis": { "yaxis": {
...@@ -1180,9 +1361,9 @@ ...@@ -1180,9 +1361,9 @@
"h": 8, "h": 8,
"w": 8, "w": 8,
"x": 8, "x": 8,
"y": 30 "y": 32
}, },
"id": 47, "id": 41,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -1206,76 +1387,19 @@ ...@@ -1206,76 +1387,19 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "pilot_virt_services{job=\"pilot\"}", "expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Virtual Services",
"refId": "A"
},
{
"expr": "pilot_services{job=\"pilot\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Services",
"refId": "B"
},
{
"expr": "label_replace(sum(pilot_xds_cds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")",
"format": "time_series",
"hide": true,
"intervalFactor": 1,
"legendFormat": "Rejected CDS Configs - {{ node }}: {{ err }}",
"refId": "C"
},
{
"expr": "pilot_xds_eds_reject{job=\"pilot\"}",
"format": "time_series",
"hide": true,
"intervalFactor": 1,
"legendFormat": "Rejected EDS Configs",
"refId": "D"
},
{
"expr": "pilot_xds{job=\"pilot\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Connected Endpoints",
"refId": "E"
},
{
"expr": "rate(pilot_xds_write_timeout{job=\"pilot\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Write Timeouts",
"refId": "F"
},
{
"expr": "rate(pilot_xds_push_timeout{job=\"pilot\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Push Timeouts",
"refId": "G"
},
{
"expr": "rate(pilot_xds_pushes{job=\"pilot\"}[1m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Pushes ({{ type }})",
"refId": "H"
},
{
"expr": "rate(pilot_xds_push_errors{job=\"pilot\"}[1m])",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 2,
"legendFormat": "Push Errors ({{ type }})", "legendFormat": "XDS Active Connections",
"refId": "I" "refId": "C",
"step": 2
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "ADS Monitoring", "title": "XDS Active Connections",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -1318,102 +1442,20 @@ ...@@ -1318,102 +1442,20 @@
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Prometheus", "datasource": "Prometheus",
"description": "Shows the size of XDS requests and responses",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 8, "h": 8,
"w": 8, "w": 8,
"x": 16, "x": 16,
"y": 30 "y": 32
},
"id": 49,
"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(pilot_xds_cds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{ node }} ({{ err }})",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Rejected CDS Configs",
"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": 8,
"x": 0,
"y": 38
}, },
"id": 52, "id": 42,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
"hideEmpty": false,
"hideZero": false,
"max": false, "max": false,
"min": false, "min": false,
"show": true, "show": true,
...@@ -1434,280 +1476,41 @@ ...@@ -1434,280 +1476,41 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "label_replace(sum(pilot_xds_eds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")", "expr": "max(rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ node }} ({{err}})", "legendFormat": "XDS Response Bytes Max",
"refId": "A" "refId": "D"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Rejected EDS Configs",
"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": 8,
"x": 8,
"y": 38
},
"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": "label_replace(sum(pilot_xds_lds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")", "expr": "quantile(0.5, rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ node }} ({{err}})", "legendFormat": "XDS Response Bytes Average",
"refId": "A" "refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Rejected LDS Configs",
"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": 8,
"x": 16,
"y": 38
},
"id": 53,
"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(pilot_xds_rds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")", "expr": "max(rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ node }} ({{err}})", "legendFormat": "XDS Request Bytes Max",
"refId": "A" "refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Rejected RDS Configs",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
}, },
"yaxes": [
{ {
"format": "short", "expr": "quantile(.5, rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))",
"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": {
"outbound|80||default-http-backend.kube-system.svc.cluster.local": "rgba(255, 255, 255, 0.97)"
},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "Prometheus",
"fill": 1,
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 45
},
"id": 51,
"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": "outbound|80||default-http-backend.kube-system.svc.cluster.local",
"yaxis": 1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(pilot_xds_eds_instances{job=\"pilot\"}) by (cluster)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ cluster }}", "legendFormat": "XDS Request Bytes Average",
"refId": "A" "refId": "C"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "EDS Instances", "title": "XDS Requests Size",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -1723,7 +1526,7 @@ ...@@ -1723,7 +1526,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "short", "format": "Bps",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -1731,12 +1534,12 @@ ...@@ -1731,12 +1534,12 @@
"show": true "show": true
}, },
{ {
"format": "short", "format": "ops",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
"min": null, "min": null,
"show": true "show": false
} }
], ],
"yaxis": { "yaxis": {
...@@ -1784,5 +1587,5 @@ ...@@ -1784,5 +1587,5 @@
"timezone": "browser", "timezone": "browser",
"title": "Istio Pilot Dashboard", "title": "Istio Pilot Dashboard",
"uid": "3--MLVZZk", "uid": "3--MLVZZk",
"version": 1 "version": 11
} }
\ No newline at end of file
...@@ -44,7 +44,7 @@ spec: ...@@ -44,7 +44,7 @@ spec:
- containerPort: 3000 - containerPort: 3000
readinessProbe: readinessProbe:
httpGet: httpGet:
path: /login path: /api/health
port: 3000 port: 3000
env: env:
- name: GRAFANA_PORT - name: GRAFANA_PORT
...@@ -76,6 +76,17 @@ spec: ...@@ -76,6 +76,17 @@ spec:
{{- end }} {{- end }}
- name: GF_PATHS_DATA - name: GF_PATHS_DATA
value: /data/grafana value: /data/grafana
{{- range $key, $value := $.Values.env }}
- name: {{ $key }}
value: {{ $value | quote }}
{{- end }}
{{- range $key, $secret := $.Values.envSecrets }}
- name: {{ $key }}
valueFrom:
secretKeyRef:
name: {{ $secret }}
key: {{ $key | quote }}
{{- end }}
resources: resources:
{{- if .Values.resources }} {{- if .Values.resources }}
{{ toYaml .Values.resources | indent 12 }} {{ toYaml .Values.resources | indent 12 }}
......
...@@ -19,7 +19,7 @@ spec: ...@@ -19,7 +19,7 @@ spec:
{{- end }} {{- end }}
containers: containers:
- name: "{{ template "grafana.fullname" . }}-test" - name: "{{ template "grafana.fullname" . }}-test"
image: "{{ template "system_default_registry" . }}{{ .Values.global.proxy.repository }}:{{ .Values.global.proxy.tag }}" image: "{{ template "system_default_registry" . }}{{ .Values.global.curl.repository }}:{{ .Values.global.curl.tag }}"
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
command: ['curl'] command: ['curl']
args: ['http://grafana:{{ .Values.grafana.service.externalPort }}'] args: ['http://grafana:{{ .Values.grafana.service.externalPort }}']
......
...@@ -30,13 +30,43 @@ security: ...@@ -30,13 +30,43 @@ security:
nodeSelector: {} nodeSelector: {}
tolerations: [] tolerations: []
env: {}
# Define additional environment variables for configuring grafana.
# @see https://grafana.com/docs/installation/configuration/#using-environment-variables
# Format: env_variable_name: value
# For example:
# GF_SMTP_ENABLED: true
# GF_SMTP_HOST: email-smtp.eu-west-1.amazonaws.com:2587
# GF_SMTP_FROM_ADDRESS: alerts@mydomain.com
# GF_SMTP_FROM_NAME: Grafana
envSecrets: {}
# The key name and ENV name must match in the secrets file.
# @see https://grafana.com/docs/installation/configuration/#using-environment-variables
# For example:
# ---
# apiVersion: v1
# kind: Secret
# metadata:
# name: grafana-secrets
# namespace: istio-system
# data:
# GF_SMTP_USER: bXl1c2Vy
# GF_SMTP_PASSWORD: bXlwYXNzd29yZA==
# type: Opaque
# ---
# env_variable_key_name: secretsName
# ---
# GF_SMTP_USER: grafana-secrets
# GF_SMTP_PASSWORD: grafana-secrets
# Specify the pod anti-affinity that allows you to constrain which nodes # Specify the pod anti-affinity that allows you to constrain which nodes
# your pod is eligible to be scheduled based on labels on pods that are # your pod is eligible to be scheduled based on labels on pods that are
# already running on the node rather than based on labels on nodes. # already running on the node rather than based on labels on nodes.
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard" vs. "soft" requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -47,7 +77,7 @@ tolerations: [] ...@@ -47,7 +77,7 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security" and value "S1".
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
......
...@@ -66,7 +66,7 @@ To uninstall/delete the `istio-init` release but continue to track the release: ...@@ -66,7 +66,7 @@ To uninstall/delete the `istio-init` release but continue to track the release:
To uninstall/delete the `istio-init` release completely and make its name free for later use: To uninstall/delete the `istio-init` release completely and make its name free for later use:
``` ```
$ helm delete istio-init --purge $ helm delete --purge istio-init
``` ```
> Warning: Deleting CRDs will delete any configuration that you have made to Istio. > Warning: Deleting CRDs will delete any configuration that you have made to Istio.
......
...@@ -22,7 +22,10 @@ spec: ...@@ -22,7 +22,10 @@ spec:
- istio-io - istio-io
- networking-istio-io - networking-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha3 versions:
- name: v1alpha3
served: true
storage: true
additionalPrinterColumns: additionalPrinterColumns:
- JSONPath: .spec.gateways - JSONPath: .spec.gateways
description: The names of gateways and sidecars that should apply these routes description: The names of gateways and sidecars that should apply these routes
...@@ -64,7 +67,10 @@ spec: ...@@ -64,7 +67,10 @@ spec:
- istio-io - istio-io
- networking-istio-io - networking-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha3 versions:
- name: v1alpha3
served: true
storage: true
additionalPrinterColumns: additionalPrinterColumns:
- JSONPath: .spec.host - JSONPath: .spec.host
description: The name of a service from the service registry description: The name of a service from the service registry
...@@ -102,7 +108,10 @@ spec: ...@@ -102,7 +108,10 @@ spec:
- istio-io - istio-io
- networking-istio-io - networking-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha3 versions:
- name: v1alpha3
served: true
storage: true
additionalPrinterColumns: additionalPrinterColumns:
- JSONPath: .spec.hosts - JSONPath: .spec.hosts
description: The hosts associated with the ServiceEntry description: The hosts associated with the ServiceEntry
...@@ -147,7 +156,10 @@ spec: ...@@ -147,7 +156,10 @@ spec:
- istio-io - istio-io
- networking-istio-io - networking-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha3 versions:
- name: v1alpha3
served: true
storage: true
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition kind: CustomResourceDefinition
...@@ -170,7 +182,10 @@ spec: ...@@ -170,7 +182,10 @@ spec:
- istio-io - istio-io
- networking-istio-io - networking-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha3 versions:
- name: v1alpha3
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -193,7 +208,10 @@ spec: ...@@ -193,7 +208,10 @@ spec:
- istio-io - istio-io
- rbac-istio-io - rbac-istio-io
scope: Cluster scope: Cluster
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -216,7 +234,10 @@ spec: ...@@ -216,7 +234,10 @@ spec:
- istio-io - istio-io
- authentication-istio-io - authentication-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -240,7 +261,10 @@ spec: ...@@ -240,7 +261,10 @@ spec:
- istio-io - istio-io
- authentication-istio-io - authentication-istio-io
scope: Cluster scope: Cluster
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -263,7 +287,10 @@ spec: ...@@ -263,7 +287,10 @@ spec:
- istio-io - istio-io
- apim-istio-io - apim-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -286,7 +313,10 @@ spec: ...@@ -286,7 +313,10 @@ spec:
- istio-io - istio-io
- apim-istio-io - apim-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -309,7 +339,10 @@ spec: ...@@ -309,7 +339,10 @@ spec:
- istio-io - istio-io
- apim-istio-io - apim-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -332,7 +365,10 @@ spec: ...@@ -332,7 +365,10 @@ spec:
- istio-io - istio-io
- apim-istio-io - apim-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -357,7 +393,10 @@ spec: ...@@ -357,7 +393,10 @@ spec:
- istio-io - istio-io
- policy-istio-io - policy-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -382,7 +421,10 @@ spec: ...@@ -382,7 +421,10 @@ spec:
- istio-io - istio-io
- policy-istio-io - policy-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -407,7 +449,10 @@ spec: ...@@ -407,7 +449,10 @@ spec:
- istio-io - istio-io
- rbac-istio-io - rbac-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -432,7 +477,10 @@ spec: ...@@ -432,7 +477,10 @@ spec:
- istio-io - istio-io
- rbac-istio-io - rbac-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -457,7 +505,10 @@ spec: ...@@ -457,7 +505,10 @@ spec:
- istio-io - istio-io
- rbac-istio-io - rbac-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
additionalPrinterColumns: additionalPrinterColumns:
- JSONPath: .spec.roleRef.name - JSONPath: .spec.roleRef.name
description: The name of the ServiceRole object being referenced description: The name of the ServiceRole object being referenced
...@@ -494,7 +545,10 @@ spec: ...@@ -494,7 +545,10 @@ spec:
- istio-io - istio-io
- policy-istio-io - policy-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -519,7 +573,10 @@ spec: ...@@ -519,7 +573,10 @@ spec:
- istio-io - istio-io
- policy-istio-io - policy-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -544,7 +601,10 @@ spec: ...@@ -544,7 +601,10 @@ spec:
- istio-io - istio-io
- policy-istio-io - policy-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
kind: CustomResourceDefinition kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
...@@ -569,5 +629,8 @@ spec: ...@@ -569,5 +629,8 @@ spec:
- istio-io - istio-io
- policy-istio-io - policy-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha2 versions:
- name: v1alpha2
served: true
storage: true
--- ---
...@@ -19,5 +19,8 @@ spec: ...@@ -19,5 +19,8 @@ spec:
- istio-io - istio-io
- networking-istio-io - networking-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha3 versions:
- name: v1alpha3
served: true
storage: true
--- ---
...@@ -17,5 +17,8 @@ spec: ...@@ -17,5 +17,8 @@ spec:
- istio-io - istio-io
- rbac-istio-io - rbac-istio-io
scope: Namespaced scope: Namespaced
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
--- ---
...@@ -11,7 +11,10 @@ metadata: ...@@ -11,7 +11,10 @@ metadata:
"helm.sh/resource-policy": keep "helm.sh/resource-policy": keep
spec: spec:
group: certmanager.k8s.io group: certmanager.k8s.io
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
names: names:
kind: ClusterIssuer kind: ClusterIssuer
plural: clusterissuers plural: clusterissuers
...@@ -30,7 +33,10 @@ metadata: ...@@ -30,7 +33,10 @@ metadata:
"helm.sh/resource-policy": keep "helm.sh/resource-policy": keep
spec: spec:
group: certmanager.k8s.io group: certmanager.k8s.io
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
names: names:
kind: Issuer kind: Issuer
plural: issuers plural: issuers
...@@ -71,7 +77,10 @@ spec: ...@@ -71,7 +77,10 @@ spec:
name: Age name: Age
type: date type: date
group: certmanager.k8s.io group: certmanager.k8s.io
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
scope: Namespaced scope: Namespaced
names: names:
kind: Certificate kind: Certificate
......
...@@ -30,7 +30,10 @@ spec: ...@@ -30,7 +30,10 @@ spec:
name: Age name: Age
type: date type: date
group: certmanager.k8s.io group: certmanager.k8s.io
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
names: names:
kind: Order kind: Order
plural: orders plural: orders
...@@ -66,7 +69,10 @@ spec: ...@@ -66,7 +69,10 @@ spec:
name: Age name: Age
type: date type: date
group: certmanager.k8s.io group: certmanager.k8s.io
version: v1alpha1 versions:
- name: v1alpha1
served: true
storage: true
names: names:
kind: Challenge kind: Challenge
plural: challenges plural: challenges
......
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
{{- if .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
metadata: metadata:
name: istio-init-service-account name: istio-init-service-account
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
......
...@@ -13,6 +13,10 @@ spec: ...@@ -13,6 +13,10 @@ spec:
selector: selector:
matchLabels: matchLabels:
app: istiocoredns app: istiocoredns
strategy:
rollingUpdate:
maxSurge: {{ .Values.rollingMaxSurge }}
maxUnavailable: {{ .Values.rollingMaxUnavailable }}
template: template:
metadata: metadata:
name: istiocoredns name: istiocoredns
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
# #
enabled: false enabled: false
replicaCount: 1 replicaCount: 1
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
# Source code for the plugin can be found at # Source code for the plugin can be found at
# https://github.com/istio-ecosystem/istio-coredns-plugin # https://github.com/istio-ecosystem/istio-coredns-plugin
# The plugin listens for DNS requests from coredns server at 127.0.0.1:8053 # The plugin listens for DNS requests from coredns server at 127.0.0.1:8053
...@@ -15,7 +17,7 @@ tolerations: [] ...@@ -15,7 +17,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard" vs. "soft" requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -26,6 +28,6 @@ tolerations: [] ...@@ -26,6 +28,6 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security" and value "S1".
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
...@@ -2,5 +2,5 @@ apiVersion: v1 ...@@ -2,5 +2,5 @@ apiVersion: v1
description: Kiali is an open source project for service mesh observability, refer to https://www.kiali.io for details. description: Kiali is an open source project for service mesh observability, refer to https://www.kiali.io for details.
name: kiali name: kiali
version: 1.1.0 version: 1.1.0
appVersion: 0.20 appVersion: 1.1.0
tillerVersion: ">=2.7.2" tillerVersion: ">=2.7.2"
...@@ -98,6 +98,7 @@ rules: ...@@ -98,6 +98,7 @@ rules:
- destinationrules - destinationrules
- gateways - gateways
- serviceentries - serviceentries
- sidecars
- virtualservices - virtualservices
verbs: verbs:
- create - create
...@@ -234,6 +235,7 @@ rules: ...@@ -234,6 +235,7 @@ rules:
- destinationrules - destinationrules
- gateways - gateways
- serviceentries - serviceentries
- sidecars
- virtualservices - virtualservices
verbs: verbs:
- get - get
......
{{- if not .Values.dashboard.viewOnlyMode }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
...@@ -10,8 +11,27 @@ metadata: ...@@ -10,8 +11,27 @@ metadata:
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
name: kiali{{- if .Values.dashboard.viewOnlyMode }}-viewer{{- end }} name: kiali
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: kiali-service-account name: kiali-service-account
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
{{- else }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: istio-kiali-viewer-role-binding-{{ .Release.Namespace }}
labels:
app: {{ template "kiali.name" . }}
chart: {{ template "kiali.chart" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kiali-viewer
subjects:
- kind: ServiceAccount
name: kiali-service-account
namespace: {{ .Release.Namespace }}
{{- end }}
...@@ -15,23 +15,21 @@ data: ...@@ -15,23 +15,21 @@ data:
port: 20001 port: 20001
external_services: external_services:
tracing: tracing:
service: "tracing/jaeger" {{- if .Values.dashboard.jaegerURL }}
{{- if and .Values.global.rancher (and .Values.global.rancher.domain .Values.global.rancher.clusterId) }} url: {{ .Values.dashboard.jaegerURL }}
{{- if not .Values.dashboard.jaegerURL }} {{- else }}
url: 'https://{{ .Values.global.rancher.domain }}/k8s/clusters/{{ .Values.global.rancher.clusterId }}/api/v1/namespaces/{{ .Release.Namespace }}/services/http:tracing:80/proxy/jaeger' url: http://tracing.istio-system:80
{{- end }}
{{- end }} {{- end }}
grafana: grafana:
{{- if eq .Values.global.monitoring.type "cluster-monitoring" }} {{- if eq .Values.global.monitoring.type "cluster-monitoring" }}
url: https://{{ .Values.global.rancher.domain }}/k8s/clusters/{{ .Values.global.rancher.clusterId }}/api/v1/namespaces/cattle-prometheus/services/http:access-grafana:80/proxy/ url: https://{{ .Values.global.rancher.domain }}/k8s/clusters/{{ .Values.global.rancher.clusterId }}/api/v1/namespaces/cattle-prometheus/services/http:access-grafana:80/proxy//
service_namespace: cattle-prometheus in_cluster_url: http://access-grafana.cattle-prometheus:80
service: access-grafana
{{- else if eq .Values.global.monitoring.type "built-in" }} {{- else if eq .Values.global.monitoring.type "built-in" }}
{{- if and .Values.global.rancher (and .Values.global.rancher.domain .Values.global.rancher.clusterId) }} {{- if and .Values.global.rancher (and .Values.global.rancher.domain .Values.global.rancher.clusterId) }}
url: https://{{ .Values.global.rancher.domain }}/k8s/clusters/{{ .Values.global.rancher.clusterId }}/api/v1/namespaces/{{ .Release.Namespace }}/services/http:grafana:80/proxy/ url: https://{{ .Values.global.rancher.domain }}/k8s/clusters/{{ .Values.global.rancher.clusterId }}/api/v1/namespaces/{{ .Release.Namespace }}/services/http:grafana:80/proxy//
in_cluster_url: http://access-grafana.cattle-prometheus:80
{{- end }} {{- end }}
{{- else }} {{- else }}
custom_metrics_url: "http://prometheus.{{ .Release.Namespace }}:9090"
{{- if .Values.dashboard.grafanaURL }} {{- if .Values.dashboard.grafanaURL }}
url: {{ .Values.dashboard.grafanaURL }} url: {{ .Values.dashboard.grafanaURL }}
{{- end }} {{- end }}
...@@ -42,4 +40,8 @@ data: ...@@ -42,4 +40,8 @@ data:
{{- else }} {{- else }}
url: {{ .Values.prometheusAddr }} url: {{ .Values.prometheusAddr }}
{{- end }} {{- end }}
{{- if .Values.security.enabled }}
identity:
cert_file: {{ .Values.security.cert_file }}
private_key_file: {{ .Values.security.private_key_file }}
{{- end}}
...@@ -26,6 +26,7 @@ spec: ...@@ -26,6 +26,7 @@ spec:
scheduler.alpha.kubernetes.io/critical-pod: "" scheduler.alpha.kubernetes.io/critical-pod: ""
prometheus.io/scrape: "true" prometheus.io/scrape: "true"
prometheus.io/port: "9090" prometheus.io/port: "9090"
kiali.io/runtimes: go,kiali
spec: spec:
serviceAccountName: kiali-service-account serviceAccountName: kiali-service-account
{{- if .Values.global.priorityClassName }} {{- if .Values.global.priorityClassName }}
...@@ -39,8 +40,28 @@ spec: ...@@ -39,8 +40,28 @@ spec:
- "-config" - "-config"
- "/kiali-configuration/config.yaml" - "/kiali-configuration/config.yaml"
- "-v" - "-v"
- "4" - "3"
readinessProbe:
httpGet:
path: {{ .Values.contextPath }}/healthz
port: 20001
scheme: {{ if .Values.security.enabled }} 'HTTPS' {{ else }} 'HTTP' {{ end }}
initialDelaySeconds: 5
periodSeconds: 30
livenessProbe:
httpGet:
path: {{ .Values.contextPath }}/healthz
port: 20001
scheme: {{ if .Values.security.enabled }} 'HTTPS' {{ else }} 'HTTP' {{ end }}
initialDelaySeconds: 5
periodSeconds: 30
env: env:
- name: TRACING_INSECURE_SKIP_VERIFY
value: "true"
- name: GRAFANA_INSECURE_SKIP_VERIFY
value: "true"
- name: TRACING_ENABLED
value: "false"
- name: ACTIVE_NAMESPACE - name: ACTIVE_NAMESPACE
valueFrom: valueFrom:
fieldRef: fieldRef:
...@@ -66,6 +87,8 @@ spec: ...@@ -66,6 +87,8 @@ spec:
volumeMounts: volumeMounts:
- name: kiali-configuration - name: kiali-configuration
mountPath: "/kiali-configuration" mountPath: "/kiali-configuration"
- name: kiali-cert
mountPath: "/kiali-cert"
- name: kiali-secret - name: kiali-secret
mountPath: "/kiali-secret" mountPath: "/kiali-secret"
resources: resources:
...@@ -97,6 +120,12 @@ spec: ...@@ -97,6 +120,12 @@ spec:
- name: kiali-configuration - name: kiali-configuration
configMap: configMap:
name: kiali name: kiali
- name: kiali-cert
secret:
secretName: istio.kiali-service-account
{{- if not .Values.security.enabled }}
optional: true
{{- end }}
- name: kiali-nginx - name: kiali-nginx
configMap: configMap:
name: kiali-nginx name: kiali-nginx
......
...@@ -52,9 +52,9 @@ data: ...@@ -52,9 +52,9 @@ data:
add_header Cache-Control "public"; add_header Cache-Control "public";
proxy_pass http://localhost:20001/; proxy_pass http://localhost:20001/;
sub_filter_types text/html; sub_filter_types application/javascript;
sub_filter_once on; sub_filter_once on;
sub_filter </head> '<script>var path = window.location.pathname; var pathName = path.substring(0, path.lastIndexOf("/proxy") + 6); window.WEB_ROOT = window.WEB_ROOT ? pathName + window.WEB_ROOT:pathName</script></head>'; sub_filter "// This file is intentionally left bank." "window.WEB_ROOT='/k8s/clusters/{{ .Values.global.rancher.clusterId }}/api/v1/namespaces/istio-system/services/http:kiali-http:80/proxy';";
if ($request_filename ~ .*\.(?:js|css|jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$) { if ($request_filename ~ .*\.(?:js|css|jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$) {
expires 90d; expires 90d;
} }
......
...@@ -19,7 +19,7 @@ spec: ...@@ -19,7 +19,7 @@ spec:
{{- end }} {{- end }}
containers: containers:
- name: "{{ template "kiali.fullname" . }}-test" - name: "{{ template "kiali.fullname" . }}-test"
image: "{{ template "system_default_registry" . }}{{ .Values.global.proxy.repository }}:{{ .Values.global.proxy.tag }}" image: "{{ template "system_default_registry" . }}{{ .Values.global.curl.repository }}:{{ .Values.global.curl.tag }}"
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
command: ['curl'] command: ['curl']
args: ['http://kiali:20001'] args: ['http://kiali:20001']
......
...@@ -13,7 +13,7 @@ tolerations: [] ...@@ -13,7 +13,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard” vs. "soft” requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -24,7 +24,7 @@ tolerations: [] ...@@ -24,7 +24,7 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security” and value "S1”.
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
...@@ -60,3 +60,8 @@ service: ...@@ -60,3 +60,8 @@ service:
type: ClusterIP type: ClusterIP
resources: {} resources: {}
security:
enabled: false
cert_file: /kiali-cert/cert-chain.pem
private_key_file: /kiali-cert/key.pem
\ No newline at end of file
...@@ -138,6 +138,8 @@ spec: ...@@ -138,6 +138,8 @@ spec:
valueType: BOOL valueType: BOOL
quota.cache_hit: quota.cache_hit:
valueType: BOOL valueType: BOOL
context.proxy_version:
valueType: STRING
--- ---
apiVersion: "config.istio.io/v1alpha2" apiVersion: "config.istio.io/v1alpha2"
......
...@@ -13,16 +13,14 @@ ...@@ -13,16 +13,14 @@
- hostPath: - hostPath:
path: /var/run/sds path: /var/run/sds
name: sds-uds-path name: sds-uds-path
{{- if $.Values.global.sds.useTrustworthyJwt }}
- name: istio-token - name: istio-token
projected: projected:
sources: sources:
- serviceAccountToken: - serviceAccountToken:
audience: {{ $.Values.global.trustDomain }} audience: {{ $.Values.global.sds.token.aud }}
expirationSeconds: 43200 expirationSeconds: 43200
path: istio-token path: istio-token
{{- end }} {{- end }}
{{- end }}
- name: uds-socket - name: uds-socket
emptyDir: {} emptyDir: {}
- name: policy-adapter-secret - name: policy-adapter-secret
...@@ -68,11 +66,7 @@ ...@@ -68,11 +66,7 @@
{{- else }} {{- else }}
- --useAdapterCRDs=false - --useAdapterCRDs=false
{{- end }} {{- end }}
{{- if $.Values.templates.useTemplateCRDs }}
- --useTemplateCRDs=true
{{- else }}
- --useTemplateCRDs=false - --useTemplateCRDs=false
{{- end }}
{{- if $.Values.global.tracer.zipkin.address }} {{- if $.Values.global.tracer.zipkin.address }}
- --trace_zipkin_url=http://{{- $.Values.global.tracer.zipkin.address }}/api/v1/spans - --trace_zipkin_url=http://{{- $.Values.global.tracer.zipkin.address }}/api/v1/spans
{{- else }} {{- else }}
...@@ -150,6 +144,8 @@ ...@@ -150,6 +144,8 @@
fieldRef: fieldRef:
apiVersion: v1 apiVersion: v1
fieldPath: status.podIP fieldPath: status.podIP
- name: SDS_ENABLED
value: "{{ $.Values.global.sds.enabled }}"
resources: resources:
{{- if $.Values.global.proxy.resources }} {{- if $.Values.global.proxy.resources }}
{{ toYaml $.Values.global.proxy.resources | indent 10 }} {{ toYaml $.Values.global.proxy.resources | indent 10 }}
...@@ -164,11 +160,9 @@ ...@@ -164,11 +160,9 @@
- name: sds-uds-path - name: sds-uds-path
mountPath: /var/run/sds mountPath: /var/run/sds
readOnly: true readOnly: true
{{- if $.Values.global.sds.useTrustworthyJwt }}
- name: istio-token - name: istio-token
mountPath: /var/run/secrets/tokens mountPath: /var/run/secrets/tokens
{{- end }} {{- end }}
{{- end }}
- name: uds-socket - name: uds-socket
mountPath: /sock mountPath: /sock
- name: policy-adapter-secret - name: policy-adapter-secret
...@@ -188,16 +182,14 @@ ...@@ -188,16 +182,14 @@
- hostPath: - hostPath:
path: /var/run/sds path: /var/run/sds
name: sds-uds-path name: sds-uds-path
{{- if $.Values.global.sds.useTrustworthyJwt }}
- name: istio-token - name: istio-token
projected: projected:
sources: sources:
- serviceAccountToken: - serviceAccountToken:
audience: {{ $.Values.global.trustDomain }} audience: {{ $.Values.global.sds.token.aud }}
expirationSeconds: 43200 expirationSeconds: 43200
path: istio-token path: istio-token
{{- end }} {{- end }}
{{- end }}
- name: uds-socket - name: uds-socket
emptyDir: {} emptyDir: {}
- name: telemetry-adapter-secret - name: telemetry-adapter-secret
...@@ -246,11 +238,6 @@ ...@@ -246,11 +238,6 @@
{{- else }} {{- else }}
- --useAdapterCRDs=false - --useAdapterCRDs=false
{{- end }} {{- end }}
{{- if $.Values.templates.useTemplateCRDs }}
- --useTemplateCRDs=true
{{- else }}
- --useTemplateCRDs=false
{{- end }}
{{- if $.Values.global.tracer.zipkin.address }} {{- if $.Values.global.tracer.zipkin.address }}
- --trace_zipkin_url=http://{{- $.Values.global.tracer.zipkin.address }}/api/v1/spans - --trace_zipkin_url=http://{{- $.Values.global.tracer.zipkin.address }}/api/v1/spans
{{- else }} {{- else }}
...@@ -332,6 +319,8 @@ ...@@ -332,6 +319,8 @@
fieldRef: fieldRef:
apiVersion: v1 apiVersion: v1
fieldPath: status.podIP fieldPath: status.podIP
- name: SDS_ENABLED
value: "{{ $.Values.global.sds.enabled }}"
resources: resources:
{{- if $.Values.global.proxy.resources }} {{- if $.Values.global.proxy.resources }}
{{ toYaml $.Values.global.proxy.resources | indent 10 }} {{ toYaml $.Values.global.proxy.resources | indent 10 }}
...@@ -346,11 +335,9 @@ ...@@ -346,11 +335,9 @@
- name: sds-uds-path - name: sds-uds-path
mountPath: /var/run/sds mountPath: /var/run/sds
readOnly: true readOnly: true
{{- if $.Values.global.sds.useTrustworthyJwt }}
- name: istio-token - name: istio-token
mountPath: /var/run/secrets/tokens mountPath: /var/run/secrets/tokens
{{- end }} {{- end }}
{{- end }}
- name: uds-socket - name: uds-socket
mountPath: /sock mountPath: /sock
{{- end }} {{- end }}
...@@ -380,8 +367,8 @@ spec: ...@@ -380,8 +367,8 @@ spec:
{{- end }} {{- end }}
strategy: strategy:
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: {{ $spec.rollingMaxSurge }}
maxUnavailable: 0 maxUnavailable: {{ $spec.rollingMaxUnavailable }}
selector: selector:
matchLabels: matchLabels:
istio: mixer istio: mixer
......
...@@ -15,6 +15,8 @@ policy: ...@@ -15,6 +15,8 @@ policy:
autoscaleMax: 5 autoscaleMax: 5
cpu: cpu:
targetAverageUtilization: 80 targetAverageUtilization: 80
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
telemetry: telemetry:
enabled: true enabled: true
...@@ -24,6 +26,8 @@ telemetry: ...@@ -24,6 +26,8 @@ telemetry:
autoscaleMax: 5 autoscaleMax: 5
cpu: cpu:
targetAverageUtilization: 80 targetAverageUtilization: 80
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
sessionAffinityEnabled: false sessionAffinityEnabled: false
# mixer load shedding configuration. # mixer load shedding configuration.
...@@ -43,6 +47,16 @@ telemetry: ...@@ -43,6 +47,16 @@ telemetry:
cpu: 4800m cpu: 4800m
memory: 4G memory: 4G
# Set reportBatchMaxEntries to 0 to use the default batching behavior (i.e., every 100 requests).
# A positive value indicates the number of requests that are batched before telemetry data
# is sent to the mixer server
reportBatchMaxEntries: 100
# Set reportBatchMaxTime to 0 to use the default batching behavior (i.e., every 1 second).
# A positive time value indicates the maximum wait time since the last request will telemetry data
# be batched before being sent to the mixer server
reportBatchMaxTime: 1s
podAnnotations: {} podAnnotations: {}
nodeSelector: {} nodeSelector: {}
tolerations: [] tolerations: []
...@@ -53,7 +67,7 @@ tolerations: [] ...@@ -53,7 +67,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard" vs. "soft" requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -64,13 +78,10 @@ tolerations: [] ...@@ -64,13 +78,10 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security" and value "S1".
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
templates:
useTemplateCRDs: false
adapters: adapters:
kubernetesenv: kubernetesenv:
enabled: true enabled: true
......
...@@ -44,6 +44,10 @@ spec: ...@@ -44,6 +44,10 @@ spec:
{{- end }} {{- end }}
- name: "Trust_Domain" - name: "Trust_Domain"
value: "{{ .Values.global.trustDomain }}" value: "{{ .Values.global.trustDomain }}"
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
volumes: volumes:
- name: sdsudspath - name: sdsudspath
hostPath: hostPath:
......
...@@ -18,7 +18,7 @@ tolerations: [] ...@@ -18,7 +18,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard” vs. "soft” requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -29,6 +29,6 @@ tolerations: [] ...@@ -29,6 +29,6 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security” and value "S1”.
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
...@@ -22,8 +22,8 @@ spec: ...@@ -22,8 +22,8 @@ spec:
{{- end }} {{- end }}
strategy: strategy:
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: {{ .Values.rollingMaxSurge }}
maxUnavailable: 0 maxUnavailable: {{ .Values.rollingMaxUnavailable }}
selector: selector:
matchLabels: matchLabels:
istio: pilot istio: pilot
...@@ -58,11 +58,9 @@ spec: ...@@ -58,11 +58,9 @@ spec:
- "-a" - "-a"
- {{ .Release.Namespace }} - {{ .Release.Namespace }}
{{- end }} {{- end }}
{{- if $.Values.global.controlPlaneSecurityEnabled}} {{- if and $.Values.global.controlPlaneSecurityEnabled (not .Values.sidecar)}}
{{- if not .Values.sidecar }}
- --secureGrpcAddr - --secureGrpcAddr
- ":15011" - ":15011"
{{- end }}
{{- else }} {{- else }}
- --secureGrpcAddr - --secureGrpcAddr
- "" - ""
...@@ -106,8 +104,10 @@ spec: ...@@ -106,8 +104,10 @@ spec:
- name: PILOT_TRACE_SAMPLING - name: PILOT_TRACE_SAMPLING
value: "{{ .Values.traceSampling }}" value: "{{ .Values.traceSampling }}"
{{- end }} {{- end }}
- name: PILOT_DISABLE_XDS_MARSHALING_TO_ANY - name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_OUTBOUND
value: "1" value: "{{ .Values.enableProtocolSniffingForOutbound }}"
- name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_INBOUND
value: "{{ .Values.enableProtocolSniffingForInbound }}"
resources: resources:
{{- if .Values.resources }} {{- if .Values.resources }}
{{ toYaml .Values.resources | indent 12 }} {{ toYaml .Values.resources | indent 12 }}
...@@ -163,6 +163,8 @@ spec: ...@@ -163,6 +163,8 @@ spec:
fieldRef: fieldRef:
apiVersion: v1 apiVersion: v1
fieldPath: status.podIP fieldPath: status.podIP
- name: SDS_ENABLED
value: "{{ $.Values.global.sds.enabled }}"
resources: resources:
{{- if .Values.global.proxy.resources }} {{- if .Values.global.proxy.resources }}
{{ toYaml .Values.global.proxy.resources | indent 12 }} {{ toYaml .Values.global.proxy.resources | indent 12 }}
...@@ -177,27 +179,23 @@ spec: ...@@ -177,27 +179,23 @@ spec:
- name: sds-uds-path - name: sds-uds-path
mountPath: /var/run/sds mountPath: /var/run/sds
readOnly: true readOnly: true
{{- if $.Values.global.sds.useTrustworthyJwt }}
- name: istio-token - name: istio-token
mountPath: /var/run/secrets/tokens mountPath: /var/run/secrets/tokens
{{- end }} {{- end }}
{{- end }}
{{- end }} {{- end }}
volumes: volumes:
{{- if $.Values.global.sds.enabled }} {{- if $.Values.global.sds.enabled }}
- hostPath: - hostPath:
path: /var/run/sds path: /var/run/sds
name: sds-uds-path name: sds-uds-path
{{- if $.Values.global.sds.useTrustworthyJwt }}
- name: istio-token - name: istio-token
projected: projected:
sources: sources:
- serviceAccountToken: - serviceAccountToken:
audience: {{ $.Values.global.trustDomain }} audience: {{ $.Values.global.sds.token.aud }}
expirationSeconds: 43200 expirationSeconds: 43200
path: istio-token path: istio-token
{{- end }} {{- end }}
{{- end }}
- name: config-volume - name: config-volume
configMap: configMap:
name: istio name: istio
......
...@@ -7,8 +7,14 @@ autoscaleMin: 1 ...@@ -7,8 +7,14 @@ autoscaleMin: 1
autoscaleMax: 5 autoscaleMax: 5
# specify replicaCount when autoscaleEnabled: false # specify replicaCount when autoscaleEnabled: false
# replicaCount: 1 # replicaCount: 1
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
sidecar: true sidecar: true
traceSampling: 1.0 traceSampling: 1.0
# if protocol sniffing is enabled for outbound
enableProtocolSniffingForOutbound: true
# if protocol sniffing is enabled for inbound
enableProtocolSniffingForInbound: false
# Resources for a small pilot install # Resources for a small pilot install
resources: resources:
requests: requests:
...@@ -28,7 +34,7 @@ tolerations: [] ...@@ -28,7 +34,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard" vs. "soft" requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -39,7 +45,7 @@ tolerations: [] ...@@ -39,7 +45,7 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security" and value "S1".
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
......
...@@ -19,7 +19,7 @@ spec: ...@@ -19,7 +19,7 @@ spec:
{{- end }} {{- end }}
containers: containers:
- name: "{{ template "prometheus.fullname" . }}-test" - name: "{{ template "prometheus.fullname" . }}-test"
image: {{ template "system_default_registry" . }}{{ .Values.global.proxy.repository }}:{{ .Values.global.proxy.tag }} image: {{ template "system_default_registry" . }}{{ .Values.global.curl.repository }}:{{ .Values.global.curl.tag }}
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
command: ['sh', '-c', 'for i in 1 2 3; do curl http://prometheus:9090/-/ready && exit 0 || sleep 15; done; exit 1'] command: ['sh', '-c', 'for i in 1 2 3; do curl http://prometheus:9090/-/ready && exit 0 || sleep 15; done; exit 1']
restartPolicy: Never restartPolicy: Never
......
...@@ -14,7 +14,7 @@ tolerations: [] ...@@ -14,7 +14,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard” vs. "soft” requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -25,7 +25,7 @@ tolerations: [] ...@@ -25,7 +25,7 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security” and value "S1”.
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
......
...@@ -15,7 +15,7 @@ rules: ...@@ -15,7 +15,7 @@ rules:
resources: ["secrets"] resources: ["secrets"]
verbs: ["create", "get", "watch", "list", "update", "delete"] verbs: ["create", "get", "watch", "list", "update", "delete"]
- apiGroups: [""] - apiGroups: [""]
resources: ["serviceaccounts", "services"] resources: ["serviceaccounts", "services", "namespaces"]
verbs: ["get", "watch", "list"] verbs: ["get", "watch", "list"]
- apiGroups: ["authentication.k8s.io"] - apiGroups: ["authentication.k8s.io"]
resources: ["tokenreviews"] resources: ["tokenreviews"]
......
{{- if .Values.createMeshPolicy }} {{- if .Values.createMeshPolicy }}
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
{{- if .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
metadata: metadata:
name: istio-security-post-install-account name: istio-security-post-install-account
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
......
...@@ -17,8 +17,8 @@ spec: ...@@ -17,8 +17,8 @@ spec:
istio: citadel istio: citadel
strategy: strategy:
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: {{ .Values.rollingMaxSurge }}
maxUnavailable: 0 maxUnavailable: {{ .Values.rollingMaxUnavailable }}
template: template:
metadata: metadata:
labels: labels:
...@@ -67,6 +67,9 @@ spec: ...@@ -67,6 +67,9 @@ spec:
- --liveness-probe-interval=60s # interval for health check file update - --liveness-probe-interval=60s # interval for health check file update
- --probe-check-interval=15s # interval for health status check - --probe-check-interval=15s # interval for health status check
{{- end }} {{- end }}
env:
- name: CITADEL_ENABLE_NAMESPACES_BY_DEFAULT
value: "{{ .Values.enableNamespacesByDefault }}"
{{- if .Values.citadelHealthCheck }} {{- if .Values.citadelHealthCheck }}
livenessProbe: livenessProbe:
exec: exec:
......
...@@ -19,7 +19,7 @@ spec: ...@@ -19,7 +19,7 @@ spec:
{{- end }} {{- end }}
containers: containers:
- name: "{{ template "security.fullname" . }}-test" - name: "{{ template "security.fullname" . }}-test"
image: "{{ template "system_default_registry" . }}{{ .Values.global.proxy.repository }}:{{ .Values.global.proxy.tag }}" image: "{{ template "system_default_registry" . }}{{ .Values.global.curl.repository }}:{{ .Values.global.curl.tag }}"
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
command: ['sh', '-c', 'for i in 1 2 3; do curl http://istio-citadel:{{ .Values.global.monitoringPort }}/version && exit 0 || sleep 15; done; exit 1'] command: ['sh', '-c', 'for i in 1 2 3; do curl http://istio-citadel:{{ .Values.global.monitoringPort }}/version && exit 0 || sleep 15; done; exit 1']
restartPolicy: Never restartPolicy: Never
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
# #
enabled: true enabled: true
replicaCount: 1 replicaCount: 1
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
selfSigned: true # indicate if self-signed CA is used. selfSigned: true # indicate if self-signed CA is used.
createMeshPolicy: true createMeshPolicy: true
nodeSelector: {} nodeSelector: {}
...@@ -13,13 +15,23 @@ citadelHealthCheck: false ...@@ -13,13 +15,23 @@ citadelHealthCheck: false
# 90*24hour = 2160h # 90*24hour = 2160h
workloadCertTtl: 2160h workloadCertTtl: 2160h
# Determines Citadel default behavior if the ca.istio.io/env or ca.istio.io/override
# labels are not found on a given namespace.
#
# For example: consider a namespace called "target", which has neither the "ca.istio.io/env"
# nor the "ca.istio.io/override" namespace labels. To decide whether or not to generate secrets
# for service accounts created in this "target" namespace, Citadel will defer to this option. If the value
# of this option is "true" in this case, secrets will be generated for the "target" namespace.
# If the value of this option is "false" Citadel will not generate secrets upon service account creation.
enableNamespacesByDefault: true
# Specify the pod anti-affinity that allows you to constrain which nodes # Specify the pod anti-affinity that allows you to constrain which nodes
# your pod is eligible to be scheduled based on labels on pods that are # your pod is eligible to be scheduled based on labels on pods that are
# already running on the node rather than based on labels on nodes. # already running on the node rather than based on labels on nodes.
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard" vs. "soft" requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -30,6 +42,6 @@ workloadCertTtl: 2160h ...@@ -30,6 +42,6 @@ workloadCertTtl: 2160h
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security" and value "S1".
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
...@@ -16,8 +16,8 @@ spec: ...@@ -16,8 +16,8 @@ spec:
istio: sidecar-injector istio: sidecar-injector
strategy: strategy:
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: {{ .Values.rollingMaxSurge }}
maxUnavailable: 0 maxUnavailable: {{ .Values.rollingMaxUnavailable }}
template: template:
metadata: metadata:
labels: labels:
......
...@@ -12,5 +12,8 @@ metadata: ...@@ -12,5 +12,8 @@ metadata:
spec: spec:
ports: ports:
- port: 443 - port: 443
name: https-inject
- port: {{ .Values.global.monitoringPort }}
name: http-monitoring
selector: selector:
istio: sidecar-injector istio: sidecar-injector
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
# #
enabled: true enabled: true
replicaCount: 1 replicaCount: 1
rollingMaxSurge: 100%
rollingMaxUnavailable: 25%
enableNamespacesByDefault: false enableNamespacesByDefault: false
nodeSelector: {} nodeSelector: {}
tolerations: [] tolerations: []
...@@ -13,7 +15,7 @@ tolerations: [] ...@@ -13,7 +15,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard" vs. "soft" requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -24,7 +26,7 @@ tolerations: [] ...@@ -24,7 +26,7 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security" and value "S1".
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
......
...@@ -59,6 +59,16 @@ spec: ...@@ -59,6 +59,16 @@ spec:
fieldRef: fieldRef:
apiVersion: v1 apiVersion: v1
fieldPath: metadata.namespace fieldPath: metadata.namespace
{{- if eq .Values.jaeger.spanStorageType "badger" }}
- 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"
{{- end }}
- name: COLLECTOR_ZIPKIN_HTTP_PORT - name: COLLECTOR_ZIPKIN_HTTP_PORT
value: "9411" value: "9411"
- name: MEMORY_MAX_TRACES - name: MEMORY_MAX_TRACES
...@@ -73,6 +83,11 @@ spec: ...@@ -73,6 +83,11 @@ spec:
httpGet: httpGet:
path: / path: /
port: 16686 port: 16686
{{- if eq .Values.jaeger.spanStorageType "badger" }}
volumeMounts:
- name: data
mountPath: /badger
{{- end }}
resources: resources:
{{- if .Values.jaeger.resources }} {{- if .Values.jaeger.resources }}
{{ toYaml .Values.jaeger.resources | indent 12 }} {{ toYaml .Values.jaeger.resources | indent 12 }}
...@@ -98,14 +113,6 @@ spec: ...@@ -98,14 +113,6 @@ spec:
resources: resources:
{{ toYaml .Values.jaeger.proxy.resources | indent 12 }} {{ toYaml .Values.jaeger.proxy.resources | indent 12 }}
{{- end }} {{- end }}
volumes:
- name: tracing-nginx
configMap:
name: tracing-nginx
items:
- key: nginx.conf
mode: 438
path: nginx.conf
affinity: affinity:
{{- include "nodeaffinity" . | indent 6 }} {{- include "nodeaffinity" . | indent 6 }}
{{- include "podAntiAffinity" . | indent 6 }} {{- include "podAntiAffinity" . | indent 6 }}
...@@ -116,4 +123,21 @@ spec: ...@@ -116,4 +123,21 @@ spec:
tolerations: tolerations:
{{ toYaml .Values.global.defaultTolerations | indent 6 }} {{ toYaml .Values.global.defaultTolerations | indent 6 }}
{{- end }} {{- end }}
volumes:
- name: tracing-nginx
configMap:
name: tracing-nginx
items:
- key: nginx.conf
mode: 438
path: nginx.conf
{{- if eq .Values.jaeger.spanStorageType "badger" }}
- name: data
{{- if .Values.jaeger.persist }}
persistentVolumeClaim:
claimName: istio-jaeger-pvc
{{- else }}
emptyDir: {}
{{- end }}
{{- end }}
{{ end }} {{ end }}
{{- if eq .Values.provider "jaeger" }}
{{- if .Values.jaeger.persist }}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: istio-jaeger-pvc
namespace: {{ .Release.Namespace }}
labels:
app: jaeger
chart: {{ template "tracing.chart" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
spec:
storageClassName: {{ .Values.jaeger.storageClassName }}
accessModes:
- {{ .Values.jaeger.accessMode }}
resources:
requests:
storage: 5Gi
{{- end }}
{{- end }}
...@@ -18,7 +18,7 @@ spec: ...@@ -18,7 +18,7 @@ spec:
{{- end }} {{- end }}
containers: containers:
- name: "{{ .Values.provider }}-test" - name: "{{ .Values.provider }}-test"
image: "{{ template "system_default_registry" . }}{{ .Values.global.proxy.repository }}:{{ .Values.global.proxy.tag }}" image: "{{ template "system_default_registry" . }}{{ .Values.global.curl.repository }}:{{ .Values.global.curl.tag }}"
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
command: ['curl'] command: ['curl']
{{- if eq .Values.provider "jaeger" }} {{- if eq .Values.provider "jaeger" }}
......
...@@ -13,7 +13,7 @@ tolerations: [] ...@@ -13,7 +13,7 @@ tolerations: []
# There are currently two types of anti-affinity: # There are currently two types of anti-affinity:
# "requiredDuringSchedulingIgnoredDuringExecution" # "requiredDuringSchedulingIgnoredDuringExecution"
# "preferredDuringSchedulingIgnoredDuringExecution" # "preferredDuringSchedulingIgnoredDuringExecution"
# which denote “hard” vs. “soft” requirements, you can define your values # which denote "hard" vs. "soft" requirements, you can define your values
# in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector" # in "podAntiAffinityLabelSelector" and "podAntiAffinityTermLabelSelector"
# correspondingly. # correspondingly.
# For example: # For example:
...@@ -24,7 +24,7 @@ tolerations: [] ...@@ -24,7 +24,7 @@ tolerations: []
# topologyKey: "kubernetes.io/hostname" # topologyKey: "kubernetes.io/hostname"
# This pod anti-affinity rule says that the pod requires not to be scheduled # This pod anti-affinity rule says that the pod requires not to be scheduled
# onto a node if that node is already running a pod with label having key # onto a node if that node is already running a pod with label having key
# “security” and value “S1”. # "security" and value "S1".
podAntiAffinityLabelSelector: [] podAntiAffinityLabelSelector: []
podAntiAffinityTermLabelSelector: [] podAntiAffinityTermLabelSelector: []
...@@ -33,6 +33,11 @@ jaeger: ...@@ -33,6 +33,11 @@ jaeger:
max_traces: 50000 max_traces: 50000
proxy: proxy:
resources: {} resources: {}
# spanStorageType value can be "memory" and "badger" for all-in-one image
spanStorageType: badger
persist: false
storageClassName: ""
accessMode: ReadWriteMany
zipkin: zipkin:
probeStartupDelay: 200 probeStartupDelay: 200
......
...@@ -8,10 +8,12 @@ initContainers: ...@@ -8,10 +8,12 @@ initContainers:
image: "{{ .Values.global.systemDefaultRegistry }}/{{ .Values.global.proxy_init.repository }}:{{ .Values.global.proxy_init.tag }}" image: "{{ .Values.global.systemDefaultRegistry }}/{{ .Values.global.proxy_init.repository }}:{{ .Values.global.proxy_init.tag }}"
{{- else }} {{- else }}
image: "{{ .Values.global.proxy_init.repository }}:{{ .Values.global.proxy_init.tag }}" image: "{{ .Values.global.proxy_init.repository }}:{{ .Values.global.proxy_init.tag }}"
{{- end }} {{- end }}
args: args:
- "-p" - "-p"
- "15001" - "15001"
- "-z"
- "15006"
- "-u" - "-u"
- 1337 - 1337
- "-m" - "-m"
...@@ -21,7 +23,7 @@ initContainers: ...@@ -21,7 +23,7 @@ initContainers:
- "-x" - "-x"
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` .Values.global.proxy.excludeIPRanges }}" - "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` .Values.global.proxy.excludeIPRanges }}"
- "-b" - "-b"
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` (includeInboundPorts .Spec.Containers) }}" - "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` `*` }}"
- "-d" - "-d"
- "{{ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` .Values.global.proxy.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 "") -}} {{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/excludeOutboundPorts`) (ne .Values.global.proxy.excludeOutboundPorts "") -}}
...@@ -33,13 +35,12 @@ initContainers: ...@@ -33,13 +35,12 @@ initContainers:
- "{{ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` }}" - "{{ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` }}"
{{ end -}} {{ end -}}
imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" imagePullPolicy: "{{ .Values.global.imagePullPolicy }}"
{{- if .Values.global.proxy.init.resources }}
resources: resources:
requests: {{ toYaml .Values.global.proxy.init.resources | indent 4 }}
cpu: 10m {{- else }}
memory: 10Mi resources: {}
limits: {{- end }}
cpu: 100m
memory: 50Mi
securityContext: securityContext:
runAsUser: 0 runAsUser: 0
runAsNonRoot: false runAsNonRoot: false
...@@ -50,11 +51,6 @@ initContainers: ...@@ -50,11 +51,6 @@ initContainers:
privileged: true privileged: true
{{- end }} {{- end }}
restartPolicy: Always restartPolicy: Always
env:
{{- if contains "*" (annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` "") }}
- name: INBOUND_CAPTURE_PORT
value: 15006
{{- end }}
{{- end }} {{- end }}
{{ end -}} {{ end -}}
{{- if eq .Values.global.proxy.enableCoreDump true }} {{- if eq .Values.global.proxy.enableCoreDump true }}
...@@ -65,9 +61,9 @@ initContainers: ...@@ -65,9 +61,9 @@ initContainers:
command: command:
- /bin/sh - /bin/sh
{{- if .Values.global.systemDefaultRegistry }} {{- if .Values.global.systemDefaultRegistry }}
image: "{{ .Values.global.systemDefaultRegistry }}/{{ .Values.global.proxy_init.repository }}:{{ .Values.global.proxy_init.tag }}" image: "{{ .Values.global.systemDefaultRegistry }}/{{ .Values.global.proxy.enableCoreDumpImage }}"
{{- else }} {{- else }}
image: "{{ .Values.global.proxy_init.repository }}:{{ .Values.global.proxy_init.tag }}" image: "{{ .Values.global.proxy.enableCoreDumpImage }}"
{{- end }} {{- end }}
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
resources: {} resources: {}
...@@ -83,7 +79,7 @@ containers: ...@@ -83,7 +79,7 @@ containers:
image: "{{ .Values.global.systemDefaultRegistry }}/{{ .Values.global.proxy.repository }}:{{ .Values.global.proxy.tag }}" image: "{{ .Values.global.systemDefaultRegistry }}/{{ .Values.global.proxy.repository }}:{{ .Values.global.proxy.tag }}"
{{- else }} {{- else }}
image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.repository}}:{{ .Values.global.proxy.tag }}" image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.repository}}:{{ .Values.global.proxy.tag }}"
{{- end }} {{- end }}
ports: ports:
- containerPort: 15090 - containerPort: 15090
protocol: TCP protocol: TCP
...@@ -140,7 +136,11 @@ containers: ...@@ -140,7 +136,11 @@ containers:
{{- end }} {{- end }}
{{- if .Values.global.proxy.envoyMetricsService.enabled }} {{- if .Values.global.proxy.envoyMetricsService.enabled }}
- --envoyMetricsServiceAddress - --envoyMetricsServiceAddress
- "{{ .ProxyConfig.EnvoyMetricsServiceAddress }}" - "{{ .ProxyConfig.GetEnvoyMetricsService.GetAddress }}"
{{- end }}
{{- if .Values.global.proxy.envoyAccessLogService.enabled }}
- --envoyAccessLogService
- '{{ structToJSON .ProxyConfig.EnvoyAccessLogService }}'
{{- end }} {{- end }}
- --proxyAdminPort - --proxyAdminPort
- "{{ .ProxyConfig.ProxyAdminPort }}" - "{{ .ProxyConfig.ProxyAdminPort }}"
...@@ -164,6 +164,17 @@ containers: ...@@ -164,6 +164,17 @@ containers:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: metadata.name fieldPath: metadata.name
- name: ISTIO_META_POD_PORTS
value: |-
[
{{- range $index1, $c := .Spec.Containers }}
{{- range $index2, $p := $c.Ports }}
{{if or (ne $index1 0) (ne $index2 0)}},{{end}}{{ structToJSON $p }}
{{- end}}
{{- end}}
]
- name: ISTIO_META_CLUSTER_ID
value: "{{ valueOrDefault .Values.global.multicluster.clusterName `Kubernetes` }}"
- name: POD_NAMESPACE - name: POD_NAMESPACE
valueFrom: valueFrom:
fieldRef: fieldRef:
...@@ -172,6 +183,10 @@ containers: ...@@ -172,6 +183,10 @@ containers:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: status.podIP fieldPath: status.podIP
- name: SERVICE_ACCOUNT
valueFrom:
fieldRef:
fieldPath: spec.serviceAccountName
{{ if eq .Values.global.proxy.tracer "datadog" }} {{ if eq .Values.global.proxy.tracer "datadog" }}
- name: HOST_IP - name: HOST_IP
valueFrom: valueFrom:
...@@ -186,6 +201,8 @@ containers: ...@@ -186,6 +201,8 @@ containers:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: SDS_ENABLED
value: {{ $.Values.global.sds.enabled }}
- name: ISTIO_META_INTERCEPTION_MODE - name: ISTIO_META_INTERCEPTION_MODE
value: "{{ or (index .ObjectMeta.Annotations `sidecar.istio.io/interceptionMode`) .ProxyConfig.InterceptionMode.String }}" value: "{{ or (index .ObjectMeta.Annotations `sidecar.istio.io/interceptionMode`) .ProxyConfig.InterceptionMode.String }}"
- name: ISTIO_META_INCLUDE_INBOUND_PORTS - name: ISTIO_META_INCLUDE_INBOUND_PORTS
...@@ -204,6 +221,14 @@ containers: ...@@ -204,6 +221,14 @@ containers:
value: | value: |
{{ toJSON .ObjectMeta.Labels }} {{ toJSON .ObjectMeta.Labels }}
{{ end }} {{ 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://api/{{ .TypeMeta.APIVersion }}/namespaces/{{ valueOrDefault .DeploymentMeta.Namespace `default` }}/{{ toLower .TypeMeta.Kind}}s/{{ .DeploymentMeta.Name }}
{{- end}}
{{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }} {{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }}
- name: ISTIO_BOOTSTRAP_OVERRIDE - name: ISTIO_BOOTSTRAP_OVERRIDE
value: "/etc/istio/custom-bootstrap/custom_bootstrap.json" value: "/etc/istio/custom-bootstrap/custom_bootstrap.json"
...@@ -212,6 +237,13 @@ containers: ...@@ -212,6 +237,13 @@ containers:
- name: ISTIO_META_SDS_TOKEN_PATH - name: ISTIO_META_SDS_TOKEN_PATH
value: "{{ .Values.global.sds.customTokenDirectory -}}/sdstoken" value: "{{ .Values.global.sds.customTokenDirectory -}}/sdstoken"
{{- end }} {{- 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 }}
imagePullPolicy: {{ .Values.global.imagePullPolicy }} imagePullPolicy: {{ .Values.global.imagePullPolicy }}
{{ if ne (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) `0` }} {{ if ne (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) `0` }}
readinessProbe: readinessProbe:
...@@ -235,7 +267,7 @@ containers: ...@@ -235,7 +267,7 @@ containers:
- NET_ADMIN - NET_ADMIN
runAsGroup: 1337 runAsGroup: 1337
{{ else -}} {{ else -}}
{{ if and .Values.global.sds.enabled .Values.global.sds.useTrustworthyJwt }} {{ if .Values.global.sds.enabled }}
runAsGroup: 1337 runAsGroup: 1337
{{- end }} {{- end }}
runAsUser: 1337 runAsUser: 1337
...@@ -265,10 +297,8 @@ containers: ...@@ -265,10 +297,8 @@ containers:
- mountPath: /var/run/sds - mountPath: /var/run/sds
name: sds-uds-path name: sds-uds-path
readOnly: true readOnly: true
{{- if .Values.global.sds.useTrustworthyJwt }}
- mountPath: /var/run/secrets/tokens - mountPath: /var/run/secrets/tokens
name: istio-token name: istio-token
{{- end }}
{{- if .Values.global.sds.customTokenDirectory }} {{- if .Values.global.sds.customTokenDirectory }}
- mountPath: "{{ .Values.global.sds.customTokenDirectory -}}" - mountPath: "{{ .Values.global.sds.customTokenDirectory -}}"
name: custom-sds-token name: custom-sds-token
...@@ -303,19 +333,17 @@ volumes: ...@@ -303,19 +333,17 @@ volumes:
- name: sds-uds-path - name: sds-uds-path
hostPath: hostPath:
path: /var/run/sds path: /var/run/sds
{{- if .Values.global.sds.customTokenDirectory }}
- name: custom-sds-token
secret:
secretName: sdstokensecret
{{- end }}
{{- if .Values.global.sds.useTrustworthyJwt }}
- name: istio-token - name: istio-token
projected: projected:
sources: sources:
- serviceAccountToken: - serviceAccountToken:
path: istio-token path: istio-token
expirationSeconds: 43200 expirationSeconds: 43200
audience: {{ .Values.global.trustDomain }} audience: {{ .Values.global.sds.token.aud }}
{{- if .Values.global.sds.customTokenDirectory }}
- name: custom-sds-token
secret:
secretName: sdstokensecret
{{- end }} {{- end }}
{{- else }} {{- else }}
- name: istio-certs - name: istio-certs
...@@ -346,3 +374,13 @@ dnsConfig: ...@@ -346,3 +374,13 @@ dnsConfig:
- {{ render . }} - {{ render . }}
{{- end }} {{- end }}
{{- end }} {{- end }}
podRedirectAnnot:
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` }}"
labels: labels:
rancher.istio.v0.0.2: 1.2.5 rancher.istio.v0.0.2: 1.3.0
rancher_min_version: 2.3.0-rc1 rancher_min_version: 2.3.0-rc1
Thank you for installing {{ .Chart.Name }}. Thank you for installing {{ .Chart.Name | title }}.
Your release is named {{ .Release.Name }}. Your release is named {{ .Release.Name | title }}.
To get started running application with Istio, execute the following steps: To get started running application with Istio, execute the following steps:
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
values: values:
{{- range $key, $val := .Values.global.arch }} {{- range $key, $val := .Values.global.arch }}
{{- if gt ($val | int) 0 }} {{- if gt ($val | int) 0 }}
- {{ $key }} - {{ $key | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- $nodeSelector := default .Values.global.defaultNodeSelector .Values.nodeSelector -}} {{- $nodeSelector := default .Values.global.defaultNodeSelector .Values.nodeSelector -}}
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
- key: {{ $key }} - key: {{ $key }}
operator: In operator: In
values: values:
- {{ $val }} - {{ $val | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
- key: beta.kubernetes.io/arch - key: beta.kubernetes.io/arch
operator: In operator: In
values: values:
- {{ $key }} - {{ $key | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
values: values:
{{- $vals := split "," $item.values }} {{- $vals := split "," $item.values }}
{{- range $i, $v := $vals }} {{- range $i, $v := $vals }}
- {{ $v }} - {{ $v | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
topologyKey: {{ $item.topologyKey }} topologyKey: {{ $item.topologyKey }}
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
values: values:
{{- $vals := split "," $item.values }} {{- $vals := split "," $item.values }}
{{- range $i, $v := $vals }} {{- range $i, $v := $vals }}
- {{ $v }} - {{ $v | quote }}
{{- end }} {{- end }}
{{- end }} {{- end }}
topologyKey: {{ $item.topologyKey }} topologyKey: {{ $item.topologyKey }}
......
...@@ -19,6 +19,21 @@ data: ...@@ -19,6 +19,21 @@ data:
disablePolicyChecks: true disablePolicyChecks: true
{{- end }} {{- end }}
{{- if .Values.mixer.telemetry.reportBatchMaxEntries }}
# reportBatchMaxEntries is the number of requests that are batched before telemetry data is sent to the mixer server
reportBatchMaxEntries: {{ .Values.mixer.telemetry.reportBatchMaxEntries }}
{{- end }}
{{- if .Values.mixer.telemetry.reportBatchMaxTime }}
# reportBatchMaxTime is the max waiting time before the telemetry data of a request is sent to the mixer server
reportBatchMaxTime: {{ .Values.mixer.telemetry.reportBatchMaxTime }}
{{- end }}
{{- if .Values.mixer.telemetry.sessionAffinityEnabled }}
# sidecarToTelemetrySessionAffinity will create a STRICT_DNS type cluster for istio-telemetry.
sidecarToTelemetrySessionAffinity: {{ .Values.mixer.telemetry.sessionAffinityEnabled }}
{{- end }}
# Set enableTracing to false to disable request tracing. # Set enableTracing to false to disable request tracing.
enableTracing: {{ .Values.global.enableTracing }} enableTracing: {{ .Values.global.enableTracing }}
...@@ -35,6 +50,8 @@ data: ...@@ -35,6 +50,8 @@ data:
# Set accessLogEncoding to JSON or TEXT to configure sidecar access log # Set accessLogEncoding to JSON or TEXT to configure sidecar access log
accessLogEncoding: '{{ .Values.global.proxy.accessLogEncoding }}' accessLogEncoding: '{{ .Values.global.proxy.accessLogEncoding }}'
enableEnvoyAccessLogService: {{ .Values.global.proxy.envoyAccessLogService.enabled }}
{{- if .Values.global.istioRemote }} {{- if .Values.global.istioRemote }}
{{- if .Values.global.remotePolicyAddress }} {{- if .Values.global.remotePolicyAddress }}
...@@ -85,30 +102,27 @@ data: ...@@ -85,30 +102,27 @@ data:
# Default connect timeout for dynamic clusters generated by Pilot and returned via XDS # Default connect timeout for dynamic clusters generated by Pilot and returned via XDS
connectTimeout: 10s connectTimeout: 10s
# Automatic protocol detection uses a set of heuristics to
# determine whether the connection is using TLS or not (on the
# server side), as well as the application protocol being used
# (e.g., http vs tcp). These heuristics rely on the client sending
# the first bits of data. For server first protocols like MySQL,
# MongoDB, etc., Envoy will timeout on the protocol detection after
# the specified period, defaulting to non mTLS plain TCP
# traffic. Set this field to tweak the period that Envoy will wait
# for the client to send the first bits of data. (MUST BE >=1ms)
protocolDetectionTimeout: {{ .Values.global.proxy.protocolDetectionTimeout }}
# DNS refresh rate for Envoy clusters of type STRICT_DNS # DNS refresh rate for Envoy clusters of type STRICT_DNS
dnsRefreshRate: {{ .Values.global.proxy.dnsRefreshRate }} dnsRefreshRate: {{ .Values.global.proxy.dnsRefreshRate }}
# Unix Domain Socket through which envoy communicates with NodeAgent SDS to get # Unix Domain Socket through which envoy communicates with NodeAgent SDS to get
# key/cert for mTLS. Use secret-mount files instead of SDS if set to empty. # key/cert for mTLS. Use secret-mount files instead of SDS if set to empty.
sdsUdsPath: {{ .Values.global.sds.udsPath }} sdsUdsPath: {{ .Values.global.sds.udsPath | quote }}
# This flag is used by secret discovery service(SDS).
# If set to true(prerequisite: https://kubernetes.io/docs/concepts/storage/volumes/#projected), Istio will inject volumes mount
# for k8s service account JWT, so that K8s API server mounts k8s service account JWT to envoy container, which
# will be used to generate key/cert eventually. This isn't supported for non-k8s case.
enableSdsTokenMount: {{ .Values.global.sds.useTrustworthyJwt }}
# This flag is used by secret discovery service(SDS).
# If set to true, envoy will fetch normal k8s service account JWT from '/var/run/secrets/kubernetes.io/serviceaccount/token'
# (https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#accessing-the-api-from-a-pod)
# and pass to sds server, which will be used to request key/cert eventually.
# this flag is ignored if enableSdsTokenMount is set.
# This isn't supported for non-k8s case.
sdsUseK8sSaJwt: {{ .Values.global.sds.useNormalJwt }}
# The trust domain corresponds to the trust root of a system. # The trust domain corresponds to the trust root of a system.
# Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain # Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain
trustDomain: {{ .Values.global.trustDomain }} trustDomain: {{ .Values.global.trustDomain | quote }}
# Set the default behavior of the sidecar for handling outbound traffic from the application: # Set the default behavior of the sidecar for handling outbound traffic from the application:
# ALLOW_ANY - outbound traffic to unknown destinations will be allowed, in case there are no # ALLOW_ANY - outbound traffic to unknown destinations will be allowed, in case there are no
...@@ -118,16 +132,17 @@ data: ...@@ -118,16 +132,17 @@ data:
outboundTrafficPolicy: outboundTrafficPolicy:
mode: {{ .Values.global.outboundTrafficPolicy.mode }} mode: {{ .Values.global.outboundTrafficPolicy.mode }}
{{- if .Values.global.localityLbSetting.enabled }}
localityLbSetting: localityLbSetting:
{{ toYaml .Values.global.localityLbSetting | indent 6 }} {{ toYaml .Values.global.localityLbSetting | trim | indent 6 }}
{{- end }}
# The namespace to treat as the administrative root namespace for istio # The namespace to treat as the administrative root namespace for istio
# configuration. # configuration.
{{- if .Values.global.configRootNamespace }} {{- if .Values.global.configRootNamespace }}
rootNamespace: {{ .Values.global.configRootNamespace }} rootNamespace: {{ .Values.global.configRootNamespace }}
{{- else }} {{- else }}
rootNamespace: {{ .Release.Namespace }} rootNamespace: {{ .Release.Namespace }}
{{- end }} {{- end }}
{{- if .Values.global.defaultConfigVisibilitySettings }} {{- if .Values.global.defaultConfigVisibilitySettings }}
defaultServiceExportTo: defaultServiceExportTo:
...@@ -222,6 +237,9 @@ data: ...@@ -222,6 +237,9 @@ data:
datadog: datadog:
# Address of the Datadog Agent # Address of the Datadog Agent
address: {{ .Values.global.tracer.datadog.address }} address: {{ .Values.global.tracer.datadog.address }}
{{- else if eq .Values.global.proxy.tracer "stackdriver" }}
tracing:
stackdriver: {}
{{- end }} {{- end }}
{{- if .Values.global.proxy.envoyStatsd.enabled }} {{- if .Values.global.proxy.envoyStatsd.enabled }}
...@@ -233,7 +251,23 @@ data: ...@@ -233,7 +251,23 @@ data:
{{- if .Values.global.proxy.envoyMetricsService.enabled }} {{- if .Values.global.proxy.envoyMetricsService.enabled }}
# #
# Envoy's Metrics Service stats sink pushes Envoy metrics to a remote collector via the Metrics Service gRPC API. # Envoy's Metrics Service stats sink pushes Envoy metrics to a remote collector via the Metrics Service gRPC API.
envoyMetricsServiceAddress: {{ .Values.global.proxy.envoyMetricsService.host }}:{{ .Values.global.proxy.envoyMetricsService.port }} envoyMetricsService:
address: {{ .Values.global.proxy.envoyMetricsService.host }}:{{ .Values.global.proxy.envoyMetricsService.port }}
{{- end}}
{{- if .Values.global.proxy.envoyAccessLogService.enabled }}
#
# Envoy's AccessLog Service pushes access logs to a remote collector via the Access Log Service gRPC API.
envoyAccessLogService:
address: {{ .Values.global.proxy.envoyAccessLogService.host }}:{{ .Values.global.proxy.envoyAccessLogService.port }}
{{- if .Values.global.proxy.envoyAccessLogService.tlsSettings }}
tlsSettings:
{{ toYaml .Values.global.proxy.envoyAccessLogService.tlsSettings | indent 10 }}
{{- end}}
{{- if .Values.global.proxy.envoyAccessLogService.tcpKeepalive }}
tcpKeepalive:
{{ toYaml .Values.global.proxy.envoyAccessLogService.tcpKeepalive | indent 10 }}
{{- end}}
{{- end}} {{- end}}
{{- $defPilotHostname := printf "istio-pilot.%s" .Release.Namespace }} {{- $defPilotHostname := printf "istio-pilot.%s" .Release.Namespace }}
......
...@@ -17,9 +17,9 @@ data: ...@@ -17,9 +17,9 @@ data:
config: |- config: |-
policy: {{ .Values.global.proxy.autoInject }} policy: {{ .Values.global.proxy.autoInject }}
alwaysInjectSelector: alwaysInjectSelector:
{{ toYaml .Values.sidecarInjectorWebhook.alwaysInjectSelector | indent 6 }} {{ toYaml .Values.sidecarInjectorWebhook.alwaysInjectSelector | trim | indent 6 }}
neverInjectSelector: neverInjectSelector:
{{ toYaml .Values.sidecarInjectorWebhook.neverInjectSelector | indent 6 }} {{ toYaml .Values.sidecarInjectorWebhook.neverInjectSelector | trim | indent 6 }}
template: |- template: |-
{{ .Files.Get "files/injection-template.yaml" | indent 6 }} {{ .Files.Get "files/injection-template.yaml" | trim | indent 6 }}
{{- end }} {{- end }}
...@@ -26,7 +26,7 @@ gateways: ...@@ -26,7 +26,7 @@ gateways:
# #
sidecarInjectorWebhook: sidecarInjectorWebhook:
repository: rancher/istio-sidecar_injector repository: rancher/istio-sidecar_injector
tag: "1.2.5" tag: "1.3.0"
enabled: true enabled: true
# #
...@@ -35,7 +35,7 @@ sidecarInjectorWebhook: ...@@ -35,7 +35,7 @@ sidecarInjectorWebhook:
# #
galley: galley:
repository: rancher/istio-galley repository: rancher/istio-galley
tag: 1.2.5 tag: 1.3.0
enabled: true enabled: true
# #
...@@ -44,7 +44,7 @@ galley: ...@@ -44,7 +44,7 @@ galley:
# @see charts/mixer/values.yaml, it takes precedence # @see charts/mixer/values.yaml, it takes precedence
mixer: mixer:
repository: rancher/istio-mixer repository: rancher/istio-mixer
tag: "1.2.5" tag: "1.3.0"
enabled: true enabled: true
policy: policy:
# if policy is enabled the global.disablePolicyChecks has affect. # if policy is enabled the global.disablePolicyChecks has affect.
...@@ -58,7 +58,7 @@ mixer: ...@@ -58,7 +58,7 @@ mixer:
# @see charts/pilot/values.yaml # @see charts/pilot/values.yaml
pilot: pilot:
repository: rancher/istio-pilot repository: rancher/istio-pilot
tag: "1.2.5" tag: "1.3.0"
enabled: true enabled: true
# #
...@@ -66,7 +66,7 @@ pilot: ...@@ -66,7 +66,7 @@ pilot:
# #
security: security:
repository: rancher/istio-citadel repository: rancher/istio-citadel
tag: "1.2.5" tag: "1.3.0"
enabled: true enabled: true
# #
...@@ -80,7 +80,7 @@ nodeagent: ...@@ -80,7 +80,7 @@ nodeagent:
# #
grafana: grafana:
repository: rancher/grafana-grafana repository: rancher/grafana-grafana
tag: 6.1.6 tag: 6.3.2
enabled: false enabled: false
# #
...@@ -88,7 +88,7 @@ grafana: ...@@ -88,7 +88,7 @@ grafana:
# #
prometheus: prometheus:
repository: rancher/prom-prometheus repository: rancher/prom-prometheus
tag: v2.8.0 tag: v2.11.1
enabled: true enabled: true
# #
...@@ -97,10 +97,10 @@ prometheus: ...@@ -97,10 +97,10 @@ prometheus:
tracing: tracing:
jaeger: jaeger:
repository: rancher/jaegertracing-all-in-one repository: rancher/jaegertracing-all-in-one
tag: 1.9 tag: 1.12
zipkin: zipkin:
repository: rancher/openzipkin-zipkin repository: rancher/openzipkin-zipkin
tag: 2 tag: 2.14.2
enabled: true enabled: true
# #
...@@ -108,7 +108,7 @@ tracing: ...@@ -108,7 +108,7 @@ tracing:
# #
kiali: kiali:
repository: rancher/kiali-kiali repository: rancher/kiali-kiali
tag: v0.20 tag: v1.4.2
enabled: true enabled: true
# #
...@@ -160,7 +160,7 @@ global: ...@@ -160,7 +160,7 @@ global:
# Default tag for Istio images. # Default tag for Istio images.
# tag: release-1.1-latest-daily # tag: release-1.1-latest-daily
tag: 1.2.5 tag: 1.3.0
# Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level> # Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>
# The control plane has different scopes depending on component, but can configure default log level across all components # The control plane has different scopes depending on component, but can configure default log level across all components
...@@ -170,7 +170,7 @@ global: ...@@ -170,7 +170,7 @@ global:
kubectl: kubectl:
repository: rancher/istio-kubectl repository: rancher/istio-kubectl
tag: 1.2.5 tag: 1.3.0
# monitoring port used by mixer, pilot, galley # monitoring port used by mixer, pilot, galley
monitoringPort: 15014 monitoringPort: 15014
...@@ -192,9 +192,22 @@ global: ...@@ -192,9 +192,22 @@ global:
# will result in LDS rejection and the ingress will not work. # will result in LDS rejection and the ingress will not work.
enableHttps: false enableHttps: false
curl:
repository: rancher/pstauffer-curl
tag: v1.0.3
proxy: proxy:
# Configuration for the proxy init container
init:
resources:
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 10m
memory: 10Mi
repository: rancher/istio-proxyv2 repository: rancher/istio-proxyv2
tag: 1.2.5 tag: 1.3.0
# cluster domain. Default value is "cluster.local". # cluster domain. Default value is "cluster.local".
clusterDomain: "cluster.local" clusterDomain: "cluster.local"
...@@ -209,7 +222,7 @@ global: ...@@ -209,7 +222,7 @@ global:
memory: 1024Mi memory: 1024Mi
# Controls number of Proxy worker threads. # Controls number of Proxy worker threads.
# If set to 0 (default), then start worker thread for each CPU thread/core. # If set to 0, then start worker thread for each CPU thread/core.
concurrency: 2 concurrency: 2
# Configures the access log for each sidecar. # Configures the access log for each sidecar.
...@@ -225,6 +238,24 @@ global: ...@@ -225,6 +238,24 @@ global:
# Configure the access log for sidecar to JSON or TEXT. # Configure the access log for sidecar to JSON or TEXT.
accessLogEncoding: TEXT accessLogEncoding: TEXT
# Configure envoy gRPC access log service.
envoyAccessLogService:
enabled: false
host: # example: accesslog-service.istio-system
port: # example: 15000
tlsSettings:
mode: DISABLE # DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL
clientCertificate: # example: /etc/istio/als/cert-chain.pem
privateKey: # example: /etc/istio/als/key.pem
caCertificates: # example: /etc/istio/als/root-cert.pem
sni: # example: als.somedomain
subjectAltNames: []
# - als.somedomain
tcpKeepalive:
probes: 3
time: 10s
interval: 10s
# Log level for proxy, applies to gateways and sidecars. If left empty, "warning" is used. # Log level for proxy, applies to gateways and sidecars. If left empty, "warning" is used.
# Expected values are: trace|debug|info|warning|error|critical|off # Expected values are: trace|debug|info|warning|error|critical|off
logLevel: "" logLevel: ""
...@@ -237,12 +268,26 @@ global: ...@@ -237,12 +268,26 @@ global:
# This must be given it terms of seconds. For example, 300s is valid but 5m is invalid. # This must be given it terms of seconds. For example, 300s is valid but 5m is invalid.
dnsRefreshRate: 300s dnsRefreshRate: 300s
# Automatic protocol detection uses a set of heuristics to
# determine whether the connection is using TLS or not (on the
# server side), as well as the application protocol being used
# (e.g., http vs tcp). These heuristics rely on the client sending
# the first bits of data. For server first protocols like MySQL,
# MongoDB, etc., Envoy will timeout on the protocol detection after
# the specified period, defaulting to non mTLS plain TCP
# traffic. Set this field to tweak the period that Envoy will wait
# for the client to send the first bits of data. (MUST BE >=1ms)
protocolDetectionTimeout: 100ms
#If set to true, istio-proxy container will have privileged securityContext #If set to true, istio-proxy container will have privileged securityContext
privileged: false privileged: false
# If set, newly injected sidecars will have core dumps enabled. # If set, newly injected sidecars will have core dumps enabled.
enableCoreDump: false enableCoreDump: false
# Image used to enable core dumps. This is only used, when "enableCoreDump" is set to true.
enableCoreDumpImage: ubuntu:xenial
# Default port for Pilot agent health checks. A value of 0 will disable health checking. # Default port for Pilot agent health checks. A value of 0 will disable health checking.
statusPort: 15020 statusPort: 15020
...@@ -302,13 +347,14 @@ global: ...@@ -302,13 +347,14 @@ global:
host: # example: metrics-service.istio-system host: # example: metrics-service.istio-system
port: # example: 15000 port: # example: 15000
# Specify which tracer to use. One of: lightstep, zipkin, datadog # Specify which tracer to use. One of: zipkin, lightstep, datadog, stackdriver.
# If using stackdriver tracer outside GCP, set env GOOGLE_APPLICATION_CREDENTIALS to the GCP credential file.
tracer: "zipkin" tracer: "zipkin"
proxy_init: proxy_init:
# Base name for the proxy_init container, used to configure iptables. # Base name for the proxy_init container, used to configure iptables.
repository: rancher/istio-proxy_init repository: rancher/istio-proxy_init
tag: "1.2.5" tag: "1.3.0"
# imagePullPolicy is applied to istio control plane components. # imagePullPolicy is applied to istio control plane components.
# local tests require IfNotPresent, to avoid uploading to dockerhub. # local tests require IfNotPresent, to avoid uploading to dockerhub.
...@@ -361,11 +407,7 @@ global: ...@@ -361,11 +407,7 @@ global:
# destination rules or service annotations. # destination rules or service annotations.
enabled: false enabled: false
# ImagePullSecrets for all ServiceAccount, list of secrets in the same namespace # Lists the secrets you need to use to pull Istio images from a private registry.
# to use for pulling any images in pods that reference this ServiceAccount.
# For components that don't use ServiceAccounts (i.e. grafana, servicegraph, tracing)
# ImagePullSecrets will be added to the corresponding Deployment(StatefulSet) objects.
# Must be set for any cluster configured with private docker registry.
imagePullSecrets: imagePullSecrets:
# - private-registry-key # - private-registry-key
...@@ -408,15 +450,15 @@ global: ...@@ -408,15 +450,15 @@ global:
# set of DNS settings than the normal application pods (e.g., in # set of DNS settings than the normal application pods (e.g., in
# multicluster scenarios). # multicluster scenarios).
# NOTE: If using templates, follow the pattern in the commented example below. # NOTE: If using templates, follow the pattern in the commented example below.
#podDNSSearchNamespaces: # podDNSSearchNamespaces:
#- global # - global
#- "[[ valueOrDefault .DeploymentMeta.Namespace \"default\" ]].global" # - "[[ valueOrDefault .DeploymentMeta.Namespace \"default\" ]].global"
# If set to true, the pilot and citadel mtls will be exposed on the # If set to true, the pilot and citadel mtls will be exposed on the
# ingress gateway # ingress gateway
meshExpansion: meshExpansion:
enabled: false enabled: false
# If set to true, the pilot and citadel mtls and the plain text pilot ports # If set to true, the pilot and citadel mtls and the plaintext pilot ports
# will be exposed on an internal gateway # will be exposed on an internal gateway
useILB: false useILB: false
...@@ -427,6 +469,10 @@ global: ...@@ -427,6 +469,10 @@ global:
# have a shared root CA for this model to work. # have a shared root CA for this model to work.
enabled: false enabled: false
# Should be set to the name of the cluster this installation will run in. This is required for sidecar injection
# to properly label proxies
clusterName: ""
# A minimal set of requested resources to applied to all deployments so that # A minimal set of requested resources to applied to all deployments so that
# Horizontal Pod Autoscaler will be able to function (if set). # Horizontal Pod Autoscaler will be able to function (if set).
# Each component can overwrite these default values by adding its own resources # Each component can overwrite these default values by adding its own resources
...@@ -465,6 +511,29 @@ global: ...@@ -465,6 +511,29 @@ global:
# else: default dns domain # else: default dns domain
trustDomain: "" trustDomain: ""
# Mesh ID means Mesh Identifier. It should be unique within the scope where
# meshes will interact with each other, but it is not required to be
# globally/universally unique. For example, if any of the following are true,
# then two meshes must have different Mesh IDs:
# - Meshes will have their telemetry aggregated in one place
# - Meshes will be federated together
# - Policy will be written referencing one mesh from the other
#
# If an administrator expects that any of these conditions may become true in
# the future, they should ensure their meshes have different Mesh IDs
# assigned.
#
# Within a multicluster mesh, each cluster must be (manually or auto)
# configured to have the same Mesh ID value. If an existing cluster 'joins' a
# multicluster mesh, it will need to be migrated to the new mesh ID. Details
# of migration TBD, and it may be a disruptive operation to change the Mesh
# ID post-install.
#
# If the mesh admin does not specify a value, Istio will use the value of the
# mesh's Trust Domain. The best practice is to select a proper Trust Domain
# value.
meshID: ""
# Set the default behavior of the sidecar for handling outbound traffic from the application: # Set the default behavior of the sidecar for handling outbound traffic from the application:
# ALLOW_ANY - outbound traffic to unknown destinations will be allowed, in case there are no # ALLOW_ANY - outbound traffic to unknown destinations will be allowed, in case there are no
# services or ServiceEntries for the destination port # services or ServiceEntries for the destination port
...@@ -486,19 +555,22 @@ global: ...@@ -486,19 +555,22 @@ global:
# should be one of the following two options: # should be one of the following two options:
# * implies these objects are visible to all namespaces, enabling any sidecar to talk to any other sidecar. # * implies these objects are visible to all namespaces, enabling any sidecar to talk to any other sidecar.
# . implies these objects are visible to only to sidecars in the same namespace, or if imported as a Sidecar.egress.host # . implies these objects are visible to only to sidecars in the same namespace, or if imported as a Sidecar.egress.host
#defaultConfigVisibilitySettings: # defaultConfigVisibilitySettings:
#- '*' #- '*'
nodeAgent: nodeAgent:
repository: rancher/istio-node-agent-k8s repository: rancher/istio-node-agent-k8s
tag: "1.2.5" tag: "1.3.0"
sds: sds:
# SDS enabled. IF set to true, mTLS certificates for the sidecars will be # SDS enabled. IF set to true, mTLS certificates for the sidecars will be
# distributed through the SecretDiscoveryService instead of using K8S secrets to mount the certificates. # distributed through the SecretDiscoveryService instead of using K8S secrets to mount the certificates.
enabled: false enabled: false
udsPath: "" udsPath: ""
useTrustworthyJwt: false # The JWT token for SDS and the aud field of such JWT. See RFC 7519, section 4.1.3.
useNormalJwt: false # When a CSR is sent from Citadel Agent to the CA (e.g. Citadel), this aud is to make sure the
# JWT is intended for the CA.
token:
aud: istio-ca
# Configure the mesh networks to be used by the Split Horizon EDS. # Configure the mesh networks to be used by the Split Horizon EDS.
# #
...@@ -532,9 +604,11 @@ global: ...@@ -532,9 +604,11 @@ global:
# Specifies the global locality load balancing settings. # Specifies the global locality load balancing settings.
# Locality-weighted load balancing allows administrators to control the distribution of traffic to # Locality-weighted load balancing allows administrators to control the distribution of traffic to
# endpoints based on the localities of where the traffic originates and where it will terminate. # endpoints based on the localities of where the traffic originates and where it will terminate.
# Please set either failover or distribute configuration but not both. # Either failover or distribute configuration can be set, but not both. If neither are provided
# failover mode will be used.
# #
# localityLbSetting: # localityLbSetting:
# enabled: true
# distribute: # distribute:
# - from: "us-central1/*" # - from: "us-central1/*"
# to: # to:
...@@ -542,12 +616,14 @@ global: ...@@ -542,12 +616,14 @@ global:
# "us-central2/*": 20 # "us-central2/*": 20
# #
# localityLbSetting: # localityLbSetting:
# enabled: true
# failover: # failover:
# - from: us-east # - from: us-east
# to: eu-west # to: eu-west
# - from: us-west # - from: us-west
# to: us-east # to: us-east
localityLbSetting: {} localityLbSetting:
enabled: true
# Specifies whether helm test is enabled or not. # Specifies whether helm test is enabled or not.
# This field is set to false by default, so 'helm template ...' # This field is set to false by default, so 'helm template ...'
......
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "",
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"links": [],
"panels": [
{
"collapsed": false,
"datasource": "RANCHER_MONITORING",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 8,
"panels": [],
"title": "Performance",
"type": "row"
},
{
"aliasColors": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "CPU usage across Citadel instances.",
"fill": 1,
"gridPos": {
"h": 6,
"w": 8,
"x": 0,
"y": 1
},
"id": 10,
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"citadel\", pod_name=~\"istio-citadel-.*\"}[4m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Citadel CPU usage rate",
"refId": "A"
},
{
"expr": "irate(process_cpu_seconds_total{job=\"istio/citadel\"}[4m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Citadel CPU usage irate",
"refId": "C"
}
],
"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": "",
"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": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "Citadel process memory statistics.",
"fill": 1,
"gridPos": {
"h": 6,
"w": 8,
"x": 8,
"y": 1
},
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "process_virtual_memory_bytes{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Virtual Memory",
"refId": "A"
},
{
"expr": "process_resident_memory_bytes{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Resident Memory",
"refId": "B"
},
{
"expr": "go_memstats_heap_sys_bytes{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Heap Memory Total",
"refId": "C"
},
{
"expr": "go_memstats_alloc_bytes{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Heap Memory Allocated",
"refId": "E"
},
{
"expr": "go_memstats_heap_inuse_bytes{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Heap Inuse",
"refId": "F"
}
],
"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": "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": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"fill": 1,
"gridPos": {
"h": 6,
"w": 8,
"x": 16,
"y": 1
},
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "go_goroutines{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Goroutines",
"refId": "A"
}
],
"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": 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": 7
},
"id": 28,
"panels": [],
"title": "General",
"type": "row"
},
{
"aliasColors": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "Total number of CSR requests made to Citadel.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 12,
"x": 0,
"y": 8
},
"id": 30,
"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": "citadel_server_csr_count{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "CSR Request Count",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "CSR Requests",
"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": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "The number of certificates issuances that have succeeded.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 12,
"x": 12,
"y": 8
},
"id": 32,
"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": "citadel_server_success_cert_issuance_count{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Certificates Issued",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Certificates Issued",
"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": 13
},
"id": 23,
"panels": [],
"title": "Errors",
"type": "row"
},
{
"aliasColors": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "The number of errors occurred when creating the CSR.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 0,
"y": 14
},
"id": 20,
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "citadel_secret_controller_csr_err_count{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "CSR Creation Error Count",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "CSR Creation 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": "",
"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": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 8,
"y": 14
},
"id": 24,
"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": "citadel_server_csr_parsing_err_count{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "CSR Parse Error Count",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "CSR Parse 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": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "The number of authentication failures.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 16,
"y": 14
},
"id": 26,
"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": "citadel_server_authentication_failure_count{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Authentication Failure Count",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Authentication Failures",
"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": 19
},
"id": 4,
"panels": [],
"title": "Secret Controller",
"type": "row"
},
{
"aliasColors": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "The number of certificates created due to service account creation.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 0,
"y": 20
},
"id": 2,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "citadel_secret_controller_svc_acc_created_cert_count{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "SA Secrets Created",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Account Secrets Created (due to SA creation)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": null,
"format": "short",
"label": "Certs Created",
"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": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "The number of certificates deleted due to service account deletion.",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 8,
"y": 20
},
"id": 16,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "null",
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "citadel_secret_controller_svc_acc_deleted_cert_count{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "SA Secrets Deleted",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Account Secrets Deleted (due to SA deletion)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": null,
"format": "short",
"label": "Certs Created",
"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": {},
"datasource": "RANCHER_MONITORING",
"bars": false,
"dashLength": 10,
"dashes": false,
"description": "The number of certificates recreated due to secret deletion (service account still exists).",
"fill": 1,
"gridPos": {
"h": 5,
"w": 8,
"x": 16,
"y": 20
},
"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": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "citadel_secret_controller_secret_deleted_cert_count{job=\"istio/citadel\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "SA Secrets Recreated",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Account Secrets Recreated (due to errant deletion)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": null,
"format": "short",
"label": "Certs Created",
"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": "",
"title": "Istio Citadel Dashboard",
"uid": "OOyOqb4Wz",
"version": 1
}
\ No newline at end of file
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
} }
] ]
}, },
"editable": false, "editable": true,
"gnetId": null, "gnetId": null,
"graphTooltip": 0, "graphTooltip": 0,
"links": [], "links": [],
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
"refId": "H" "refId": "H"
}, },
{ {
"expr": "sum(container_memory_usage_bytes{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"})", "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Total (kis)", "legendFormat": "Total (kis)",
...@@ -286,14 +286,14 @@ ...@@ -286,14 +286,14 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[4m]))", "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[4m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "Total (k8s)", "legendFormat": "Total (k8s)",
"refId": "A" "refId": "A"
}, },
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[4m])) by (container_name)", "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[4m])) by (container_name)",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ container_name }} (k8s)", "legendFormat": "{{ container_name }} (k8s)",
...@@ -392,7 +392,7 @@ ...@@ -392,7 +392,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "container_fs_usage_bytes{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}", "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ container_name }} ", "legendFormat": "{{ container_name }} ",
...@@ -484,14 +484,14 @@ ...@@ -484,14 +484,14 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "galley_mcp_source_clients_total", "expr": "istio_mcp_clients_total{component=\"galley\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "clients_total", "legendFormat": "clients_total",
"refId": "B" "refId": "B"
}, },
{ {
"expr": "go_goroutines{job=\"istio/galley\"}/galley_mcp_source_clients_total", "expr": "go_goroutines{job=\"istio/galley\"}/sum(istio_mcp_clients_total{component=\"galley\"}) without (component)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "avg_goroutines_per_client", "legendFormat": "avg_goroutines_per_client",
...@@ -1548,7 +1548,7 @@ ...@@ -1548,7 +1548,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(galley_mcp_source_clients_total)", "expr": "sum(istio_mcp_clients_total{component=\"galley\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Clients", "legendFormat": "Clients",
...@@ -1633,7 +1633,7 @@ ...@@ -1633,7 +1633,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum by(collection)(irate(galley_mcp_source_request_acks_total[4m]) * 60)", "expr": "sum by(collection)(irate(istio_mcp_request_acks_total{component=\"galley\"}[4m]) * 60)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "", "legendFormat": "",
...@@ -1718,7 +1718,7 @@ ...@@ -1718,7 +1718,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "rate(galley_mcp_source_request_nacks_total[4m]) * 60", "expr": "rate(istio_mcp_request_nacks_total{component=\"galley\"}[4m]) * 60",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"refId": "A" "refId": "A"
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
} }
] ]
}, },
"editable": false, "editable": true,
"gnetId": null, "gnetId": null,
"graphTooltip": 0, "graphTooltip": 0,
"id": null, "id": null,
...@@ -154,7 +154,6 @@ ...@@ -154,7 +154,6 @@
], ],
"thresholds": "", "thresholds": "",
"title": "Global Request Volume", "title": "Global Request Volume",
"transparent": false,
"type": "singlestat", "type": "singlestat",
"valueFontSize": "80%", "valueFontSize": "80%",
"valueMaps": [ "valueMaps": [
...@@ -236,7 +235,6 @@ ...@@ -236,7 +235,6 @@
], ],
"thresholds": "95, 99, 99.5", "thresholds": "95, 99, 99.5",
"title": "Global Success Rate (non-5xx responses)", "title": "Global Success Rate (non-5xx responses)",
"transparent": false,
"type": "singlestat", "type": "singlestat",
"valueFontSize": "80%", "valueFontSize": "80%",
"valueMaps": [ "valueMaps": [
...@@ -318,7 +316,6 @@ ...@@ -318,7 +316,6 @@
], ],
"thresholds": "", "thresholds": "",
"title": "4xxs", "title": "4xxs",
"transparent": false,
"type": "singlestat", "type": "singlestat",
"valueFontSize": "80%", "valueFontSize": "80%",
"valueMaps": [ "valueMaps": [
...@@ -400,7 +397,6 @@ ...@@ -400,7 +397,6 @@
], ],
"thresholds": "", "thresholds": "",
"title": "5xxs", "title": "5xxs",
"transparent": false,
"type": "singlestat", "type": "singlestat",
"valueFontSize": "80%", "valueFontSize": "80%",
"valueMaps": [ "valueMaps": [
...@@ -413,6 +409,331 @@ ...@@ -413,6 +409,331 @@
"valueName": "avg" "valueName": "avg"
}, },
{ {
"cacheTimeout": null,
"colorBackground": false,
"colorValue": false,
"colors": [
"#299c46",
"rgba(237, 129, 40, 0.89)",
"#d44a3a"
],
"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": "sum(galley_istio_networking_virtualservices) / count(up{job=\"istio/galley\"})",
"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"
],
"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": "sum(galley_istio_networking_destinationrules) / count(up{job=\"istio/galley\"})",
"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"
],
"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": "sum(galley_istio_networking_gateways) / count(up{job=\"istio/galley\"})",
"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"
],
"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": "sum(galley_istio_authentication_meshpolicies) / count(up{job=\"istio/galley\"})",
"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": [], "columns": [],
"datasource": "RANCHER_MONITORING", "datasource": "RANCHER_MONITORING",
"fontSize": "100%", "fontSize": "100%",
...@@ -420,7 +741,7 @@ ...@@ -420,7 +741,7 @@
"h": 21, "h": 21,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 6 "y": 9
}, },
"hideTimeOverride": false, "hideTimeOverride": false,
"id": 73, "id": 73,
...@@ -612,7 +933,7 @@ ...@@ -612,7 +933,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "label_join(histogram_quantile(0.50, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", "expr": "label_join((histogram_quantile(0.50, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.50, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
"format": "table", "format": "table",
"hide": false, "hide": false,
"instant": true, "instant": true,
...@@ -621,7 +942,7 @@ ...@@ -621,7 +942,7 @@
"refId": "B" "refId": "B"
}, },
{ {
"expr": "label_join(histogram_quantile(0.90, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", "expr": "label_join((histogram_quantile(0.90, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.90, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
"format": "table", "format": "table",
"hide": false, "hide": false,
"instant": true, "instant": true,
...@@ -630,7 +951,7 @@ ...@@ -630,7 +951,7 @@
"refId": "D" "refId": "D"
}, },
{ {
"expr": "label_join(histogram_quantile(0.99, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", "expr": "label_join((histogram_quantile(0.99, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.99, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
"format": "table", "format": "table",
"hide": false, "hide": false,
"instant": true, "instant": true,
...@@ -652,7 +973,6 @@ ...@@ -652,7 +973,6 @@
"timeFrom": null, "timeFrom": null,
"title": "HTTP/GRPC Workloads", "title": "HTTP/GRPC Workloads",
"transform": "table", "transform": "table",
"transparent": false,
"type": "table" "type": "table"
}, },
{ {
...@@ -663,7 +983,7 @@ ...@@ -663,7 +983,7 @@
"h": 18, "h": 18,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 27 "y": 30
}, },
"hideTimeOverride": false, "hideTimeOverride": false,
"id": 109, "id": 109,
...@@ -820,7 +1140,6 @@ ...@@ -820,7 +1140,6 @@
"timeFrom": null, "timeFrom": null,
"title": "TCP Workloads", "title": "TCP Workloads",
"transform": "table", "transform": "table",
"transparent": false,
"type": "table" "type": "table"
}, },
{ {
...@@ -834,7 +1153,7 @@ ...@@ -834,7 +1153,7 @@
"h": 9, "h": 9,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 45 "y": 48
}, },
"id": 111, "id": 111,
"legend": { "legend": {
...@@ -871,6 +1190,7 @@ ...@@ -871,6 +1190,7 @@
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Istio Components by Version", "title": "Istio Components by Version",
"tooltip": { "tooltip": {
...@@ -878,7 +1198,6 @@ ...@@ -878,7 +1198,6 @@
"sort": 0, "sort": 0,
"value_type": "individual" "value_type": "individual"
}, },
"transparent": false,
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null, "buckets": null,
...@@ -912,7 +1231,7 @@ ...@@ -912,7 +1231,7 @@
} }
], ],
"refresh": "5s", "refresh": "5s",
"schemaVersion": 16, "schemaVersion": 18,
"style": "dark", "style": "dark",
"tags": [], "tags": [],
"templating": { "templating": {
...@@ -949,5 +1268,5 @@ ...@@ -949,5 +1268,5 @@
}, },
"timezone": "browser", "timezone": "browser",
"title": "Istio Mesh Dashboard", "title": "Istio Mesh Dashboard",
"version": 4 "version": 5
} }
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
} }
] ]
}, },
"editable": false, "editable": true,
"gnetId": null, "gnetId": null,
"graphTooltip": 1, "graphTooltip": 1,
"id": null, "id": null,
...@@ -263,7 +263,7 @@ ...@@ -263,7 +263,7 @@
"refId": "G" "refId": "G"
}, },
{ {
"expr": "sum(label_replace(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (service)", "expr": "sum(label_replace(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (service)",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -271,7 +271,7 @@ ...@@ -271,7 +271,7 @@
"refId": "C" "refId": "C"
}, },
{ {
"expr": "sum(label_replace(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)", "expr": "sum(label_replace(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -356,7 +356,7 @@ ...@@ -356,7 +356,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[4m])) by (pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")", "expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[4m])) by (pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -364,7 +364,7 @@ ...@@ -364,7 +364,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[4m])) by (container_name, pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")", "expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[4m])) by (container_name, pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
...@@ -467,7 +467,7 @@ ...@@ -467,7 +467,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "sum(label_replace(container_fs_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)", "expr": "sum(label_replace(container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ service }} - {{ container_name }}", "legendFormat": "{{ service }} - {{ container_name }}",
......
{ {
"__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": { "annotations": {
"list": [ "list": [
{ {
...@@ -48,13 +12,57 @@ ...@@ -48,13 +12,57 @@
} }
] ]
}, },
"editable": false, "editable": true,
"gnetId": null, "gnetId": null,
"graphTooltip": 0, "graphTooltip": 0,
"id": null, "id": 9,
"links": [], "links": [],
"panels": [ "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": {}, "aliasColors": {},
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
...@@ -62,12 +70,12 @@ ...@@ -62,12 +70,12 @@
"datasource": "RANCHER_MONITORING", "datasource": "RANCHER_MONITORING",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 9, "h": 8,
"w": 12, "w": 12,
"x": 0, "x": 0,
"y": 0 "y": 2
}, },
"id": 2, "id": 4,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -82,7 +90,7 @@ ...@@ -82,7 +90,7 @@
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null",
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
"seriesOverrides": [], "seriesOverrides": [],
...@@ -91,28 +99,29 @@ ...@@ -91,28 +99,29 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "(sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))/ (round(sum(irate(istio_requests_total[4m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)", "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))/ (round(sum(irate(istio_requests_total[4m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-telemetry", "legendFormat": "istio-telemetry",
"refId": "A" "refId": "A"
}, },
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[4m])) / (round(sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[4m])), 0.001)/1000)", "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[4m])) / (round(sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[4m])), 0.001)/1000))",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-ingressgateway", "legendFormat": "istio-ingressgateway",
"refId": "B" "refId": "B"
}, },
{ {
"expr": "(sum(rate(container_cpu_usage_seconds_total{namespace!=\"istio-system\",container_name=\"istio-proxy\"}[4m]))/ (round(sum(irate(istio_requests_total[4m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)", "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"}[4m]))/ (round(sum(irate(istio_requests_total[4m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-proxy", "legendFormat": "istio-proxy",
"refId": "C" "refId": "C"
}, },
{ {
"expr": "(sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))/ (round(sum(irate(istio_requests_total[4m])), 0.001)/1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)", "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))/ (round(sum(irate(istio_requests_total[4m])), 0.001)/1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-policy", "legendFormat": "istio-policy",
...@@ -121,6 +130,7 @@ ...@@ -121,6 +130,7 @@
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "vCPU / 1k rps", "title": "vCPU / 1k rps",
"tooltip": { "tooltip": {
...@@ -167,12 +177,12 @@ ...@@ -167,12 +177,12 @@
"datasource": "RANCHER_MONITORING", "datasource": "RANCHER_MONITORING",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 9, "h": 8,
"w": 12, "w": 12,
"x": 12, "x": 12,
"y": 0 "y": 2
}, },
"id": 6, "id": 7,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -187,7 +197,7 @@ ...@@ -187,7 +197,7 @@
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null",
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
"seriesOverrides": [], "seriesOverrides": [],
...@@ -196,28 +206,28 @@ ...@@ -196,28 +206,28 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[2m]))", "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-telemetry", "legendFormat": "istio-telemetry",
"refId": "A" "refId": "A"
}, },
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[2m]))", "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[4m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-ingressgateway", "legendFormat": "istio-ingressgateway",
"refId": "B" "refId": "B"
}, },
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace!=\"istio-system\",container_name=\"istio-proxy\"}[2m]))", "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"}[4m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-proxy", "legendFormat": "istio-proxy",
"refId": "C" "refId": "C"
}, },
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[2m]))", "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-policy", "legendFormat": "istio-policy",
...@@ -226,6 +236,7 @@ ...@@ -226,6 +236,7 @@
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "vCPU", "title": "vCPU",
"tooltip": { "tooltip": {
...@@ -265,19 +276,31 @@ ...@@ -265,19 +276,31 @@
} }
}, },
{ {
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 10
},
"id": 13,
"panels": [],
"title": "Memory and Data Rates",
"type": "row"
},
{
"aliasColors": {}, "aliasColors": {},
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "RANCHER_MONITORING",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 9, "h": 8,
"w": 12, "w": 12,
"x": 0, "x": 0,
"y": 9 "y": 11
}, },
"id": 4, "id": 902,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -292,7 +315,7 @@ ...@@ -292,7 +315,7 @@
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null",
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
"seriesOverrides": [], "seriesOverrides": [],
...@@ -301,28 +324,28 @@ ...@@ -301,28 +324,28 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "(sum(container_memory_usage_bytes{pod_name=~\"istio-telemetry-.*\"}) / (sum(irate(istio_requests_total[4m])) / 1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)", "expr": "(sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-telemetry-.*\"}) / (sum(irate(istio_requests_total[4m])) / 1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-telemetry / 1k rps", "legendFormat": "istio-telemetry / 1k rps",
"refId": "A" "refId": "A"
}, },
{ {
"expr": "sum(container_memory_usage_bytes{pod_name=~\"istio-ingressgateway-.*\"}) / count(container_memory_usage_bytes{pod_name=~\"istio-ingressgateway-.*\",container_name!=\"POD\"})", "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\"}) / count(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\",container_name!=\"POD\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "per istio-ingressgateway", "legendFormat": "per istio-ingressgateway",
"refId": "C" "refId": "B"
}, },
{ {
"expr": "sum(container_memory_usage_bytes{namespace!=\"istio-system\",container_name=\"istio-proxy\"}) / count(container_memory_usage_bytes{namespace!=\"istio-system\",container_name=\"istio-proxy\"})", "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"}) / count(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "per istio-proxy", "legendFormat": "per istio proxy",
"refId": "B" "refId": "C"
}, },
{ {
"expr": "(sum(container_memory_usage_bytes{pod_name=~\"istio-policy-.*\"}) / (sum(irate(istio_requests_total[4m])) / 1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)", "expr": "(sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-policy-.*\"}) / (sum(irate(istio_requests_total[4m])) / 1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-policy / 1k rps", "legendFormat": "istio-policy / 1k rps",
...@@ -331,8 +354,9 @@ ...@@ -331,8 +354,9 @@
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Memory", "title": "Memory Usage",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -348,7 +372,7 @@ ...@@ -348,7 +372,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "decbytes", "format": "bytes",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -374,15 +398,14 @@ ...@@ -374,15 +398,14 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "RANCHER_MONITORING",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 9, "h": 8,
"w": 12, "w": 12,
"x": 12, "x": 12,
"y": 9 "y": 11
}, },
"id": 5, "id": 11,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -397,7 +420,7 @@ ...@@ -397,7 +420,7 @@
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null",
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
"seriesOverrides": [], "seriesOverrides": [],
...@@ -417,25 +440,26 @@ ...@@ -417,25 +440,26 @@
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-ingressgateway", "legendFormat": "istio-ingressgateway",
"refId": "C" "refId": "B"
}, },
{ {
"expr": "sum(irate(istio_response_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[4m])) + sum(irate(istio_response_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[4m])) + sum(irate(istio_request_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[4m])) + sum(irate(istio_request_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[4m]))", "expr": "sum(irate(istio_response_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[4m])) + sum(irate(istio_response_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[4m])) + sum(irate(istio_request_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[4m])) + sum(irate(istio_request_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[4m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-proxy", "legendFormat": "istio-proxy",
"refId": "D" "refId": "C"
}, },
{ {
"expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-policy\"}[4m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-policy\"}[4m]))", "expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-policy\"}[4m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-policy\"}[4m]))",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "istio-policy", "legendFormat": "istio_policy",
"refId": "E" "refId": "D"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Bytes transferred / sec", "title": "Bytes transferred / sec",
"tooltip": { "tooltip": {
...@@ -453,7 +477,7 @@ ...@@ -453,7 +477,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "bytes", "format": "Bps",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -475,26 +499,36 @@ ...@@ -475,26 +499,36 @@
} }
}, },
{ {
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 19
},
"id": 17,
"panels": [],
"title": "Istio Component Versions",
"type": "row"
},
{
"aliasColors": {}, "aliasColors": {},
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "RANCHER_MONITORING",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 9, "h": 8,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 18 "y": 20
}, },
"id": 8, "id": 15,
"legend": { "legend": {
"alignAsTable": false,
"avg": false, "avg": false,
"current": false, "current": false,
"max": false, "max": false,
"min": false, "min": false,
"rightSide": false,
"show": true, "show": true,
"total": false, "total": false,
"values": false "values": false
...@@ -504,7 +538,7 @@ ...@@ -504,7 +538,7 @@
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null",
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
"seriesOverrides": [], "seriesOverrides": [],
...@@ -522,6 +556,7 @@ ...@@ -522,6 +556,7 @@
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Istio Components by Version", "title": "Istio Components by Version",
"tooltip": { "tooltip": {
...@@ -529,7 +564,6 @@ ...@@ -529,7 +564,6 @@
"sort": 0, "sort": 0,
"value_type": "individual" "value_type": "individual"
}, },
"transparent": false,
"type": "graph", "type": "graph",
"xaxis": { "xaxis": {
"buckets": null, "buckets": null,
...@@ -553,7 +587,7 @@ ...@@ -553,7 +587,7 @@
"logBase": 1, "logBase": 1,
"max": null, "max": null,
"min": null, "min": null,
"show": false "show": true
} }
], ],
"yaxis": { "yaxis": {
...@@ -562,21 +596,1192 @@ ...@@ -562,21 +596,1192 @@
} }
}, },
{ {
"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.", "collapsed": false,
"gridPos": { "gridPos": {
"h": 4, "h": 1,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 18 "y": 31
}, },
"id": 11, "id": 71,
"panels": [],
"title": "Proxy Resource Usage",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "RANCHER_MONITORING",
"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": [], "links": [],
"mode": "markdown", "nullPointMode": "null",
"title": "Istio Performance Dashboard Readme", "percentage": false,
"type": "text" "pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=\"istio-proxy\"})",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "{{ container_name }} (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": "RANCHER_MONITORING",
"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{job=\"kubernetes-cadvisor\",container_name=\"istio-proxy\"}[4m]))",
"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": "RANCHER_MONITORING",
"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{job=\"kubernetes-cadvisor\", container_name=\"istio-proxy\"})",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "{{ container_name }}",
"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": "RANCHER_MONITORING",
"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{job=\"istio/pilot\"}",
"format": "time_series",
"instant": false,
"intervalFactor": 2,
"legendFormat": "Virtual Memory",
"refId": "I",
"step": 2
},
{
"expr": "process_resident_memory_bytes{job=\"istio/pilot\"}",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "Resident Memory",
"refId": "H",
"step": 2
},
{
"expr": "go_memstats_heap_sys_bytes{job=\"istio/pilot\"}",
"format": "time_series",
"hide": true,
"intervalFactor": 2,
"legendFormat": "heap sys",
"refId": "A"
},
{
"expr": "go_memstats_heap_alloc_bytes{job=\"istio/pilot\"}",
"format": "time_series",
"hide": true,
"intervalFactor": 2,
"legendFormat": "heap alloc",
"refId": "D"
},
{
"expr": "go_memstats_alloc_bytes{job=\"istio/pilot\"}",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "Alloc",
"refId": "F",
"step": 2
},
{
"expr": "go_memstats_heap_inuse_bytes{job=\"istio/pilot\"}",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "Heap in-use",
"refId": "E",
"step": 2
},
{
"expr": "go_memstats_stack_inuse_bytes{job=\"istio/pilot\"}",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "Stack in-use",
"refId": "G",
"step": 2
},
{
"expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"})",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "Total (k8s)",
"refId": "C",
"step": 2
},
{
"expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "{{ container_name }} (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": "RANCHER_MONITORING",
"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{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[4m]))",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "Total (k8s)",
"refId": "A",
"step": 2
},
{
"expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[4m])) by (container_name)",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "{{ container_name }} (k8s)",
"refId": "B",
"step": 2
},
{
"expr": "irate(process_cpu_seconds_total{job=\"istio/pilot\"}[4m])",
"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": "RANCHER_MONITORING",
"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{job=\"istio/pilot\"}",
"format": "time_series",
"hide": true,
"instant": false,
"interval": "",
"intervalFactor": 2,
"legendFormat": "Open FDs (pilot)",
"refId": "A"
},
{
"expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "{{ container_name }}",
"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": "RANCHER_MONITORING",
"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{job=\"istio/pilot\"}",
"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": "RANCHER_MONITORING",
"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/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/istio-telemetry|istio-policy\"}",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "Resident Memory",
"refId": "H",
"step": 2
},
{
"expr": "go_memstats_heap_sys_bytes{job=~\"istio/istio-telemetry|istio-policy\"}",
"format": "time_series",
"hide": true,
"intervalFactor": 2,
"legendFormat": "heap sys",
"refId": "A"
},
{
"expr": "go_memstats_heap_alloc_bytes{job=~\"istio/istio-telemetry|istio-policy\"}",
"format": "time_series",
"hide": true,
"intervalFactor": 2,
"legendFormat": "heap alloc",
"refId": "D"
},
{
"expr": "go_memstats_alloc_bytes{job=~\"istio/istio-telemetry|istio-policy\"}",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "Alloc",
"refId": "F",
"step": 2
},
{
"expr": "go_memstats_heap_inuse_bytes{job=~\"istio/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/istio-policy|istio-telemetry\"}",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "Stack in-use",
"refId": "G",
"step": 2
},
{
"expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"})",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "Total (k8s)",
"refId": "C",
"step": 2
},
{
"expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "{{ container_name }} (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": "RANCHER_MONITORING",
"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{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}[4m]))",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "Total (k8s)",
"refId": "A",
"step": 2
},
{
"expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}[4m])) by (container_name)",
"format": "time_series",
"hide": false,
"intervalFactor": 2,
"legendFormat": "{{ container_name }} (k8s)",
"refId": "B",
"step": 2
},
{
"expr": "irate(process_cpu_seconds_total{job=~\"istio/istio-policy|istio/istio-telemetry\"}[4m])",
"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": "RANCHER_MONITORING",
"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/istio-policy|istio/istio-telemetry\"}",
"format": "time_series",
"hide": true,
"instant": false,
"interval": "",
"intervalFactor": 2,
"legendFormat": "Open FDs (pilot)",
"refId": "A"
},
{
"expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "{{ container_name }}",
"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": "RANCHER_MONITORING",
"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/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
}
} }
], ],
"schemaVersion": 16, "refresh": "10s",
"schemaVersion": 18,
"style": "dark", "style": "dark",
"tags": [], "tags": [],
"templating": { "templating": {
...@@ -613,5 +1818,6 @@ ...@@ -613,5 +1818,6 @@
}, },
"timezone": "", "timezone": "",
"title": "Istio Performance Dashboard", "title": "Istio Performance Dashboard",
"version": 4 "uid": "vu8e0VWZk",
"version": 22
} }
{ {
"__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": { "annotations": {
"list": [ "list": [
{ {
...@@ -48,27 +12,24 @@ ...@@ -48,27 +12,24 @@
} }
] ]
}, },
"editable": false, "editable": true,
"gnetId": null, "gnetId": null,
"graphTooltip": 1, "graphTooltip": 1,
"id": null, "id": 11,
"links": [], "links": [],
"panels": [ "panels": [
{ {
"content": "<center><h2>Deployed Versions</h2></center>", "collapsed": false,
"gridPos": { "gridPos": {
"h": 3, "h": 1,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 0 "y": 0
}, },
"height": "40", "id": 60,
"id": 58, "panels": [],
"links": [], "title": "Deployed Versions",
"mode": "html", "type": "row"
"title": "",
"transparent": true,
"type": "text"
}, },
{ {
"aliasColors": {}, "aliasColors": {},
...@@ -81,7 +42,7 @@ ...@@ -81,7 +42,7 @@
"h": 5, "h": 5,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 3 "y": 1
}, },
"id": 56, "id": 56,
"legend": { "legend": {
...@@ -116,6 +77,7 @@ ...@@ -116,6 +77,7 @@
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Pilot Versions", "title": "Pilot Versions",
"tooltip": { "tooltip": {
...@@ -155,20 +117,17 @@ ...@@ -155,20 +117,17 @@
} }
}, },
{ {
"content": "<center><h2>Resource Usage</h2></center>", "collapsed": false,
"gridPos": { "gridPos": {
"h": 3, "h": 1,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 8 "y": 6
}, },
"height": "40", "id": 62,
"id": 29, "panels": [],
"links": [], "title": "Resource Usage",
"mode": "html", "type": "row"
"title": "",
"transparent": true,
"type": "text"
}, },
{ {
"aliasColors": {}, "aliasColors": {},
...@@ -181,7 +140,7 @@ ...@@ -181,7 +140,7 @@
"h": 7, "h": 7,
"w": 6, "w": 6,
"x": 0, "x": 0,
"y": 11 "y": 7
}, },
"id": 5, "id": 5,
"legend": { "legend": {
...@@ -265,26 +224,25 @@ ...@@ -265,26 +224,25 @@
"step": 2 "step": 2
}, },
{ {
"expr": "sum(container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"})", "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"discovery\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "Total (k8s)", "legendFormat": "Discovery (container)",
"refId": "C", "refId": "B",
"step": 2 "step": 2
}, },
{ {
"expr": "container_memory_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}", "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"hide": false, "intervalFactor": 1,
"intervalFactor": 2, "legendFormat": "Sidecar (container)",
"legendFormat": "{{ container_name }} (k8s)", "refId": "C"
"refId": "B",
"step": 2
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Memory", "title": "Memory",
"tooltip": { "tooltip": {
...@@ -334,7 +292,7 @@ ...@@ -334,7 +292,7 @@
"h": 7, "h": 7,
"w": 6, "w": 6,
"x": 6, "x": 6,
"y": 11 "y": 7
}, },
"id": 6, "id": 6,
"legend": { "legend": {
...@@ -360,35 +318,34 @@ ...@@ -360,35 +318,34 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[4m]))", "expr": "sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=\"discovery\", pod_name=~\"istio-pilot-.*\"}[4m]))",
"format": "time_series", "format": "time_series",
"hide": false, "intervalFactor": 1,
"intervalFactor": 2, "legendFormat": "Discovery (container)",
"legendFormat": "Total (k8s)", "refId": "A"
"refId": "A",
"step": 2
}, },
{ {
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[4m])) by (container_name)", "expr": "irate(process_cpu_seconds_total{job=\"istio/pilot\"}[4m])",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "{{ container_name }} (k8s)", "legendFormat": "Discovery (process)",
"refId": "B", "refId": "C",
"step": 2 "step": 2
}, },
{ {
"expr": "irate(process_cpu_seconds_total{job=\"istio/pilot\"}[4m])", "expr": "sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=\"istio-proxy\", pod_name=~\"istio-pilot-.*\"}[4m]))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "pilot (self-reported)", "legendFormat": "Sidecar (container)",
"refId": "C", "refId": "B",
"step": 2 "step": 2
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "CPU", "title": "CPU",
"tooltip": { "tooltip": {
...@@ -438,7 +395,7 @@ ...@@ -438,7 +395,7 @@
"h": 7, "h": 7,
"w": 6, "w": 6,
"x": 12, "x": 12,
"y": 11 "y": 7
}, },
"id": 7, "id": 7,
"legend": { "legend": {
...@@ -464,26 +421,24 @@ ...@@ -464,26 +421,24 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "process_open_fds{job=\"istio/pilot\"}", "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=\"discovery\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"hide": true,
"instant": false,
"interval": "",
"intervalFactor": 2, "intervalFactor": 2,
"legendFormat": "Open FDs (pilot)", "legendFormat": "Discovery",
"refId": "A" "refId": "B",
"step": 2
}, },
{ {
"expr": "container_fs_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}", "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=\"istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 1,
"legendFormat": "{{ container_name }}", "legendFormat": "Sidecar",
"refId": "B", "refId": "A"
"step": 2
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Disk", "title": "Disk",
"tooltip": { "tooltip": {
...@@ -534,7 +489,7 @@ ...@@ -534,7 +489,7 @@
"h": 7, "h": 7,
"w": 6, "w": 6,
"x": 18, "x": 18,
"y": 11 "y": 7
}, },
"id": 4, "id": 4,
"legend": { "legend": {
...@@ -570,6 +525,7 @@ ...@@ -570,6 +525,7 @@
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Goroutines", "title": "Goroutines",
"tooltip": { "tooltip": {
...@@ -609,34 +565,32 @@ ...@@ -609,34 +565,32 @@
} }
}, },
{ {
"content": "<center><h2>xDS</h2></center>", "collapsed": false,
"gridPos": { "gridPos": {
"h": 3, "h": 1,
"w": 24, "w": 24,
"x": 0, "x": 0,
"y": 18 "y": 14
}, },
"id": 28, "id": 58,
"links": [], "panels": [],
"mode": "html", "title": "Pilot Push Information",
"title": "", "type": "row"
"transparent": true,
"type": "text"
}, },
{ {
"aliasColors": {}, "aliasColors": {},
"bars": false, "bars": true,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "RANCHER_MONITORING", "description": "Shows the rate of pilot pushes",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 6, "h": 8,
"w": 8, "w": 8,
"x": 0, "x": 0,
"y": 21 "y": 15
}, },
"id": 40, "id": 622,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -646,34 +600,56 @@ ...@@ -646,34 +600,56 @@
"total": false, "total": false,
"values": false "values": false
}, },
"lines": true, "lines": false,
"linewidth": 1, "linewidth": 1,
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null as zero",
"paceLength": 10,
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 5,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
"seriesOverrides": [], "seriesOverrides": [],
"spaceLength": 10, "spaceLength": 10,
"stack": false, "stack": true,
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(irate(envoy_cluster_update_success{cluster_name=\"xds-grpc\"}[4m]))", "expr": "sum(irate(pilot_xds_pushes{type=\"cds\"}[4m]))",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "XDS GRPC Successes", "legendFormat": "Cluster",
"refId": "C" "refId": "C"
},
{
"expr": "sum(irate(pilot_xds_pushes{type=\"eds\"}[4m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Endpoints",
"refId": "D"
},
{
"expr": "sum(irate(pilot_xds_pushes{type=\"lds\"}[4m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Listeners",
"refId": "A"
},
{
"expr": "sum(irate(pilot_xds_pushes{type=\"rds\"}[4m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Routes",
"refId": "E"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Updates", "title": "Pilot Pushes",
"tooltip": { "tooltip": {
"shared": true, "shared": false,
"sort": 0, "sort": 0,
"value_type": "individual" "value_type": "individual"
}, },
...@@ -683,7 +659,9 @@ ...@@ -683,7 +659,9 @@
"mode": "time", "mode": "time",
"name": null, "name": null,
"show": true, "show": true,
"values": [] "values": [
"total"
]
}, },
"yaxes": [ "yaxes": [
{ {
...@@ -691,11 +669,11 @@ ...@@ -691,11 +669,11 @@
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
"min": null, "min": "0",
"show": true "show": true
}, },
{ {
"format": "ops", "format": "short",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -714,17 +692,20 @@ ...@@ -714,17 +692,20 @@
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "RANCHER_MONITORING", "datasource": "RANCHER_MONITORING",
"description": "Captures a variety of pilot errors",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 6, "h": 8,
"w": 8, "w": 8,
"x": 8, "x": 8,
"y": 21 "y": 15
}, },
"id": 42, "id": 67,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
"hideEmpty": true,
"hideZero": true,
"max": false, "max": false,
"min": false, "min": false,
"show": true, "show": true,
...@@ -745,18 +726,103 @@ ...@@ -745,18 +726,103 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "round(sum(rate(envoy_cluster_update_attempt{cluster_name=\"xds-grpc\"}[4m])) - sum(rate(envoy_cluster_update_success{cluster_name=\"xds-grpc\"}[4m])))", "expr": "sum(pilot_xds_cds_reject{job=\"istio/pilot\"}) or (absent(pilot_xds_cds_reject{job=\"istio/pilot\"}) - 1)",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "hide": false,
"legendFormat": "XDS GRPC ", "intervalFactor": 1,
"refId": "A", "legendFormat": "Rejected CDS Configs",
"step": 2 "refId": "C"
},
{
"expr": "sum(pilot_xds_eds_reject{job=\"istio/pilot\"}) or (absent(pilot_xds_eds_reject{job=\"istio/pilot\"}) - 1)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Rejected EDS Configs",
"refId": "D"
},
{
"expr": "sum(pilot_xds_rds_reject{job=\"istio/pilot\"}) or (absent(pilot_xds_rds_reject{job=\"istio/pilot\"}) - 1)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Rejected RDS Configs",
"refId": "A"
},
{
"expr": "sum(pilot_xds_lds_reject{job=\"istio/pilot\"}) or (absent(pilot_xds_lds_reject{job=\"istio/pilot\"}) - 1)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Rejected LDS Configs",
"refId": "B"
},
{
"expr": "sum(rate(pilot_xds_write_timeout{job=\"istio/pilot\"}[4m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Write Timeouts",
"refId": "F"
},
{
"expr": "sum(rate(pilot_total_xds_internal_errors{job=\"istio/pilot\"}[4m]))",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Internal Errors",
"refId": "H"
},
{
"expr": "sum(rate(pilot_total_xds_rejects{job=\"istio/pilot\"}[4m]))",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Config Rejection Rate",
"refId": "E"
},
{
"expr": "sum(rate(pilot_xds_push_context_errors{job=\"istio/pilot\"}[4m]))",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Push Context Errors",
"refId": "K"
},
{
"expr": "sum(rate(pilot_xds_pushes{type!~\"lds|cds|rds|eds\"}[4m])) by (type)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Push Errors ({{ type }})",
"refId": "L"
},
{
"expr": "sum(rate(pilot_xds_push_errors{job=\"istio/pilot\"}[4m])) by (type)",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "Push Errors ({{ type }})",
"refId": "I"
},
{
"expr": "sum(rate(pilot_xds_push_timeout{job=\"istio/pilot\"}[4m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Push Timeouts",
"refId": "G"
},
{
"expr": "sum(rate(pilot_xds_push_timeout_failures{job=\"istio/pilot\"}[4m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Push Timeouts Failures",
"refId": "J"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Failures", "title": "Pilot Errors",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -772,7 +838,7 @@ ...@@ -772,7 +838,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "ops", "format": "short",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -785,7 +851,7 @@ ...@@ -785,7 +851,7 @@
"logBase": 1, "logBase": 1,
"max": null, "max": null,
"min": null, "min": null,
"show": false "show": true
} }
], ],
"yaxis": { "yaxis": {
...@@ -798,15 +864,15 @@ ...@@ -798,15 +864,15 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "RANCHER_MONITORING", "description": "Shows the total time it takes to push a config update to a proxy",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 6, "h": 8,
"w": 8, "w": 8,
"x": 16, "x": 16,
"y": 21 "y": 15
}, },
"id": 41, "id": 624,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -821,7 +887,7 @@ ...@@ -821,7 +887,7 @@
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null",
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 2,
"points": false, "points": false,
"renderer": "flot", "renderer": "flot",
"seriesOverrides": [], "seriesOverrides": [],
...@@ -830,18 +896,39 @@ ...@@ -830,18 +896,39 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})", "expr": "histogram_quantile(0.5, sum(rate(pilot_proxy_convergence_time_bucket[4m])) by (le))",
"format": "time_series", "format": "time_series",
"intervalFactor": 2, "intervalFactor": 1,
"legendFormat": "Pilot (XDS GRPC)", "legendFormat": "p50 ",
"refId": "C", "refId": "A"
"step": 2 },
{
"expr": "histogram_quantile(0.9, sum(rate(pilot_proxy_convergence_time_bucket[4m])) by (le))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "p90",
"refId": "B"
},
{
"expr": "histogram_quantile(0.99, sum(rate(pilot_proxy_convergence_time_bucket[4m])) by (le))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "p99",
"refId": "C"
},
{
"expr": "histogram_quantile(0.999, sum(rate(pilot_proxy_convergence_time_bucket[4m])) by (le))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "p99.9",
"refId": "D"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Active Connections", "title": "Proxy Push Time",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -857,7 +944,7 @@ ...@@ -857,7 +944,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "short", "format": "s",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -889,12 +976,14 @@ ...@@ -889,12 +976,14 @@
"h": 8, "h": 8,
"w": 8, "w": 8,
"x": 0, "x": 0,
"y": 27 "y": 23
}, },
"id": 45, "id": 45,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
"hideEmpty": true,
"hideZero": true,
"max": false, "max": false,
"min": false, "min": false,
"show": true, "show": true,
...@@ -904,7 +993,7 @@ ...@@ -904,7 +993,7 @@
"lines": true, "lines": true,
"linewidth": 1, "linewidth": 1,
"links": [], "links": [],
"nullPointMode": "null", "nullPointMode": "null as zero",
"percentage": false, "percentage": false,
"pointradius": 5, "pointradius": 5,
"points": false, "points": false,
...@@ -917,6 +1006,7 @@ ...@@ -917,6 +1006,7 @@
{ {
"expr": "pilot_conflict_inbound_listener{job=\"istio/pilot\"}", "expr": "pilot_conflict_inbound_listener{job=\"istio/pilot\"}",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Inbound Listeners", "legendFormat": "Inbound Listeners",
"refId": "B" "refId": "B"
...@@ -924,6 +1014,7 @@ ...@@ -924,6 +1014,7 @@
{ {
"expr": "pilot_conflict_outbound_listener_http_over_current_tcp{job=\"istio/pilot\"}", "expr": "pilot_conflict_outbound_listener_http_over_current_tcp{job=\"istio/pilot\"}",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Outbound Listeners (http over current tcp)", "legendFormat": "Outbound Listeners (http over current tcp)",
"refId": "A" "refId": "A"
...@@ -931,6 +1022,7 @@ ...@@ -931,6 +1022,7 @@
{ {
"expr": "pilot_conflict_outbound_listener_tcp_over_current_tcp{job=\"istio/pilot\"}", "expr": "pilot_conflict_outbound_listener_tcp_over_current_tcp{job=\"istio/pilot\"}",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Outbound Listeners (tcp over current tcp)", "legendFormat": "Outbound Listeners (tcp over current tcp)",
"refId": "C" "refId": "C"
...@@ -938,6 +1030,7 @@ ...@@ -938,6 +1030,7 @@
{ {
"expr": "pilot_conflict_outbound_listener_tcp_over_current_http{job=\"istio/pilot\"}", "expr": "pilot_conflict_outbound_listener_tcp_over_current_http{job=\"istio/pilot\"}",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Outbound Listeners (tcp over current http)", "legendFormat": "Outbound Listeners (tcp over current http)",
"refId": "D" "refId": "D"
...@@ -945,6 +1038,7 @@ ...@@ -945,6 +1038,7 @@
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Conflicts", "title": "Conflicts",
"tooltip": { "tooltip": {
...@@ -975,7 +1069,7 @@ ...@@ -975,7 +1069,7 @@
"logBase": 1, "logBase": 1,
"max": null, "max": null,
"min": null, "min": null,
"show": true "show": false
} }
], ],
"yaxis": { "yaxis": {
...@@ -994,7 +1088,7 @@ ...@@ -994,7 +1088,7 @@
"h": 8, "h": 8,
"w": 8, "w": 8,
"x": 8, "x": 8,
"y": 27 "y": 23
}, },
"id": 47, "id": 47,
"legend": { "legend": {
...@@ -1034,59 +1128,16 @@ ...@@ -1034,59 +1128,16 @@
"refId": "B" "refId": "B"
}, },
{ {
"expr": "label_replace(sum(pilot_xds_cds_reject{job=\"istio/pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")",
"format": "time_series",
"hide": true,
"intervalFactor": 1,
"legendFormat": "Rejected CDS Configs - {{ node }}: {{ err }}",
"refId": "C"
},
{
"expr": "pilot_xds_eds_reject{job=\"istio/pilot\"}",
"format": "time_series",
"hide": true,
"intervalFactor": 1,
"legendFormat": "Rejected EDS Configs",
"refId": "D"
},
{
"expr": "pilot_xds{job=\"istio/pilot\"}", "expr": "pilot_xds{job=\"istio/pilot\"}",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "Connected Endpoints", "legendFormat": "Connected Endpoints",
"refId": "E" "refId": "E"
},
{
"expr": "rate(pilot_xds_write_timeout{job=\"istio/pilot\"}[4m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Write Timeouts",
"refId": "F"
},
{
"expr": "rate(pilot_xds_push_timeout{job=\"istio/pilot\"}[4m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Push Timeouts",
"refId": "G"
},
{
"expr": "rate(pilot_xds_pushes{job=\"istio/pilot\"}[4m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Pushes ({{ type }})",
"refId": "H"
},
{
"expr": "rate(pilot_xds_push_errors{job=\"istio/pilot\"}[4m])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Push Errors ({{ type }})",
"refId": "I"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "ADS Monitoring", "title": "ADS Monitoring",
"tooltip": { "tooltip": {
...@@ -1126,88 +1177,76 @@ ...@@ -1126,88 +1177,76 @@
} }
}, },
{ {
"aliasColors": {}, "columns": [],
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "RANCHER_MONITORING", "datasource": "RANCHER_MONITORING",
"fill": 1, "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": { "gridPos": {
"h": 8, "h": 8,
"w": 8, "w": 8,
"x": 16, "x": 16,
"y": 27 "y": 23
},
"id": 49,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
}, },
"lines": true, "id": 51,
"linewidth": 1,
"links": [], "links": [],
"nullPointMode": "null", "pageSize": null,
"percentage": false, "scroll": true,
"pointradius": 5, "showHeader": true,
"points": false, "sort": {
"renderer": "flot", "col": null,
"seriesOverrides": [], "desc": false
"spaceLength": 10, },
"stack": false, "styles": [
"steppedLine": false, {
"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": [ "targets": [
{ {
"expr": "label_replace(sum(pilot_xds_cds_reject{job=\"istio/pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")", "expr": "sum(pilot_xds_eds_instances{job=\"istio/pilot\", cluster=~\".+\\\\|.+\"}) by (cluster) < 1",
"format": "time_series", "format": "time_series",
"hide": false,
"instant": true,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ node }} ({{ err }})", "legendFormat": "{{cluster}}",
"refId": "A" "refId": "B"
} }
], ],
"thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeShift": null, "timeShift": null,
"title": "Rejected CDS Configs", "title": "Clusters with no known endpoints",
"tooltip": { "transform": "timeseries_aggregations",
"shared": true, "type": "table"
"sort": 0,
"value_type": "individual"
}, },
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{ {
"format": "short", "collapsed": false,
"label": null, "gridPos": {
"logBase": 1, "h": 1,
"max": null, "w": 24,
"min": null, "x": 0,
"show": true "y": 31
}, },
{ "id": 64,
"format": "short", "panels": [],
"label": null, "title": "Envoy Information",
"logBase": 1, "type": "row"
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}, },
{ {
"aliasColors": {}, "aliasColors": {},
...@@ -1215,14 +1254,15 @@ ...@@ -1215,14 +1254,15 @@
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "RANCHER_MONITORING", "datasource": "RANCHER_MONITORING",
"description": "Shows details about Envoy proxies in the mesh",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 7, "h": 8,
"w": 8, "w": 8,
"x": 0, "x": 0,
"y": 35 "y": 32
}, },
"id": 52, "id": 40,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -1246,17 +1286,34 @@ ...@@ -1246,17 +1286,34 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "label_replace(sum(pilot_xds_eds_reject{job=\"istio/pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")", "expr": "sum(irate(envoy_cluster_upstream_cx_total{cluster_name=\"xds-grpc\"}[4m]))",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ node }} ({{err}})", "legendFormat": "XDS Connections",
"refId": "C"
},
{
"expr": "sum(irate(envoy_cluster_upstream_cx_connect_fail{cluster_name=\"xds-grpc\"}[4m]))",
"format": "time_series",
"hide": false,
"intervalFactor": 1,
"legendFormat": "XDS Connection Failures",
"refId": "A" "refId": "A"
},
{
"expr": "sum(increase(envoy_server_hot_restart_epoch[4m]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Envoy Restarts",
"refId": "B"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Rejected EDS Configs", "title": "Envoy Details",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -1272,7 +1329,7 @@ ...@@ -1272,7 +1329,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "short", "format": "ops",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -1280,12 +1337,12 @@ ...@@ -1280,12 +1337,12 @@
"show": true "show": true
}, },
{ {
"format": "short", "format": "ops",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
"min": null, "min": null,
"show": true "show": false
} }
], ],
"yaxis": { "yaxis": {
...@@ -1301,12 +1358,12 @@ ...@@ -1301,12 +1358,12 @@
"datasource": "RANCHER_MONITORING", "datasource": "RANCHER_MONITORING",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 7, "h": 8,
"w": 8, "w": 8,
"x": 8, "x": 8,
"y": 35 "y": 32
}, },
"id": 54, "id": 41,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
...@@ -1330,17 +1387,19 @@ ...@@ -1330,17 +1387,19 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "label_replace(sum(pilot_xds_lds_reject{job=\"istio/pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")", "expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 2,
"legendFormat": "{{ node }} ({{err}})", "legendFormat": "XDS Active Connections",
"refId": "A" "refId": "C",
"step": 2
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Rejected LDS Configs", "title": "XDS Active Connections",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -1383,17 +1442,20 @@ ...@@ -1383,17 +1442,20 @@
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "RANCHER_MONITORING", "datasource": "RANCHER_MONITORING",
"description": "Shows the size of XDS requests and responses",
"fill": 1, "fill": 1,
"gridPos": { "gridPos": {
"h": 7, "h": 8,
"w": 8, "w": 8,
"x": 16, "x": 16,
"y": 35 "y": 32
}, },
"id": 53, "id": 42,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
"hideEmpty": false,
"hideZero": false,
"max": false, "max": false,
"min": false, "min": false,
"show": true, "show": true,
...@@ -1414,108 +1476,41 @@ ...@@ -1414,108 +1476,41 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "label_replace(sum(pilot_xds_rds_reject{job=\"istio/pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")", "expr": "max(rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[4m]))",
"format": "time_series", "format": "time_series",
"hide": false,
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ node }} ({{err}})", "legendFormat": "XDS Response Bytes Max",
"refId": "A" "refId": "D"
}
],
"thresholds": [],
"timeFrom": null,
"timeShift": null,
"title": "Rejected RDS Configs",
"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", "expr": "quantile(0.5, rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[4m]))",
"label": null, "format": "time_series",
"logBase": 1, "hide": false,
"max": null, "intervalFactor": 1,
"min": null, "legendFormat": "XDS Response Bytes Average",
"show": true "refId": "B"
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}, },
{ {
"aliasColors": { "expr": "max(rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[4m]))",
"outbound|80||default-http-backend.kube-system.svc.cluster.local": "rgba(255, 255, 255, 0.97)" "format": "time_series",
}, "intervalFactor": 1,
"bars": false, "legendFormat": "XDS Request Bytes Max",
"dashLength": 10, "refId": "A"
"dashes": false,
"datasource": "RANCHER_MONITORING",
"fill": 1,
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 42
},
"id": 51,
"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": "outbound|80||default-http-backend.kube-system.svc.cluster.local", "expr": "quantile(.5, rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[4m]))",
"yaxis": 1
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(pilot_xds_eds_instances{job=\"istio/pilot\"}) by (cluster)",
"format": "time_series", "format": "time_series",
"intervalFactor": 1, "intervalFactor": 1,
"legendFormat": "{{ cluster }}", "legendFormat": "XDS Request Bytes Average",
"refId": "A" "refId": "C"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "EDS Instances", "title": "XDS Requests Size",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
...@@ -1531,7 +1526,7 @@ ...@@ -1531,7 +1526,7 @@
}, },
"yaxes": [ "yaxes": [
{ {
"format": "short", "format": "Bps",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
...@@ -1539,12 +1534,12 @@ ...@@ -1539,12 +1534,12 @@
"show": true "show": true
}, },
{ {
"format": "short", "format": "ops",
"label": null, "label": null,
"logBase": 1, "logBase": 1,
"max": null, "max": null,
"min": null, "min": null,
"show": true "show": false
} }
], ],
"yaxis": { "yaxis": {
...@@ -1554,7 +1549,7 @@ ...@@ -1554,7 +1549,7 @@
} }
], ],
"refresh": "5s", "refresh": "5s",
"schemaVersion": 16, "schemaVersion": 18,
"style": "dark", "style": "dark",
"tags": [], "tags": [],
"templating": { "templating": {
...@@ -1591,5 +1586,6 @@ ...@@ -1591,5 +1586,6 @@
}, },
"timezone": "browser", "timezone": "browser",
"title": "Istio Pilot Dashboard", "title": "Istio Pilot Dashboard",
"version": 4 "uid": "3--MLVZZk",
"version": 11
} }
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
} }
] ]
}, },
"editable": false, "editable": true,
"gnetId": null, "gnetId": null,
"graphTooltip": 0, "graphTooltip": 0,
"iteration": 1536442501501, "iteration": 1536442501501,
...@@ -238,7 +238,7 @@ ...@@ -238,7 +238,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le))", "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le))",
"format": "time_series", "format": "time_series",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le))", "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
"refId": "B" "refId": "B"
}, },
{ {
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le))", "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -590,7 +590,7 @@ ...@@ -590,7 +590,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le))", "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le))",
"format": "time_series", "format": "time_series",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
...@@ -598,7 +598,7 @@ ...@@ -598,7 +598,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le))", "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -606,7 +606,7 @@ ...@@ -606,7 +606,7 @@
"refId": "B" "refId": "B"
}, },
{ {
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le))", "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -988,7 +988,7 @@ ...@@ -988,7 +988,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -997,7 +997,7 @@ ...@@ -997,7 +997,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1006,7 +1006,7 @@ ...@@ -1006,7 +1006,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1015,7 +1015,7 @@ ...@@ -1015,7 +1015,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1024,7 +1024,7 @@ ...@@ -1024,7 +1024,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1033,7 +1033,7 @@ ...@@ -1033,7 +1033,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1042,7 +1042,7 @@ ...@@ -1042,7 +1042,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1051,7 +1051,7 @@ ...@@ -1051,7 +1051,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1842,7 +1842,7 @@ ...@@ -1842,7 +1842,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "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\"}[4m])) by (destination_workload, destination_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1851,7 +1851,7 @@ ...@@ -1851,7 +1851,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_workload, destination_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1860,7 +1860,7 @@ ...@@ -1860,7 +1860,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_workload, destination_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1869,7 +1869,7 @@ ...@@ -1869,7 +1869,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_workload, destination_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1878,7 +1878,7 @@ ...@@ -1878,7 +1878,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_workload, destination_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1887,7 +1887,7 @@ ...@@ -1887,7 +1887,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_workload, destination_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1896,7 +1896,7 @@ ...@@ -1896,7 +1896,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_workload, destination_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1905,7 +1905,7 @@ ...@@ -1905,7 +1905,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_workload, destination_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
} }
] ]
}, },
"editable": false, "editable": true,
"gnetId": null, "gnetId": null,
"graphTooltip": 0, "graphTooltip": 0,
"id": null, "id": null,
...@@ -281,7 +281,7 @@ ...@@ -281,7 +281,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le))", "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le))",
"format": "time_series", "format": "time_series",
"interval": "", "interval": "",
"intervalFactor": 1, "intervalFactor": 1,
...@@ -289,7 +289,7 @@ ...@@ -289,7 +289,7 @@
"refId": "A" "refId": "A"
}, },
{ {
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le))", "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -297,7 +297,7 @@ ...@@ -297,7 +297,7 @@
"refId": "B" "refId": "B"
}, },
{ {
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le))", "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -654,7 +654,7 @@ ...@@ -654,7 +654,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "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(rate(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)", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -663,7 +663,7 @@ ...@@ -663,7 +663,7 @@
"step": 2 "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(rate(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)", "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", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -750,7 +750,7 @@ ...@@ -750,7 +750,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -759,7 +759,7 @@ ...@@ -759,7 +759,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -768,7 +768,7 @@ ...@@ -768,7 +768,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -777,7 +777,7 @@ ...@@ -777,7 +777,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -786,7 +786,7 @@ ...@@ -786,7 +786,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -795,7 +795,7 @@ ...@@ -795,7 +795,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -804,7 +804,7 @@ ...@@ -804,7 +804,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -813,7 +813,7 @@ ...@@ -813,7 +813,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (source_workload, source_workload_namespace, le))", "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\"}[4m])) 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\"}[4m])) by (source_workload, source_workload_namespace, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1576,7 +1576,7 @@ ...@@ -1576,7 +1576,7 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "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\"}[4m])) by (destination_service, le))", "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\"}[4m])) 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\"}[4m])) by (destination_service, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1585,7 +1585,7 @@ ...@@ -1585,7 +1585,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_service, le))", "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\"}[4m])) 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\"}[4m])) by (destination_service, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1594,7 +1594,7 @@ ...@@ -1594,7 +1594,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_service, le))", "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\"}[4m])) 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\"}[4m])) by (destination_service, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1603,7 +1603,7 @@ ...@@ -1603,7 +1603,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_service, le))", "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\"}[4m])) 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\"}[4m])) by (destination_service, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1612,7 +1612,7 @@ ...@@ -1612,7 +1612,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_service, le))", "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\"}[4m])) 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\"}[4m])) by (destination_service, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1621,7 +1621,7 @@ ...@@ -1621,7 +1621,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_service, le))", "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\"}[4m])) 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\"}[4m])) by (destination_service, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1630,7 +1630,7 @@ ...@@ -1630,7 +1630,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_service, le))", "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\"}[4m])) 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\"}[4m])) by (destination_service, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
...@@ -1639,7 +1639,7 @@ ...@@ -1639,7 +1639,7 @@
"step": 2 "step": 2
}, },
{ {
"expr": "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\"}[4m])) by (destination_service, le))", "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\"}[4m])) 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\"}[4m])) by (destination_service, le))",
"format": "time_series", "format": "time_series",
"hide": false, "hide": false,
"intervalFactor": 1, "intervalFactor": 1,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment