Created
May 28, 2019 10:38
-
-
Save t-lo/f78bff9449c6294045be9c642a3ec06a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Namespace | |
metadata: | |
name: istio-system | |
labels: | |
istio-injection: disabled | |
--- | |
apiVersion: policy/v1beta1 | |
kind: PodSecurityPolicy | |
metadata: | |
name: psp-istio | |
spec: | |
privileged: false | |
allowPrivilegeEscalation: false | |
allowedCapabilities: | |
- NET_ADMIN | |
- NET_RAW | |
hostNetwork: true | |
hostIPC: true | |
hostPID: true | |
fsGroup: | |
rule: 'RunAsAny' | |
runAsUser: | |
rule: 'RunAsAny' | |
seLinux: | |
rule: 'RunAsAny' | |
supplementalGroups: | |
rule: 'RunAsAny' | |
# Allow core volume types. | |
volumes: | |
- "*" | |
readOnlyRootFilesystem: false | |
--- | |
kind: ClusterRole | |
apiVersion: rbac.authorization.k8s.io/v1 | |
metadata: | |
name: psp-user | |
rules: | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- psp-istio | |
resources: | |
- podsecuritypolicies | |
verbs: | |
- use | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: psp-user-binding | |
namespace: default | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: psp-user | |
subjects: | |
- apiGroup: "" | |
kind: ServiceAccount | |
name: default | |
namespace: default | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: virtualservices.networking.istio.io | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: networking.istio.io | |
names: | |
kind: VirtualService | |
listKind: VirtualServiceList | |
plural: virtualservices | |
singular: virtualservice | |
shortNames: | |
- vs | |
categories: | |
- istio-io | |
- networking-istio-io | |
scope: Namespaced | |
version: v1alpha3 | |
additionalPrinterColumns: | |
- JSONPath: .spec.gateways | |
description: The names of gateways and sidecars that should apply these routes | |
name: Gateways | |
type: string | |
- JSONPath: .spec.hosts | |
description: The destination hosts to which traffic is being sent | |
name: Hosts | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: |- | |
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. | |
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata | |
name: Age | |
type: date | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: destinationrules.networking.istio.io | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: networking.istio.io | |
names: | |
kind: DestinationRule | |
listKind: DestinationRuleList | |
plural: destinationrules | |
singular: destinationrule | |
shortNames: | |
- dr | |
categories: | |
- istio-io | |
- networking-istio-io | |
scope: Namespaced | |
version: v1alpha3 | |
additionalPrinterColumns: | |
- JSONPath: .spec.host | |
description: The name of a service from the service registry | |
name: Host | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: |- | |
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. | |
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata | |
name: Age | |
type: date | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: serviceentries.networking.istio.io | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: networking.istio.io | |
names: | |
kind: ServiceEntry | |
listKind: ServiceEntryList | |
plural: serviceentries | |
singular: serviceentry | |
shortNames: | |
- se | |
categories: | |
- istio-io | |
- networking-istio-io | |
scope: Namespaced | |
version: v1alpha3 | |
additionalPrinterColumns: | |
- JSONPath: .spec.hosts | |
description: The hosts associated with the ServiceEntry | |
name: Hosts | |
type: string | |
- JSONPath: .spec.location | |
description: Whether the service is external to the mesh or part of the mesh (MESH_EXTERNAL or MESH_INTERNAL) | |
name: Location | |
type: string | |
- JSONPath: .spec.resolution | |
description: Service discovery mode for the hosts (NONE, STATIC, or DNS) | |
name: Resolution | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: |- | |
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. | |
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata | |
name: Age | |
type: date | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: gateways.networking.istio.io | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: networking.istio.io | |
names: | |
kind: Gateway | |
plural: gateways | |
singular: gateway | |
shortNames: | |
- gw | |
categories: | |
- istio-io | |
- networking-istio-io | |
scope: Namespaced | |
version: v1alpha3 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: envoyfilters.networking.istio.io | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: networking.istio.io | |
names: | |
kind: EnvoyFilter | |
plural: envoyfilters | |
singular: envoyfilter | |
categories: | |
- istio-io | |
- networking-istio-io | |
scope: Namespaced | |
version: v1alpha3 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: clusterrbacconfigs.rbac.istio.io | |
labels: | |
app: istio-pilot | |
istio: rbac | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: rbac.istio.io | |
names: | |
kind: ClusterRbacConfig | |
plural: clusterrbacconfigs | |
singular: clusterrbacconfig | |
categories: | |
- istio-io | |
- rbac-istio-io | |
scope: Cluster | |
version: v1alpha1 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: policies.authentication.istio.io | |
labels: | |
app: istio-citadel | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: authentication.istio.io | |
names: | |
kind: Policy | |
plural: policies | |
singular: policy | |
categories: | |
- istio-io | |
- authentication-istio-io | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: meshpolicies.authentication.istio.io | |
labels: | |
app: istio-citadel | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: authentication.istio.io | |
names: | |
kind: MeshPolicy | |
listKind: MeshPolicyList | |
plural: meshpolicies | |
singular: meshpolicy | |
categories: | |
- istio-io | |
- authentication-istio-io | |
scope: Cluster | |
version: v1alpha1 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: httpapispecbindings.config.istio.io | |
labels: | |
app: istio-mixer | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: HTTPAPISpecBinding | |
plural: httpapispecbindings | |
singular: httpapispecbinding | |
categories: | |
- istio-io | |
- apim-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: httpapispecs.config.istio.io | |
labels: | |
app: istio-mixer | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: HTTPAPISpec | |
plural: httpapispecs | |
singular: httpapispec | |
categories: | |
- istio-io | |
- apim-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: quotaspecbindings.config.istio.io | |
labels: | |
app: istio-mixer | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: QuotaSpecBinding | |
plural: quotaspecbindings | |
singular: quotaspecbinding | |
categories: | |
- istio-io | |
- apim-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: quotaspecs.config.istio.io | |
labels: | |
app: istio-mixer | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: QuotaSpec | |
plural: quotaspecs | |
singular: quotaspec | |
categories: | |
- istio-io | |
- apim-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: rules.config.istio.io | |
labels: | |
app: mixer | |
package: istio.io.mixer | |
istio: core | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: rule | |
plural: rules | |
singular: rule | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: attributemanifests.config.istio.io | |
labels: | |
app: mixer | |
package: istio.io.mixer | |
istio: core | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: attributemanifest | |
plural: attributemanifests | |
singular: attributemanifest | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: bypasses.config.istio.io | |
labels: | |
app: mixer | |
package: bypass | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: bypass | |
plural: bypasses | |
singular: bypass | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: circonuses.config.istio.io | |
labels: | |
app: mixer | |
package: circonus | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: circonus | |
plural: circonuses | |
singular: circonus | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: deniers.config.istio.io | |
labels: | |
app: mixer | |
package: denier | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: denier | |
plural: deniers | |
singular: denier | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: fluentds.config.istio.io | |
labels: | |
app: mixer | |
package: fluentd | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: fluentd | |
plural: fluentds | |
singular: fluentd | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: kubernetesenvs.config.istio.io | |
labels: | |
app: mixer | |
package: kubernetesenv | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: kubernetesenv | |
plural: kubernetesenvs | |
singular: kubernetesenv | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: listcheckers.config.istio.io | |
labels: | |
app: mixer | |
package: listchecker | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: listchecker | |
plural: listcheckers | |
singular: listchecker | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: memquotas.config.istio.io | |
labels: | |
app: mixer | |
package: memquota | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: memquota | |
plural: memquotas | |
singular: memquota | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: noops.config.istio.io | |
labels: | |
app: mixer | |
package: noop | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: noop | |
plural: noops | |
singular: noop | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: opas.config.istio.io | |
labels: | |
app: mixer | |
package: opa | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: opa | |
plural: opas | |
singular: opa | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: prometheuses.config.istio.io | |
labels: | |
app: mixer | |
package: prometheus | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: prometheus | |
plural: prometheuses | |
singular: prometheus | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: rbacs.config.istio.io | |
labels: | |
app: mixer | |
package: rbac | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: rbac | |
plural: rbacs | |
singular: rbac | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: redisquotas.config.istio.io | |
labels: | |
app: mixer | |
package: redisquota | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: redisquota | |
plural: redisquotas | |
singular: redisquota | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: signalfxs.config.istio.io | |
labels: | |
app: mixer | |
package: signalfx | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: signalfx | |
plural: signalfxs | |
singular: signalfx | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: solarwindses.config.istio.io | |
labels: | |
app: mixer | |
package: solarwinds | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: solarwinds | |
plural: solarwindses | |
singular: solarwinds | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: stackdrivers.config.istio.io | |
labels: | |
app: mixer | |
package: stackdriver | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: stackdriver | |
plural: stackdrivers | |
singular: stackdriver | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: statsds.config.istio.io | |
labels: | |
app: mixer | |
package: statsd | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: statsd | |
plural: statsds | |
singular: statsd | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: stdios.config.istio.io | |
labels: | |
app: mixer | |
package: stdio | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: stdio | |
plural: stdios | |
singular: stdio | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: apikeys.config.istio.io | |
labels: | |
app: mixer | |
package: apikey | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: apikey | |
plural: apikeys | |
singular: apikey | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: authorizations.config.istio.io | |
labels: | |
app: mixer | |
package: authorization | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: authorization | |
plural: authorizations | |
singular: authorization | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: checknothings.config.istio.io | |
labels: | |
app: mixer | |
package: checknothing | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: checknothing | |
plural: checknothings | |
singular: checknothing | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: kuberneteses.config.istio.io | |
labels: | |
app: mixer | |
package: adapter.template.kubernetes | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: kubernetes | |
plural: kuberneteses | |
singular: kubernetes | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: listentries.config.istio.io | |
labels: | |
app: mixer | |
package: listentry | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: listentry | |
plural: listentries | |
singular: listentry | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: logentries.config.istio.io | |
labels: | |
app: mixer | |
package: logentry | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: logentry | |
plural: logentries | |
singular: logentry | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
additionalPrinterColumns: | |
- JSONPath: .spec.severity | |
description: The importance of the log entry | |
name: Severity | |
type: string | |
- JSONPath: .spec.timestamp | |
description: The time value for the log entry | |
name: Timestamp | |
type: string | |
- JSONPath: .spec.monitored_resource_type | |
description: Optional expression to compute the type of the monitored resource this log entry is being recorded on | |
name: Res Type | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: |- | |
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. | |
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata | |
name: Age | |
type: date | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: edges.config.istio.io | |
labels: | |
app: mixer | |
package: edge | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: edge | |
plural: edges | |
singular: edge | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: metrics.config.istio.io | |
labels: | |
app: mixer | |
package: metric | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: metric | |
plural: metrics | |
singular: metric | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: quotas.config.istio.io | |
labels: | |
app: mixer | |
package: quota | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: quota | |
plural: quotas | |
singular: quota | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: reportnothings.config.istio.io | |
labels: | |
app: mixer | |
package: reportnothing | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: reportnothing | |
plural: reportnothings | |
singular: reportnothing | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: tracespans.config.istio.io | |
labels: | |
app: mixer | |
package: tracespan | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: tracespan | |
plural: tracespans | |
singular: tracespan | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: rbacconfigs.rbac.istio.io | |
labels: | |
app: mixer | |
package: istio.io.mixer | |
istio: rbac | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: rbac.istio.io | |
names: | |
kind: RbacConfig | |
plural: rbacconfigs | |
singular: rbacconfig | |
categories: | |
- istio-io | |
- rbac-istio-io | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: serviceroles.rbac.istio.io | |
labels: | |
app: mixer | |
package: istio.io.mixer | |
istio: rbac | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: rbac.istio.io | |
names: | |
kind: ServiceRole | |
plural: serviceroles | |
singular: servicerole | |
categories: | |
- istio-io | |
- rbac-istio-io | |
scope: Namespaced | |
version: v1alpha1 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: servicerolebindings.rbac.istio.io | |
labels: | |
app: mixer | |
package: istio.io.mixer | |
istio: rbac | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: rbac.istio.io | |
names: | |
kind: ServiceRoleBinding | |
plural: servicerolebindings | |
singular: servicerolebinding | |
categories: | |
- istio-io | |
- rbac-istio-io | |
scope: Namespaced | |
version: v1alpha1 | |
additionalPrinterColumns: | |
- JSONPath: .spec.roleRef.name | |
description: The name of the ServiceRole object being referenced | |
name: Reference | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: |- | |
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. | |
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata | |
name: Age | |
type: date | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: adapters.config.istio.io | |
labels: | |
app: mixer | |
package: adapter | |
istio: mixer-adapter | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: adapter | |
plural: adapters | |
singular: adapter | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: instances.config.istio.io | |
labels: | |
app: mixer | |
package: instance | |
istio: mixer-instance | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: instance | |
plural: instances | |
singular: instance | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: templates.config.istio.io | |
labels: | |
app: mixer | |
package: template | |
istio: mixer-template | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: template | |
plural: templates | |
singular: template | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: handlers.config.istio.io | |
labels: | |
app: mixer | |
package: handler | |
istio: mixer-handler | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: handler | |
plural: handlers | |
singular: handler | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: cloudwatches.config.istio.io | |
labels: | |
app: mixer | |
package: cloudwatch | |
istio: mixer-adapter | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: cloudwatch | |
plural: cloudwatches | |
singular: cloudwatch | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: dogstatsds.config.istio.io | |
labels: | |
app: mixer | |
package: dogstatsd | |
istio: mixer-adapter | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: dogstatsd | |
plural: dogstatsds | |
singular: dogstatsd | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: sidecars.networking.istio.io | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: networking.istio.io | |
names: | |
kind: Sidecar | |
plural: sidecars | |
singular: sidecar | |
categories: | |
- istio-io | |
- networking-istio-io | |
scope: Namespaced | |
version: v1alpha3 | |
--- | |
kind: CustomResourceDefinition | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
metadata: | |
name: zipkins.config.istio.io | |
labels: | |
app: mixer | |
package: zipkin | |
istio: mixer-adapter | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: config.istio.io | |
names: | |
kind: zipkin | |
plural: zipkins | |
singular: zipkin | |
categories: | |
- istio-io | |
- policy-istio-io | |
scope: Namespaced | |
version: v1alpha2 | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: clusterissuers.certmanager.k8s.io | |
labels: | |
app: certmanager | |
chart: certmanager | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: certmanager.k8s.io | |
version: v1alpha1 | |
names: | |
kind: ClusterIssuer | |
plural: clusterissuers | |
scope: Cluster | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: issuers.certmanager.k8s.io | |
labels: | |
app: certmanager | |
chart: certmanager | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
group: certmanager.k8s.io | |
version: v1alpha1 | |
names: | |
kind: Issuer | |
plural: issuers | |
scope: Namespaced | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: certificates.certmanager.k8s.io | |
labels: | |
app: certmanager | |
chart: certmanager | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .status.conditions[?(@.type=="Ready")].status | |
name: Ready | |
type: string | |
- JSONPath: .spec.secretName | |
name: Secret | |
type: string | |
- JSONPath: .spec.issuerRef.name | |
name: Issuer | |
type: string | |
priority: 1 | |
- JSONPath: .status.conditions[?(@.type=="Ready")].message | |
name: Status | |
type: string | |
priority: 1 | |
- JSONPath: .metadata.creationTimestamp | |
description: |- | |
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. | |
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata | |
name: Age | |
type: date | |
group: certmanager.k8s.io | |
version: v1alpha1 | |
scope: Namespaced | |
names: | |
kind: Certificate | |
plural: certificates | |
shortNames: | |
- cert | |
- certs | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: orders.certmanager.k8s.io | |
labels: | |
app: certmanager | |
chart: certmanager | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .status.state | |
name: State | |
type: string | |
- JSONPath: .spec.issuerRef.name | |
name: Issuer | |
type: string | |
priority: 1 | |
- JSONPath: .status.reason | |
name: Reason | |
type: string | |
priority: 1 | |
- JSONPath: .metadata.creationTimestamp | |
description: |- | |
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. | |
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata | |
name: Age | |
type: date | |
group: certmanager.k8s.io | |
version: v1alpha1 | |
names: | |
kind: Order | |
plural: orders | |
scope: Namespaced | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
name: challenges.certmanager.k8s.io | |
labels: | |
app: certmanager | |
chart: certmanager | |
heritage: Tiller | |
release: istio | |
annotations: | |
"helm.sh/resource-policy": keep | |
spec: | |
additionalPrinterColumns: | |
- JSONPath: .status.state | |
name: State | |
type: string | |
- JSONPath: .spec.dnsName | |
name: Domain | |
type: string | |
- JSONPath: .status.reason | |
name: Reason | |
type: string | |
- JSONPath: .metadata.creationTimestamp | |
description: |- | |
CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. | |
Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata | |
name: Age | |
type: date | |
group: certmanager.k8s.io | |
version: v1alpha1 | |
names: | |
kind: Challenge | |
plural: challenges | |
scope: Namespaced | |
--- | |
# Source: istio/charts/kiali/templates/demosecret.yaml | |
apiVersion: v1 | |
kind: Secret | |
metadata: | |
name: kiali | |
namespace: istio-system | |
labels: | |
app: kiali | |
chart: kiali | |
heritage: Tiller | |
release: istio | |
type: Opaque | |
data: | |
username: YWRtaW4= # admin | |
passphrase: YWRtaW4= # admin | |
--- | |
# Source: istio/charts/galley/templates/configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-galley-configuration | |
namespace: istio-system | |
labels: | |
app: galley | |
chart: galley | |
heritage: Tiller | |
release: istio | |
istio: galley | |
data: | |
validatingwebhookconfiguration.yaml: |- | |
apiVersion: admissionregistration.k8s.io/v1beta1 | |
kind: ValidatingWebhookConfiguration | |
metadata: | |
name: istio-galley | |
namespace: istio-system | |
labels: | |
app: galley | |
chart: galley | |
heritage: Tiller | |
release: istio | |
istio: galley | |
webhooks: | |
- name: pilot.validation.istio.io | |
clientConfig: | |
service: | |
name: istio-galley | |
namespace: istio-system | |
path: "/admitpilot" | |
caBundle: "" | |
rules: | |
- operations: | |
- CREATE | |
- UPDATE | |
apiGroups: | |
- config.istio.io | |
apiVersions: | |
- v1alpha2 | |
resources: | |
- httpapispecs | |
- httpapispecbindings | |
- quotaspecs | |
- quotaspecbindings | |
- operations: | |
- CREATE | |
- UPDATE | |
apiGroups: | |
- rbac.istio.io | |
apiVersions: | |
- "*" | |
resources: | |
- "*" | |
- operations: | |
- CREATE | |
- UPDATE | |
apiGroups: | |
- authentication.istio.io | |
apiVersions: | |
- "*" | |
resources: | |
- "*" | |
- operations: | |
- CREATE | |
- UPDATE | |
apiGroups: | |
- networking.istio.io | |
apiVersions: | |
- "*" | |
resources: | |
- destinationrules | |
- envoyfilters | |
- gateways | |
- serviceentries | |
- sidecars | |
- virtualservices | |
failurePolicy: Fail | |
- name: mixer.validation.istio.io | |
clientConfig: | |
service: | |
name: istio-galley | |
namespace: istio-system | |
path: "/admitmixer" | |
caBundle: "" | |
rules: | |
- operations: | |
- CREATE | |
- UPDATE | |
apiGroups: | |
- config.istio.io | |
apiVersions: | |
- v1alpha2 | |
resources: | |
- rules | |
- attributemanifests | |
- circonuses | |
- deniers | |
- fluentds | |
- kubernetesenvs | |
- listcheckers | |
- memquotas | |
- noops | |
- opas | |
- prometheuses | |
- rbacs | |
- solarwindses | |
- stackdrivers | |
- cloudwatches | |
- dogstatsds | |
- statsds | |
- stdios | |
- apikeys | |
- authorizations | |
- checknothings | |
# - kuberneteses | |
- listentries | |
- logentries | |
- metrics | |
- quotas | |
- reportnothings | |
- tracespans | |
failurePolicy: Fail | |
--- | |
# Source: istio/charts/grafana/templates/configmap-custom-resources.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-custom-resources | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
istio: grafana | |
data: | |
custom-resources.yaml: |- | |
apiVersion: authentication.istio.io/v1alpha1 | |
kind: Policy | |
metadata: | |
name: grafana-ports-mtls-disabled | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
spec: | |
targets: | |
- name: grafana | |
ports: | |
- number: 3000 | |
run.sh: |- | |
#!/bin/sh | |
set -x | |
if [ "$#" -ne "1" ]; then | |
echo "first argument should be path to custom resource yaml" | |
exit 1 | |
fi | |
pathToResourceYAML=${1} | |
kubectl get validatingwebhookconfiguration istio-galley 2>/dev/null | |
if [ "$?" -eq 0 ]; then | |
echo "istio-galley validatingwebhookconfiguration found - waiting for istio-galley deployment to be ready" | |
while true; do | |
kubectl -n istio-system get deployment istio-galley 2>/dev/null | |
if [ "$?" -eq 0 ]; then | |
break | |
fi | |
sleep 1 | |
done | |
kubectl -n istio-system rollout status deployment istio-galley | |
if [ "$?" -ne 0 ]; then | |
echo "istio-galley deployment rollout status check failed" | |
exit 1 | |
fi | |
echo "istio-galley deployment ready for configuration validation" | |
fi | |
sleep 5 | |
kubectl apply -f ${pathToResourceYAML} | |
--- | |
# Source: istio/charts/grafana/templates/configmap-dashboards.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-galley-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
istio: grafana | |
data: | |
galley-dashboard.json: '{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"links": [], | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 46, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(istio_build{component=\"galley\"}) by (tag)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ tag }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Galley Versions", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 5 | |
}, | |
"id": 40, | |
"panels": [], | |
"title": "Resource Usage", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 6, | |
"x": 0, | |
"y": 6 | |
}, | |
"id": 36, | |
"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=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Virtual Memory", | |
"refId": "A" | |
}, | |
{ | |
"expr": "process_resident_memory_bytes{job=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Resident Memory", | |
"refId": "B" | |
}, | |
{ | |
"expr": "go_memstats_heap_sys_bytes{job=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "heap sys", | |
"refId": "C" | |
}, | |
{ | |
"expr": "go_memstats_heap_alloc_bytes{job=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "heap alloc", | |
"refId": "D" | |
}, | |
{ | |
"expr": "go_memstats_alloc_bytes{job=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Alloc", | |
"refId": "F" | |
}, | |
{ | |
"expr": "go_memstats_heap_inuse_bytes{job=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Heap in-use", | |
"refId": "G" | |
}, | |
{ | |
"expr": "go_memstats_stack_inuse_bytes{job=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Stack in-use", | |
"refId": "H" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Total (kis)", | |
"refId": "E" | |
} | |
], | |
"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": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 6, | |
"x": 6, | |
"y": 6 | |
}, | |
"id": 38, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Total (k8s)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[1m])) by (container_name)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ container_name }} (k8s)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "irate(process_cpu_seconds_total{job=\"galley\"}[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "galley (self-reported)", | |
"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": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 6, | |
"x": 12, | |
"y": 6 | |
}, | |
"id": 42, | |
"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=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Open FDs (galley)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "container_fs_usage_bytes{container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ container_name }} ", | |
"refId": "B" | |
} | |
], | |
"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": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 6, | |
"x": 18, | |
"y": 6 | |
}, | |
"id": 44, | |
"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": "go_goroutines{job=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "goroutines_total", | |
"refId": "A" | |
}, | |
{ | |
"expr": "galley_mcp_source_clients_total", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "clients_total", | |
"refId": "B" | |
}, | |
{ | |
"expr": "go_goroutines{job=\"galley\"}/galley_mcp_source_clients_total", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "avg_goroutines_per_client", | |
"refId": "C" | |
} | |
], | |
"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": 14 | |
}, | |
"id": 10, | |
"panels": [], | |
"title": "Runtime", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 15 | |
}, | |
"id": 2, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(galley_runtime_strategy_on_change_total[1m])) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Strategy Change Events", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(galley_runtime_processor_events_processed_total[1m])) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Processed Events", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(rate(galley_runtime_processor_snapshots_published_total[1m])) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Snapshot Published", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Event Rates", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "Events/min", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 15 | |
}, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(galley_runtime_strategy_timer_max_time_reached_total[1m])) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Max Time Reached", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(galley_runtime_strategy_timer_quiesce_reached_total[1m])) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Quiesce Reached", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(rate(galley_runtime_strategy_timer_resets_total[1m])) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Timer Resets", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Timer Rates", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "Events/min", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 15 | |
}, | |
"id": 8, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 3, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": true, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "P50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "P90", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "P95", | |
"refId": "C" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "P99", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Events Per Snapshot", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 21 | |
}, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum by (typeURL) (galley_runtime_state_type_instances_total)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ typeURL }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "State Type Instances", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "Count", | |
"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": 27 | |
}, | |
"id": 34, | |
"panels": [], | |
"title": "Validation", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 28 | |
}, | |
"id": 28, | |
"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": "galley_validation_cert_key_updates{job=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Key Updates", | |
"refId": "A" | |
}, | |
{ | |
"expr": "galley_validation_cert_key_update_errors{job=\"galley\"}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Key Update Errors: {{ error }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Validation Webhook Certificate", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 28 | |
}, | |
"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": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(galley_validation_passed{job=\"galley\"}) by (group, version, resource)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Passed: {{ group }}/{{ version }}/{{resource}}", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(galley_validation_failed{job=\"galley\"}) by (group, version, resource, reason)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Failed: {{ group }}/{{ version }}/{{resource}} ({{ reason}})", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Resource Validation", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 28 | |
}, | |
"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": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(galley_validation_http_error{job=\"galley\"}) by (status)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ status }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Validation HTTP 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 | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 34 | |
}, | |
"id": 12, | |
"panels": [], | |
"title": "Kubernetes Source", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 35 | |
}, | |
"id": 14, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(galley_source_kube_event_success_total[1m]) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Success", | |
"refId": "A" | |
}, | |
{ | |
"expr": "rate(galley_source_kube_event_error_total[1m]) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Error", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Source Event Rate", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "Events/min", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 35 | |
}, | |
"id": 16, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(galley_source_kube_dynamic_converter_success_total[1m]) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{apiVersion=\"{{apiVersion}}\",group=\"{{group}}\",kind=\"{{kind}}\"}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Kubernetes Object Conversion Successes", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "Conversions/min", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 35 | |
}, | |
"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": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(galley_source_kube_dynamic_converter_failure_total[1m]) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Error", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Kubernetes Object Conversion 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": "Failures/min", | |
"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": 41 | |
}, | |
"id": 18, | |
"panels": [], | |
"title": "Mesh Configuration Protocol", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 42 | |
}, | |
"id": 20, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(galley_mcp_source_clients_total)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Clients", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Connected Clients", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 42 | |
}, | |
"id": 22, | |
"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 by(collection)(irate(galley_mcp_source_request_acks_total[1m]) * 60)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Request ACKs", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "ACKs/min", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 42 | |
}, | |
"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": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(galley_mcp_source_request_nacks_total[1m]) * 60", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Request NACKs", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "NACKs/min", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"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 Galley Dashboard", | |
"uid": "TSEY6jLmk", | |
"version": 1 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-istio-mesh-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
istio: grafana | |
data: | |
istio-mesh-dashboard.json: '{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "5.2.3" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "singlestat", | |
"name": "Singlestat", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "table", | |
"name": "Table", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "text", | |
"name": "Text", | |
"version": "5.0.0" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<div>\n <div style=\"position: absolute; bottom: 0\">\n <a href=\"https://istio.io\" target=\"_blank\" style=\"font-size: 30px; text-decoration: none; color: inherit\"><img src=\"https://istio.io/img/istio-logo.svg\" style=\"height: 50px\"> Istio</a>\n </div>\n <div style=\"position: absolute; bottom: 0; right: 0; font-size: 15px\">\n Istio is an <a href=\"https://github.com/istio/istio\" target=\"_blank\">open platform</a> that provides a uniform way to connect,\n <a href=\"https://istio.io/docs/concepts/traffic-management/overview.html\" target=\"_blank\">manage</a>, and \n <a href=\"https://istio.io/docs/concepts/network-and-auth/auth.html\" target=\"_blank\">secure</a> microservices.\n <br>\n Need help? Join the <a href=\"https://istio.io/community/\" target=\"_blank\">Istio community</a>.\n </div>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"height": "50px", | |
"id": 13, | |
"links": [], | |
"mode": "html", | |
"style": { | |
"font-size": "18pt" | |
}, | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 20, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{reporter=\"destination\"}[1m])), 0.001)", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Global Request Volume", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 6, | |
"y": 3 | |
}, | |
"id": 21, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(rate(istio_requests_total{reporter=\"destination\", response_code!~\"5.*\"}[1m])) / sum(rate(istio_requests_total{reporter=\"destination\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Global Success Rate (non-5xx responses)", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 12, | |
"y": 3 | |
}, | |
"id": 22, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", response_code=~\"4.*\"}[1m])) ", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "4xxs", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 18, | |
"y": 3 | |
}, | |
"id": 23, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", response_code=~\"5.*\"}[1m])) ", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "5xxs", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"columns": [], | |
"datasource": "Prometheus", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 21, | |
"w": 24, | |
"x": 0, | |
"y": 6 | |
}, | |
"hideTimeOverride": false, | |
"id": 73, | |
"links": [], | |
"pageSize": null, | |
"repeat": null, | |
"repeatDirection": "v", | |
"scroll": true, | |
"showHeader": true, | |
"sort": { | |
"col": 4, | |
"desc": true | |
}, | |
"styles": [ | |
{ | |
"alias": "Workload", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": false, | |
"linkTargetBlank": false, | |
"linkTooltip": "Workload dashboard", | |
"linkUrl": "/dashboard/db/istio-workload-dashboard?var-namespace=$__cell_2&var-workload=$__cell_", | |
"pattern": "destination_workload", | |
"preserveFormat": false, | |
"sanitize": false, | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Time", | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Requests", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #A", | |
"thresholds": [], | |
"type": "number", | |
"unit": "ops" | |
}, | |
{ | |
"alias": "P50 Latency", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #B", | |
"thresholds": [], | |
"type": "number", | |
"unit": "s" | |
}, | |
{ | |
"alias": "P90 Latency", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #D", | |
"thresholds": [], | |
"type": "number", | |
"unit": "s" | |
}, | |
{ | |
"alias": "P99 Latency", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #E", | |
"thresholds": [], | |
"type": "number", | |
"unit": "s" | |
}, | |
{ | |
"alias": "Success Rate", | |
"colorMode": "cell", | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #F", | |
"thresholds": [ | |
".95", | |
" 1.00" | |
], | |
"type": "number", | |
"unit": "percentunit" | |
}, | |
{ | |
"alias": "Workload", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": true, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-workload-dashboard?var-workload=$__cell_2&var-namespace=$__cell_3", | |
"pattern": "destination_workload_var", | |
"thresholds": [], | |
"type": "number", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Service", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": true, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-service-dashboard?var-service=$__cell", | |
"pattern": "destination_service", | |
"thresholds": [], | |
"type": "string", | |
"unit": "short" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "destination_workload_namespace", | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
} | |
], | |
"targets": [ | |
{ | |
"expr": "label_join(sum(rate(istio_requests_total{reporter=\"destination\", response_code=\"200\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}", | |
"refId": "A" | |
}, | |
{ | |
"expr": "label_join(histogram_quantile(0.50, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}", | |
"refId": "B" | |
}, | |
{ | |
"expr": "label_join(histogram_quantile(0.90, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", | |
"refId": "D" | |
}, | |
{ | |
"expr": "label_join(histogram_quantile(0.99, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", | |
"refId": "E" | |
}, | |
{ | |
"expr": "label_join((sum(rate(istio_requests_total{reporter=\"destination\", response_code!~\"5.*\"}[1m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"destination\"}[1m])) by (destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", | |
"refId": "F" | |
} | |
], | |
"timeFrom": null, | |
"title": "HTTP/GRPC Workloads", | |
"transform": "table", | |
"transparent": false, | |
"type": "table" | |
}, | |
{ | |
"columns": [], | |
"datasource": "Prometheus", | |
"fontSize": "100%", | |
"gridPos": { | |
"h": 18, | |
"w": 24, | |
"x": 0, | |
"y": 27 | |
}, | |
"hideTimeOverride": false, | |
"id": 109, | |
"links": [], | |
"pageSize": null, | |
"repeatDirection": "v", | |
"scroll": true, | |
"showHeader": true, | |
"sort": { | |
"col": 2, | |
"desc": true | |
}, | |
"styles": [ | |
{ | |
"alias": "Workload", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": false, | |
"linkTargetBlank": false, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-tcp-workload-dashboard?var-namespace=$__cell_2&&var-workload=$__cell", | |
"pattern": "destination_workload", | |
"preserveFormat": false, | |
"sanitize": false, | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Bytes Sent", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #A", | |
"thresholds": [ | |
"" | |
], | |
"type": "number", | |
"unit": "Bps" | |
}, | |
{ | |
"alias": "Bytes Received", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Value #C", | |
"thresholds": [], | |
"type": "number", | |
"unit": "Bps" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "Time", | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Workload", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": true, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-workload-dashboard?var-namespace=$__cell_3&var-workload=$__cell_2", | |
"pattern": "destination_workload_var", | |
"thresholds": [], | |
"type": "string", | |
"unit": "short" | |
}, | |
{ | |
"alias": "", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"pattern": "destination_workload_namespace", | |
"thresholds": [], | |
"type": "hidden", | |
"unit": "short" | |
}, | |
{ | |
"alias": "Service", | |
"colorMode": null, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"dateFormat": "YYYY-MM-DD HH:mm:ss", | |
"decimals": 2, | |
"link": true, | |
"linkTooltip": "$__cell dashboard", | |
"linkUrl": "/dashboard/db/istio-service-dashboard?var-service=$__cell", | |
"pattern": "destination_service", | |
"thresholds": [], | |
"type": "number", | |
"unit": "short" | |
} | |
], | |
"targets": [ | |
{ | |
"expr": "label_join(sum(rate(istio_tcp_received_bytes_total{reporter=\"source\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}", | |
"refId": "C" | |
}, | |
{ | |
"expr": "label_join(sum(rate(istio_tcp_sent_bytes_total{reporter=\"source\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")", | |
"format": "table", | |
"hide": false, | |
"instant": true, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"title": "TCP Workloads", | |
"transform": "table", | |
"transparent": false, | |
"type": "table" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 24, | |
"x": 0, | |
"y": 45 | |
}, | |
"id": 111, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(istio_build) by (component, tag)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ component }}: {{ tag }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Istio Components by Version", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"transparent": false, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-5m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Istio Mesh Dashboard", | |
"version": 4 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-istio-performance-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
istio: grafana | |
data: | |
istio-performance-dashboard.json: '{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "5.2.3" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "text", | |
"name": "Text", | |
"version": "5.0.0" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"links": [], | |
"panels": [ | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 2, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "(sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-telemetry", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[1m])) / (round(sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[1m])), 0.001)/1000)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-ingressgateway", | |
"refId": "B" | |
}, | |
{ | |
"expr": "(sum(rate(container_cpu_usage_seconds_total{namespace!=\"istio-system\",container_name=\"istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-proxy", | |
"refId": "C" | |
}, | |
{ | |
"expr": "(sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-policy", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "vCPU / 1k rps", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 12, | |
"y": 0 | |
}, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-telemetry", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-ingressgateway", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{namespace!=\"istio-system\",container_name=\"istio-proxy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-proxy", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-policy", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "vCPU", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 0, | |
"y": 9 | |
}, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"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)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-telemetry / 1k rps", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{pod_name=~\"istio-ingressgateway-.*\"}) / count(container_memory_usage_bytes{pod_name=~\"istio-ingressgateway-.*\",container_name!=\"POD\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "per istio-ingressgateway", | |
"refId": "C" | |
}, | |
{ | |
"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\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "per istio-proxy", | |
"refId": "B" | |
}, | |
{ | |
"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)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-policy / 1k rps", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Memory", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 12, | |
"y": 9 | |
}, | |
"id": 5, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-telemetry\"}[1m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-telemetry\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-telemetry", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(irate(istio_response_bytes_sum{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-ingressgateway", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(irate(istio_response_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[1m])) + sum(irate(istio_response_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[1m])) + sum(irate(istio_request_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[1m])) + sum(irate(istio_request_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-proxy", | |
"refId": "D" | |
}, | |
{ | |
"expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-policy\"}[1m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-policy\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "istio-policy", | |
"refId": "E" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes transferred / sec", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 24, | |
"x": 0, | |
"y": 18 | |
}, | |
"id": 8, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(istio_build) by (component, tag)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ component }}: {{ tag }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Istio Components by Version", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"transparent": false, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"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.", | |
"gridPos": { | |
"h": 4, | |
"w": 24, | |
"x": 0, | |
"y": 18 | |
}, | |
"id": 11, | |
"links": [], | |
"mode": "markdown", | |
"title": "Istio Performance Dashboard Readme", | |
"type": "text" | |
} | |
], | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-5m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Istio Performance Dashboard", | |
"version": 4 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-istio-service-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
istio: grafana | |
data: | |
istio-service-dashboard.json: '{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"iteration": 1536442501501, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>SERVICE: $service</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 89, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 12, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\"}[5m])), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Client Request Volume", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "Prometheus", | |
"decimals": null, | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 6, | |
"y": 3 | |
}, | |
"id": 14, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\"}[5m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "B" | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Client Success Rate (non-5xx responses)", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 12, | |
"y": 3 | |
}, | |
"id": 87, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "P50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P90", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P99", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Client Request Duration", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 18, | |
"y": 3 | |
}, | |
"id": 84, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", destination_service=~\"$service\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "TCP Received Bytes", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 0, | |
"y": 7 | |
}, | |
"id": 97, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\"}[5m])), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Server Request Volume", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "Prometheus", | |
"decimals": null, | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 6, | |
"y": 7 | |
}, | |
"id": 98, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\"}[5m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "B" | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Server Success Rate (non-5xx responses)", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 12, | |
"y": 7 | |
}, | |
"id": 99, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "P50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P90", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P99", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Server Request Duration", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 6, | |
"x": 18, | |
"y": 7 | |
}, | |
"id": 100, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"source\", destination_service=~\"$service\"}[1m])) ", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "TCP Sent Bytes", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>CLIENT WORKLOADS</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 11 | |
}, | |
"id": 45, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 14 | |
}, | |
"id": 25, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\",destination_service=~\"$service\",reporter=\"source\",source_workload=~\"$srcwl\",source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }} (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", reporter=\"source\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Requests by Source And Response Code", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 14 | |
}, | |
"id": 26, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Success Rate (non-5xx responses) By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 20 | |
}, | |
"id": 27, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Duration by Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 20 | |
}, | |
"id": 28, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Size By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 20 | |
}, | |
"id": 68, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 26 | |
}, | |
"id": 80, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Received from Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 26 | |
}, | |
"id": 82, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Sent to Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>SERVICE WORKLOADS</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 32 | |
}, | |
"id": 69, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 35 | |
}, | |
"id": 90, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\",destination_service=~\"$service\",reporter=\"destination\",destination_workload=~\"$dstwl\",destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} : {{ response_code }} (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", reporter=\"destination\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} : {{ response_code }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Requests by Destination And Response Code", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 35 | |
}, | |
"id": 91, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Success Rate (non-5xx responses) By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 41 | |
}, | |
"id": 94, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Duration by Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 41 | |
}, | |
"id": 95, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Size By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 41 | |
}, | |
"id": 96, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 47 | |
}, | |
"id": 92, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Received from Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 47 | |
}, | |
"id": 93, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{destination_workload_namespace }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[1m])) by (destination_workload, destination_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_workload }}.{{destination_workload_namespace }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Sent to Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "10s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Service", | |
"multi": false, | |
"name": "service", | |
"options": [], | |
"query": "label_values(destination_service)", | |
"refresh": 1, | |
"regex": "", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "All", | |
"value": "$__all" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Client Workload Namespace", | |
"multi": true, | |
"name": "srcns", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=\"$service\"}) by (source_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\"}) by (source_workload_namespace))", | |
"refresh": 1, | |
"regex": "/.*namespace=\"([^\"]*).*/", | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "All", | |
"value": "$__all" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Client Workload", | |
"multi": true, | |
"name": "srcwl", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=~\"$service\", source_workload_namespace=~\"$srcns\"}) by (source_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\", source_workload_namespace=~\"$srcns\"}) by (source_workload))", | |
"refresh": 1, | |
"regex": "/.*workload=\"([^\"]*).*/", | |
"sort": 3, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "All", | |
"value": "$__all" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Service Workload Namespace", | |
"multi": true, | |
"name": "dstns", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=\"$service\"}) by (destination_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\"}) by (destination_workload_namespace))", | |
"refresh": 1, | |
"regex": "/.*namespace=\"([^\"]*).*/", | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "All", | |
"value": "$__all" | |
}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Service Workload", | |
"multi": true, | |
"name": "dstwl", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=~\"$service\", destination_workload_namespace=~\"$dstns\"}) by (destination_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\", destination_workload_namespace=~\"$dstns\"}) by (destination_workload))", | |
"refresh": 1, | |
"regex": "/.*workload=\"([^\"]*).*/", | |
"sort": 3, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-5m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Istio Service Dashboard", | |
"uid": "LJ_uJAvmk", | |
"version": 1 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-istio-workload-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
istio: grafana | |
data: | |
istio-workload-dashboard.json: '{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "5.0.4" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "singlestat", | |
"name": "Singlestat", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "text", | |
"name": "Text", | |
"version": "5.0.0" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": null, | |
"iteration": 1531345461465, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>WORKLOAD: $workload.$namespace</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 89, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "Prometheus", | |
"format": "ops", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 8, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 12, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\"}[5m])), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A", | |
"step": 4 | |
} | |
], | |
"thresholds": "", | |
"title": "Incoming Request Volume", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "Prometheus", | |
"decimals": null, | |
"format": "percentunit", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 80, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": false | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 8, | |
"x": 8, | |
"y": 3 | |
}, | |
"id": 14, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\"}[5m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "B" | |
} | |
], | |
"thresholds": "95, 99, 99.5", | |
"title": "Incoming Success Rate (non-5xx responses)", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 4, | |
"w": 8, | |
"x": 16, | |
"y": 3 | |
}, | |
"id": 87, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "P50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P90", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[1m])) by (le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "P99", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Request Duration", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 12, | |
"x": 0, | |
"y": 7 | |
}, | |
"id": 84, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\"}[1m])) + sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "TCP Server Traffic", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "Prometheus", | |
"format": "Bps", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 4, | |
"w": 12, | |
"x": 12, | |
"y": 7 | |
}, | |
"id": 85, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": true, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": true | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\"}[1m])) + sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "", | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "TCP Client Traffic", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>INBOUND WORKLOADS</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 11 | |
}, | |
"id": 45, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 14 | |
}, | |
"id": 25, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", reporter=\"destination\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }} (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", reporter=\"destination\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Requests by Source And Response Code", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 14 | |
}, | |
"id": 26, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(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)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(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)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Success Rate (non-5xx responses) By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 20 | |
}, | |
"id": 27, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Duration by Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 20 | |
}, | |
"id": 28, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Request Size By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 20 | |
}, | |
"id": 68, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size By Source", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 26 | |
}, | |
"id": 80, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Received from Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 26 | |
}, | |
"id": 82, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Sent to Incoming TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"content": "<div class=\"dashboard-header text-center\">\n<span>OUTBOUND SERVICES</span>\n</div>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 32 | |
}, | |
"id": 69, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 35 | |
}, | |
"id": 70, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null as zero", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", reporter=\"source\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service, response_code), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} : {{ response_code }} (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", reporter=\"source\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service, response_code), 0.001)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} : {{ response_code }}", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Outgoing Requests by Destination And Response Code", | |
"tooltip": { | |
"shared": false, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [ | |
"total" | |
] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 35 | |
}, | |
"id": 71, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\",response_code!~\"5.*\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\",response_code!~\"5.*\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{destination_service }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Outgoing Success Rate (non-5xx responses) By Destination", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "percentunit", | |
"label": null, | |
"logBase": 1, | |
"max": "1.01", | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"description": "", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 41 | |
}, | |
"id": 72, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Outgoing Request Duration by Destination", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 41 | |
}, | |
"id": 73, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Outgoing Request Size By Destination", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 41 | |
}, | |
"id": 74, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50 (🔐mTLS)", | |
"refId": "D", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90 (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95 (🔐mTLS)", | |
"refId": "B", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99 (🔐mTLS)", | |
"refId": "C", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P50", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P90", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P95", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service, le))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} P99", | |
"refId": "H", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Size By Destination", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "decbytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 47 | |
}, | |
"id": 76, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Sent on Outgoing TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 47 | |
}, | |
"id": 78, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }} (🔐mTLS)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[1m])) by (destination_service), 0.001)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ destination_service }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Bytes Received from Outgoing TCP Connection", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "Bps", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
] | |
} | |
], | |
"refresh": "10s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Namespace", | |
"multi": false, | |
"name": "namespace", | |
"options": [], | |
"query": "query_result(sum(istio_requests_total) by (destination_workload_namespace) or sum(istio_tcp_sent_bytes_total) by (destination_workload_namespace))", | |
"refresh": 1, | |
"regex": "/.*_namespace=\"([^\"]*).*/", | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Workload", | |
"multi": false, | |
"name": "workload", | |
"options": [], | |
"query": "query_result((sum(istio_requests_total{destination_workload_namespace=~\"$namespace\"}) by (destination_workload) or sum(istio_requests_total{source_workload_namespace=~\"$namespace\"}) by (source_workload)) or (sum(istio_tcp_sent_bytes_total{destination_workload_namespace=~\"$namespace\"}) by (destination_workload) or sum(istio_tcp_sent_bytes_total{source_workload_namespace=~\"$namespace\"}) by (source_workload)))", | |
"refresh": 1, | |
"regex": "/.*workload=\"([^\"]*).*/", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Inbound Workload Namespace", | |
"multi": true, | |
"name": "srcns", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\"}) by (source_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\"}) by (source_workload_namespace))", | |
"refresh": 1, | |
"regex": "/.*namespace=\"([^\"]*).*/", | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Inbound Workload", | |
"multi": true, | |
"name": "srcwl", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload_namespace=~\"$srcns\"}) by (source_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload_namespace=~\"$srcns\"}) by (source_workload))", | |
"refresh": 1, | |
"regex": "/.*workload=\"([^\"]*).*/", | |
"sort": 3, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Destination Service", | |
"multi": true, | |
"name": "dstsvc", | |
"options": [], | |
"query": "query_result( sum(istio_requests_total{reporter=\"source\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\"}) by (destination_service) or sum(istio_tcp_sent_bytes_total{reporter=\"source\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\"}) by (destination_service))", | |
"refresh": 1, | |
"regex": "/.*destination_service=\"([^\"]*).*/", | |
"sort": 4, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-5m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Istio Workload Dashboard", | |
"uid": "UbsSZTDik", | |
"version": 1 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-mixer-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
istio: grafana | |
data: | |
mixer-dashboard.json: '{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "5.2.3" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "text", | |
"name": "Text", | |
"version": "5.0.0" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"limit": 100, | |
"name": "Annotations & Alerts", | |
"showIn": 0, | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 1, | |
"id": null, | |
"iteration": 1543881232533, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<center><h2>Deployed Versions</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"height": "40", | |
"id": 62, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 24, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 64, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(istio_build{component=\"mixer\"}) by (tag)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ tag }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Mixer Versions", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"content": "<center><h2>Resource Usage</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 8 | |
}, | |
"height": "40", | |
"id": 29, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 11 | |
}, | |
"id": 5, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(process_virtual_memory_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Virtual Memory ({{ job }})", | |
"refId": "I" | |
}, | |
{ | |
"expr": "sum(process_resident_memory_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Resident Memory ({{ job }})", | |
"refId": "H" | |
}, | |
{ | |
"expr": "sum(go_memstats_heap_sys_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap sys ({{ job }})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(go_memstats_heap_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap alloc ({{ job }})", | |
"refId": "D" | |
}, | |
{ | |
"expr": "sum(go_memstats_alloc_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Alloc ({{ job }})", | |
"refId": "F" | |
}, | |
{ | |
"expr": "sum(go_memstats_heap_inuse_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Heap in-use ({{ job }})", | |
"refId": "E" | |
}, | |
{ | |
"expr": "sum(go_memstats_stack_inuse_bytes{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Stack in-use ({{ job }})", | |
"refId": "G" | |
}, | |
{ | |
"expr": "sum(label_replace(container_memory_usage_bytes{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (service)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} total (k8s)", | |
"refId": "C" | |
}, | |
{ | |
"expr": "sum(label_replace(container_memory_usage_bytes{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", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} - {{ container_name }} (k8s)", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Memory", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 11 | |
}, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[1m])) by (pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} total (k8s)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[1m])) by (container_name, pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} - {{ container_name }} (k8s)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(irate(process_cpu_seconds_total{job=~\"istio-telemetry|istio-policy\"}[1m])) by (job)", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{ job }} (self-reported)", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "CPU", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 11 | |
}, | |
"id": 7, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(process_open_fds{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"hide": true, | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "Open FDs ({{ job }})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "sum(label_replace(container_fs_usage_bytes{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", | |
"intervalFactor": 2, | |
"legendFormat": "{{ service }} - {{ container_name }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Disk", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "none", | |
"label": "", | |
"logBase": 1024, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 11 | |
}, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(go_goroutines{job=~\"istio-telemetry|istio-policy\"}) by (job)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Number of Goroutines ({{ job }})", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Goroutines", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"content": "<center><h2>Mixer Overview</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 18 | |
}, | |
"height": "40px", | |
"id": 30, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 0, | |
"y": 21 | |
}, | |
"id": 9, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(grpc_io_server_completed_rpcs[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "mixer (Total)", | |
"refId": "B" | |
}, | |
{ | |
"expr": "sum(rate(grpc_io_server_completed_rpcs[1m])) by (grpc_server_method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "mixer ({{ grpc_server_method }})", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Incoming Requests", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 6, | |
"y": 21 | |
}, | |
"id": 8, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "{}", | |
"yaxis": 1 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.5, sum(rate(grpc_io_server_server_latency_bucket{}[1m])) by (grpc_server_method, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ grpc_server_method }} 0.5", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.9, sum(rate(grpc_io_server_server_latency_bucket{}[1m])) by (grpc_server_method, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ grpc_server_method }} 0.9", | |
"refId": "C" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(rate(grpc_io_server_server_latency_bucket{}[1m])) by (grpc_server_method, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ grpc_server_method }} 0.99", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Response Durations", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ms", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 12, | |
"y": 21 | |
}, | |
"id": 11, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(grpc_server_handled_total{grpc_code=~\"Unknown|Unimplemented|Internal|DataLoss\"}[1m])) by (grpc_method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Mixer {{ grpc_method }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Server Error Rate (5xx responses)", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 18, | |
"y": 21 | |
}, | |
"id": 12, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(grpc_server_handled_total{grpc_code!=\"OK\",grpc_service=~\".*Mixer\"}[1m])) by (grpc_method)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Mixer {{ grpc_method }}", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Non-successes (4xxs)", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"content": "<center><h2>Adapters and Config</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 27 | |
}, | |
"id": 28, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 30 | |
}, | |
"id": 13, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(mixer_runtime_dispatches_total{adapter=~\"$adapter\"}[1m])) by (adapter)", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Adapter Dispatch Count", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 30 | |
}, | |
"id": 14, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.5, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }} - p50", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }} - p90 ", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[1m])) by (adapter, le))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ adapter }} - p99", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Adapter Dispatch Duration", | |
"tooltip": { | |
"shared": true, | |
"sort": 1, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 37 | |
}, | |
"id": 60, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_rule_config_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Rules", | |
"refId": "A" | |
}, | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_rule_config_error_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Config Errors", | |
"refId": "B" | |
}, | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_rule_config_match_error_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Match Errors", | |
"refId": "C" | |
}, | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_unsatisfied_action_handler_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Unsatisfied Actions", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Rules", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 37 | |
}, | |
"id": 56, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_instance_config_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Instances", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Instances in Latest Config", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 37 | |
}, | |
"id": 54, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_handler_config_count) by (configID)))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Handlers", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Handlers in Latest Config", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 37 | |
}, | |
"id": 58, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "scalar(topk(1, max(mixer_config_attribute_count) by (configID)))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "Attributes", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Attributes in Latest Config", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"content": "<center><h2>Individual Adapters</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 44 | |
}, | |
"id": 23, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 47 | |
}, | |
"id": 46, | |
"panels": [], | |
"repeat": "adapter", | |
"title": "$adapter Adapter", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 48 | |
}, | |
"id": 17, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(irate(mixer_runtime_dispatches_total{adapter=\"$adapter\"}[1m]),\"handler\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ handler }} (error: {{ error }})", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Dispatch Count By Handler", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 48 | |
}, | |
"id": 18, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "label_replace(histogram_quantile(0.5, sum(rate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=\"$adapter\"}[1m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "p50 - {{ handler_short }} (error: {{ error }})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=\"$adapter\"}[1m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "p90 - {{ handler_short }} (error: {{ error }})", | |
"refId": "D" | |
}, | |
{ | |
"expr": "label_replace(histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=\"$adapter\"}[1m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "p99 - {{ handler_short }} (error: {{ error }})", | |
"refId": "E" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Dispatch Duration By Handler", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": {}, | |
"datasource": "Prometheus", | |
"hide": 0, | |
"includeAll": true, | |
"label": "Adapter", | |
"multi": true, | |
"name": "adapter", | |
"options": [], | |
"query": "label_values(adapter)", | |
"refresh": 2, | |
"regex": "", | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-5m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Istio Mixer Dashboard", | |
"version": 4 | |
} | |
' | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana-configuration-dashboards-pilot-dashboard | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
istio: grafana | |
data: | |
pilot-dashboard.json: '{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "5.2.3" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "text", | |
"name": "Text", | |
"version": "5.0.0" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"editable": false, | |
"gnetId": null, | |
"graphTooltip": 1, | |
"id": null, | |
"links": [], | |
"panels": [ | |
{ | |
"content": "<center><h2>Deployed Versions</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"height": "40", | |
"id": 58, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 5, | |
"w": 24, | |
"x": 0, | |
"y": 3 | |
}, | |
"id": 56, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(istio_build{component=\"pilot\"}) by (tag)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ tag }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Pilot Versions", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"content": "<center><h2>Resource Usage</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 8 | |
}, | |
"height": "40", | |
"id": 29, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 11 | |
}, | |
"id": 5, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "process_virtual_memory_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 2, | |
"legendFormat": "Virtual Memory", | |
"refId": "I", | |
"step": 2 | |
}, | |
{ | |
"expr": "process_resident_memory_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Resident Memory", | |
"refId": "H", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_sys_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap sys", | |
"refId": "A" | |
}, | |
{ | |
"expr": "go_memstats_heap_alloc_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "heap alloc", | |
"refId": "D" | |
}, | |
{ | |
"expr": "go_memstats_alloc_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Alloc", | |
"refId": "F", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_heap_inuse_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Heap in-use", | |
"refId": "E", | |
"step": 2 | |
}, | |
{ | |
"expr": "go_memstats_stack_inuse_bytes{job=\"pilot\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Stack in-use", | |
"refId": "G", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(container_memory_usage_bytes{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{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, | |
"timeShift": null, | |
"title": "Memory", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 11 | |
}, | |
"id": 6, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "Total (k8s)", | |
"refId": "A", | |
"step": 2 | |
}, | |
{ | |
"expr": "sum(rate(container_cpu_usage_seconds_total{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[1m])) 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=\"pilot\"}[1m])", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "pilot (self-reported)", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "CPU", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 11 | |
}, | |
"id": 7, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "process_open_fds{job=\"pilot\"}", | |
"format": "time_series", | |
"hide": true, | |
"instant": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "Open FDs (pilot)", | |
"refId": "A" | |
}, | |
{ | |
"expr": "container_fs_usage_bytes{container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{ container_name }}", | |
"refId": "B", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Disk", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"decimals": null, | |
"format": "none", | |
"label": "", | |
"logBase": 1024, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 11 | |
}, | |
"id": 4, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": false, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "go_goroutines{job=\"pilot\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Number of Goroutines", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Goroutines", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"content": "<center><h2>xDS</h2></center>", | |
"gridPos": { | |
"h": 3, | |
"w": 24, | |
"x": 0, | |
"y": 18 | |
}, | |
"id": 28, | |
"links": [], | |
"mode": "html", | |
"title": "", | |
"transparent": true, | |
"type": "text" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 21 | |
}, | |
"id": 40, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(irate(envoy_cluster_update_success{cluster_name=\"xds-grpc\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "XDS GRPC Successes", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Updates", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 8, | |
"y": 21 | |
}, | |
"id": 42, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "round(sum(rate(envoy_cluster_update_attempt{cluster_name=\"xds-grpc\"}[1m])) - sum(rate(envoy_cluster_update_success{cluster_name=\"xds-grpc\"}[1m])))", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "XDS GRPC ", | |
"refId": "A", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Failures", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 16, | |
"y": 21 | |
}, | |
"id": 41, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "Pilot (XDS GRPC)", | |
"refId": "C", | |
"step": 2 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Active Connections", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 0, | |
"y": 27 | |
}, | |
"id": 45, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "pilot_conflict_inbound_listener{job=\"pilot\"}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "Inbound Listeners", | |
"refId": "B" | |
}, | |
{ | |
"expr": "pilot_conflict_outbound_listener_http_over_current_tcp{job=\"pilot\"}", | |
"format": "time_series", | |
"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", | |
"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", | |
"intervalFactor": 1, | |
"legendFormat": "Outbound Listeners (tcp over current http)", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Conflicts", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 8, | |
"y": 27 | |
}, | |
"id": 47, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "pilot_virt_services{job=\"pilot\"}", | |
"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", | |
"intervalFactor": 1, | |
"legendFormat": "Push Errors ({{ type }})", | |
"refId": "I" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "ADS Monitoring", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Prometheus", | |
"fill": 1, | |
"gridPos": { | |
"h": 8, | |
"w": 8, | |
"x": 16, | |
"y": 27 | |
}, | |
"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, | |
"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": 35 | |
}, | |
"id": 52, | |
"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_eds_reject{job=\"pilot\"}) by (node, err), \"node\", \"$1\", \"node\", \".*~.*~(.*)~.*\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ node }} ({{err}})", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"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": 35 | |
}, | |
"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\", \".*~.*~(.*)~.*\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ node }} ({{err}})", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"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": 35 | |
}, | |
"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\", \".*~.*~(.*)~.*\")", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ node }} ({{err}})", | |
"refId": "A" | |
} | |
], | |
"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", | |
"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": 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", | |
"yaxis": 1 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(pilot_xds_eds_instances{job=\"pilot\"}) by (cluster)", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "{{ cluster }}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "EDS Instances", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "now-5m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "Istio Pilot Dashboard", | |
"version": 4 | |
} | |
' | |
--- | |
--- | |
# Source: istio/charts/grafana/templates/configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-grafana | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
istio: grafana | |
data: | |
datasources.yaml: | | |
apiVersion: 1 | |
datasources: | |
- access: proxy | |
editable: true | |
isDefault: true | |
jsonData: | |
timeInterval: 5s | |
name: Prometheus | |
orgId: 1 | |
type: prometheus | |
url: http://prometheus:9090 | |
dashboardproviders.yaml: | | |
apiVersion: 1 | |
providers: | |
- disableDeletion: false | |
folder: istio | |
name: istio | |
options: | |
path: /var/lib/grafana/dashboards/istio | |
orgId: 1 | |
type: file | |
--- | |
# Source: istio/charts/kiali/templates/configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: kiali | |
namespace: istio-system | |
labels: | |
app: kiali | |
chart: kiali | |
heritage: Tiller | |
release: istio | |
data: | |
config.yaml: | | |
istio_namespace: istio-system | |
server: | |
port: 20001 | |
external_services: | |
istio: | |
url_service_version: http://istio-pilot:8080/version | |
jaeger: | |
url: | |
grafana: | |
url: | |
--- | |
# Source: istio/charts/security/templates/configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-security-custom-resources | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
istio: citadel | |
data: | |
custom-resources.yaml: |- | |
# Authentication policy to enable permissive mode for all services (that have sidecar) in the mesh. | |
apiVersion: "authentication.istio.io/v1alpha1" | |
kind: "MeshPolicy" | |
metadata: | |
name: "default" | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
spec: | |
peers: | |
- mtls: | |
mode: PERMISSIVE | |
run.sh: |- | |
#!/bin/sh | |
set -x | |
if [ "$#" -ne "1" ]; then | |
echo "first argument should be path to custom resource yaml" | |
exit 1 | |
fi | |
pathToResourceYAML=${1} | |
kubectl get validatingwebhookconfiguration istio-galley 2>/dev/null | |
if [ "$?" -eq 0 ]; then | |
echo "istio-galley validatingwebhookconfiguration found - waiting for istio-galley deployment to be ready" | |
while true; do | |
kubectl -n istio-system get deployment istio-galley 2>/dev/null | |
if [ "$?" -eq 0 ]; then | |
break | |
fi | |
sleep 1 | |
done | |
kubectl -n istio-system rollout status deployment istio-galley | |
if [ "$?" -ne 0 ]; then | |
echo "istio-galley deployment rollout status check failed" | |
exit 1 | |
fi | |
echo "istio-galley deployment ready for configuration validation" | |
fi | |
sleep 5 | |
kubectl apply -f ${pathToResourceYAML} | |
--- | |
# Source: istio/templates/configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio | |
namespace: istio-system | |
labels: | |
app: istio | |
chart: istio | |
heritage: Tiller | |
release: istio | |
data: | |
mesh: |- | |
# Set the following variable to true to disable policy checks by the Mixer. | |
# Note that metrics will still be reported to the Mixer. | |
disablePolicyChecks: true | |
# Set enableTracing to false to disable request tracing. | |
enableTracing: false | |
# Set accessLogFile to empty string to disable access log. | |
accessLogFile: "" | |
# If accessLogEncoding is TEXT, value will be used directly as the log format | |
# example: "[%START_TIME%] %REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\n" | |
# If AccessLogEncoding is JSON, value will be parsed as map[string]string | |
# example: '{"start_time": "%START_TIME%", "req_method": "%REQ(:METHOD)%"}' | |
# Leave empty to use default log format | |
accessLogFormat: "" | |
# Set accessLogEncoding to JSON or TEXT to configure sidecar access log | |
accessLogEncoding: 'TEXT' | |
mixerReportServer: istio-telemetry.istio-system.svc.cluster.local:9091 | |
# Default connect timeout for dynamic clusters generated by Pilot and returned via XDS | |
connectTimeout: 10s | |
# DNS refresh rate for Envoy clusters of type STRICT_DNS | |
dnsRefreshRate: 5s | |
# 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. | |
sdsUdsPath: | |
# 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: false | |
# 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: false | |
# 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 | |
trustDomain: | |
# 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 | |
# services or ServiceEntries for the destination port | |
# REGISTRY_ONLY - restrict outbound traffic to services defined in the service registry as well | |
# as those defined through ServiceEntries | |
outboundTrafficPolicy: | |
mode: ALLOW_ANY | |
localityLbSetting: | |
{} | |
# The namespace to treat as the administrative root namespace for istio | |
# configuration. | |
rootNamespace: istio-system | |
configSources: | |
- address: istio-galley.istio-system.svc:9901 | |
defaultConfig: | |
# | |
# TCP connection timeout between Envoy & the application, and between Envoys. Used for static clusters | |
# defined in Envoy's configuration file | |
connectTimeout: 10s | |
# | |
### ADVANCED SETTINGS ############# | |
# Where should envoy's configuration be stored in the istio-proxy container | |
configPath: "/etc/istio/proxy" | |
binaryPath: "/usr/local/bin/envoy" | |
# The pseudo service name used for Envoy. | |
serviceCluster: istio-proxy | |
# These settings that determine how long an old Envoy | |
# process should be kept alive after an occasional reload. | |
drainDuration: 45s | |
parentShutdownDuration: 1m0s | |
# | |
# The mode used to redirect inbound connections to Envoy. This setting | |
# has no effect on outbound traffic: iptables REDIRECT is always used for | |
# outbound connections. | |
# If "REDIRECT", use iptables REDIRECT to NAT and redirect to Envoy. | |
# The "REDIRECT" mode loses source addresses during redirection. | |
# If "TPROXY", use iptables TPROXY to redirect to Envoy. | |
# The "TPROXY" mode preserves both the source and destination IP | |
# addresses and ports, so that they can be used for advanced filtering | |
# and manipulation. | |
# The "TPROXY" mode also configures the sidecar to run with the | |
# CAP_NET_ADMIN capability, which is required to use TPROXY. | |
#interceptionMode: REDIRECT | |
# | |
# Port where Envoy listens (on local host) for admin commands | |
# You can exec into the istio-proxy container in a pod and | |
# curl the admin port (curl http://localhost:15000/) to obtain | |
# diagnostic information from Envoy. See | |
# https://lyft.github.io/envoy/docs/operations/admin.html | |
# for more details | |
proxyAdminPort: 15000 | |
# | |
# Set concurrency to a specific number to control the number of Proxy worker threads. | |
# If set to 0 (default), then start worker thread for each CPU thread/core. | |
concurrency: 2 | |
# | |
# | |
# Mutual TLS authentication between sidecars and istio control plane. | |
controlPlaneAuthPolicy: NONE | |
# | |
# Address where istio Pilot service is running | |
discoveryAddress: istio-pilot.istio-system:15010 | |
# Configuration file for the mesh networks to be used by the Split Horizon EDS. | |
meshNetworks: |- | |
networks: {} | |
--- | |
# Source: istio/templates/sidecar-injector-configmap.yaml | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
app: istio | |
chart: istio | |
heritage: Tiller | |
release: istio | |
istio: sidecar-injector | |
data: | |
config: |- | |
policy: enabled | |
template: |- | |
rewriteAppHTTPProbe: false | |
initContainers: | |
[[ if ne (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) "NONE" ]] | |
- name: istio-init | |
image: "docker.io/istio/proxy_init:1.1.6" | |
args: | |
- "-p" | |
- [[ .MeshConfig.ProxyListenPort ]] | |
- "-u" | |
- 1337 | |
- "-m" | |
- [[ annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode ]] | |
- "-i" | |
- "[[ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundIPRanges` "*" ]]" | |
- "-x" | |
- "[[ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` "" ]]" | |
- "-b" | |
- "[[ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` (includeInboundPorts .Spec.Containers) ]]" | |
- "-d" | |
- "[[ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` 15020 ) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` "" ) ]]" | |
[[ if (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces`) -]] | |
- "-k" | |
- "[[ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` ]]" | |
[[ end -]] | |
imagePullPolicy: IfNotPresent | |
resources: | |
requests: | |
cpu: 100m | |
memory: 10Mi | |
limits: | |
cpu: 2000m | |
memory: 50Mi | |
securityContext: | |
runAsUser: 0 | |
runAsNonRoot: false | |
capabilities: | |
add: | |
- NET_ADMIN | |
restartPolicy: Always | |
[[ end -]] | |
containers: | |
- name: istio-proxy | |
image: [[ annotation .ObjectMeta `sidecar.istio.io/proxyImage` "docker.io/istio/proxyv2:1.1.6" ]] | |
ports: | |
- containerPort: 15090 | |
protocol: TCP | |
name: http-envoy-prom | |
args: | |
- proxy | |
- sidecar | |
- --domain | |
- $(POD_NAMESPACE).svc.cluster.local | |
- --configPath | |
- [[ .ProxyConfig.ConfigPath ]] | |
- --binaryPath | |
- [[ .ProxyConfig.BinaryPath ]] | |
- --serviceCluster | |
[[ if ne "" (index .ObjectMeta.Labels "app") -]] | |
- [[ index .ObjectMeta.Labels "app" ]].$(POD_NAMESPACE) | |
[[ else -]] | |
- [[ valueOrDefault .DeploymentMeta.Name "istio-proxy" ]].[[ valueOrDefault .DeploymentMeta.Namespace "default" ]] | |
[[ end -]] | |
- --drainDuration | |
- [[ formatDuration .ProxyConfig.DrainDuration ]] | |
- --parentShutdownDuration | |
- [[ formatDuration .ProxyConfig.ParentShutdownDuration ]] | |
- --discoveryAddress | |
- [[ annotation .ObjectMeta `sidecar.istio.io/discoveryAddress` .ProxyConfig.DiscoveryAddress ]] | |
- --connectTimeout | |
- [[ formatDuration .ProxyConfig.ConnectTimeout ]] | |
- --proxyAdminPort | |
- [[ .ProxyConfig.ProxyAdminPort ]] | |
[[ if gt .ProxyConfig.Concurrency 0 -]] | |
- --concurrency | |
- [[ .ProxyConfig.Concurrency ]] | |
[[ end -]] | |
- --controlPlaneAuthPolicy | |
- [[ annotation .ObjectMeta `sidecar.istio.io/controlPlaneAuthPolicy` .ProxyConfig.ControlPlaneAuthPolicy ]] | |
[[- if (ne (annotation .ObjectMeta `status.sidecar.istio.io/port` 15020 ) "0") ]] | |
- --statusPort | |
- [[ annotation .ObjectMeta `status.sidecar.istio.io/port` 15020 ]] | |
- --applicationPorts | |
- "[[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/applicationPorts` (applicationPorts .Spec.Containers) ]]" | |
[[- end ]] | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
fieldPath: status.podIP | |
- name: ISTIO_META_POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: ISTIO_META_CONFIG_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
- name: ISTIO_META_INTERCEPTION_MODE | |
value: [[ or (index .ObjectMeta.Annotations "sidecar.istio.io/interceptionMode") .ProxyConfig.InterceptionMode.String ]] | |
[[ if .ObjectMeta.Annotations ]] | |
- name: ISTIO_METAJSON_ANNOTATIONS | |
value: | | |
[[ toJSON .ObjectMeta.Annotations ]] | |
[[ end ]] | |
[[ if .ObjectMeta.Labels ]] | |
- name: ISTIO_METAJSON_LABELS | |
value: | | |
[[ toJSON .ObjectMeta.Labels ]] | |
[[ end ]] | |
[[- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) ]] | |
- name: ISTIO_BOOTSTRAP_OVERRIDE | |
value: "/etc/istio/custom-bootstrap/custom_bootstrap.json" | |
[[- end ]] | |
imagePullPolicy: IfNotPresent | |
[[ if (ne (annotation .ObjectMeta `status.sidecar.istio.io/port` 15020 ) "0") ]] | |
readinessProbe: | |
httpGet: | |
path: /healthz/ready | |
port: [[ annotation .ObjectMeta `status.sidecar.istio.io/port` 15020 ]] | |
initialDelaySeconds: [[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/initialDelaySeconds` 1 ]] | |
periodSeconds: [[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/periodSeconds` 2 ]] | |
failureThreshold: [[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/failureThreshold` 30 ]] | |
[[ end -]]securityContext: | |
readOnlyRootFilesystem: true | |
[[ if eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) "TPROXY" -]] | |
capabilities: | |
add: | |
- NET_ADMIN | |
runAsGroup: 1337 | |
[[ else -]] | |
runAsUser: 1337 | |
[[- end ]] | |
resources: | |
[[ if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -]] | |
requests: | |
[[ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) -]] | |
cpu: "[[ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU` ]]" | |
[[ end ]] | |
[[ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -]] | |
memory: "[[ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory` ]]" | |
[[ end ]] | |
[[ else -]] | |
limits: | |
cpu: 2000m | |
requests: | |
cpu: 100m | |
[[ end -]] | |
volumeMounts: | |
[[- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) ]] | |
- mountPath: /etc/istio/custom-bootstrap | |
name: custom-bootstrap-volume | |
[[- end ]] | |
- mountPath: /etc/istio/proxy | |
name: istio-envoy | |
- mountPath: /etc/certs/ | |
name: istio-certs | |
readOnly: true | |
[[- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount` ]] | |
[[ range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount`) ]] | |
- name: "[[ $index ]]" | |
[[ toYaml $value | indent 4 ]] | |
[[ end ]] | |
[[- end ]] | |
volumes: | |
[[- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) ]] | |
- name: custom-bootstrap-volume | |
configMap: | |
name: [[ annotation .ObjectMeta `sidecar.istio.io/bootstrapOverride` `` ]] | |
[[- end ]] | |
- emptyDir: | |
medium: Memory | |
name: istio-envoy | |
- name: istio-certs | |
secret: | |
optional: true | |
[[ if eq .Spec.ServiceAccountName "" -]] | |
secretName: istio.default | |
[[ else -]] | |
secretName: [[ printf "istio.%s" .Spec.ServiceAccountName ]] | |
[[ end -]] | |
[[- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolume` ]] | |
[[ range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolume`) ]] | |
- name: "[[ $index ]]" | |
[[ toYaml $value | indent 2 ]] | |
[[ end ]] | |
[[ end ]] | |
--- | |
# Source: istio/charts/galley/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-galley-service-account | |
namespace: istio-system | |
labels: | |
app: galley | |
chart: galley | |
heritage: Tiller | |
release: istio | |
--- | |
# Source: istio/charts/grafana/templates/create-custom-resources-job.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-grafana-post-install-account | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-grafana-post-install-istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
rules: | |
- apiGroups: ["authentication.istio.io"] # needed to create default authn policy | |
resources: ["*"] | |
verbs: ["*"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-grafana-post-install-role-binding-istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-grafana-post-install-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-grafana-post-install-account | |
namespace: istio-system | |
--- | |
apiVersion: batch/v1 | |
kind: Job | |
metadata: | |
name: istio-grafana-post-install-1.1.6 | |
namespace: istio-system | |
annotations: | |
"helm.sh/hook": post-install | |
"helm.sh/hook-delete-policy": hook-succeeded | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
spec: | |
template: | |
metadata: | |
name: istio-grafana-post-install | |
labels: | |
app: istio-grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
spec: | |
serviceAccountName: istio-grafana-post-install-account | |
containers: | |
- name: kubectl | |
image: "docker.io/istio/kubectl:1.1.6" | |
command: [ "/bin/bash", "/tmp/grafana/run.sh", "/tmp/grafana/custom-resources.yaml" ] | |
volumeMounts: | |
- mountPath: "/tmp/grafana" | |
name: tmp-configmap-grafana | |
volumes: | |
- name: tmp-configmap-grafana | |
configMap: | |
name: istio-grafana-custom-resources | |
restartPolicy: OnFailure | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/kiali/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: kiali-service-account | |
namespace: istio-system | |
labels: | |
app: kiali | |
chart: kiali | |
heritage: Tiller | |
release: istio | |
--- | |
# Source: istio/charts/mixer/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-mixer-service-account | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
--- | |
# Source: istio/charts/pilot/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-pilot-service-account | |
namespace: istio-system | |
labels: | |
app: pilot | |
chart: pilot | |
heritage: Tiller | |
release: istio | |
--- | |
# Source: istio/charts/security/templates/cleanup-secrets.yaml | |
# The reason for creating a ServiceAccount and ClusterRole specifically for this | |
# post-delete hooked job is because the citadel ServiceAccount is being deleted | |
# before this hook is launched. On the other hand, running this hook before the | |
# deletion of the citadel (e.g. pre-delete) won't delete the secrets because they | |
# will be re-created immediately by the to-be-deleted citadel. | |
# | |
# It's also important that the ServiceAccount, ClusterRole and ClusterRoleBinding | |
# will be ready before running the hooked Job therefore the hook weights. | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-cleanup-secrets-service-account | |
namespace: istio-system | |
annotations: | |
"helm.sh/hook": post-delete | |
"helm.sh/hook-delete-policy": hook-succeeded | |
"helm.sh/hook-weight": "1" | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-cleanup-secrets-istio-system | |
annotations: | |
"helm.sh/hook": post-delete | |
"helm.sh/hook-delete-policy": hook-succeeded | |
"helm.sh/hook-weight": "1" | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
rules: | |
- apiGroups: [""] | |
resources: ["secrets"] | |
verbs: ["list", "delete"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-cleanup-secrets-istio-system | |
annotations: | |
"helm.sh/hook": post-delete | |
"helm.sh/hook-delete-policy": hook-succeeded | |
"helm.sh/hook-weight": "2" | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-cleanup-secrets-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-cleanup-secrets-service-account | |
namespace: istio-system | |
--- | |
apiVersion: batch/v1 | |
kind: Job | |
metadata: | |
name: istio-cleanup-secrets-1.1.6 | |
namespace: istio-system | |
annotations: | |
"helm.sh/hook": post-delete | |
"helm.sh/hook-delete-policy": hook-succeeded | |
"helm.sh/hook-weight": "3" | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
spec: | |
template: | |
metadata: | |
name: istio-cleanup-secrets | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
spec: | |
serviceAccountName: istio-cleanup-secrets-service-account | |
containers: | |
- name: kubectl | |
image: "docker.io/istio/kubectl:1.1.6" | |
imagePullPolicy: IfNotPresent | |
command: | |
- /bin/bash | |
- -c | |
- > | |
kubectl get secret --all-namespaces | grep "istio.io/key-and-cert" | while read -r entry; do | |
ns=$(echo $entry | awk '{print $1}'); | |
name=$(echo $entry | awk '{print $2}'); | |
kubectl delete secret $name -n $ns; | |
done | |
restartPolicy: OnFailure | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/security/templates/create-custom-resources-job.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-security-post-install-account | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRole | |
metadata: | |
name: istio-security-post-install-istio-system | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
rules: | |
- apiGroups: ["authentication.istio.io"] # needed to create default authn policy | |
resources: ["*"] | |
verbs: ["*"] | |
- apiGroups: ["networking.istio.io"] # needed to create security destination rules | |
resources: ["*"] | |
verbs: ["*"] | |
- apiGroups: ["admissionregistration.k8s.io"] | |
resources: ["validatingwebhookconfigurations"] | |
verbs: ["get"] | |
- apiGroups: ["extensions", "apps"] | |
resources: ["deployments", "replicasets"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- psp-istio | |
resources: | |
- podsecuritypolicies | |
verbs: | |
- use | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1beta1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-security-post-install-role-binding-istio-system | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-security-post-install-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-security-post-install-account | |
namespace: istio-system | |
--- | |
apiVersion: batch/v1 | |
kind: Job | |
metadata: | |
name: istio-security-post-install-1.1.6 | |
namespace: istio-system | |
annotations: | |
"helm.sh/hook": post-install | |
"helm.sh/hook-delete-policy": hook-succeeded | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
spec: | |
template: | |
metadata: | |
name: istio-security-post-install | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
spec: | |
serviceAccountName: istio-security-post-install-account | |
containers: | |
- name: kubectl | |
image: "docker.io/istio/kubectl:1.1.6" | |
imagePullPolicy: IfNotPresent | |
command: [ "/bin/bash", "/tmp/security/run.sh", "/tmp/security/custom-resources.yaml" ] | |
volumeMounts: | |
- mountPath: "/tmp/security" | |
name: tmp-configmap-security | |
volumes: | |
- name: tmp-configmap-security | |
configMap: | |
name: istio-security-custom-resources | |
restartPolicy: OnFailure | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/security/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-citadel-service-account | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-sidecar-injector-service-account | |
namespace: istio-system | |
labels: | |
app: sidecarInjectorWebhook | |
chart: sidecarInjectorWebhook | |
heritage: Tiller | |
release: istio | |
istio: sidecar-injector | |
--- | |
# Source: istio/templates/serviceaccount.yaml | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-multi | |
namespace: istio-system | |
--- | |
# Source: istio/charts/galley/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-galley-istio-system | |
labels: | |
app: galley | |
chart: galley | |
heritage: Tiller | |
release: istio | |
rules: | |
- apiGroups: ["admissionregistration.k8s.io"] | |
resources: ["validatingwebhookconfigurations"] | |
verbs: ["*"] | |
- apiGroups: ["config.istio.io"] # istio mixer CRD watcher | |
resources: ["*"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["networking.istio.io"] | |
resources: ["*"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["authentication.istio.io"] | |
resources: ["*"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["rbac.istio.io"] | |
resources: ["*"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["extensions","apps"] | |
resources: ["deployments"] | |
resourceNames: ["istio-galley"] | |
verbs: ["get"] | |
- apiGroups: [""] | |
resources: ["pods", "nodes", "services", "endpoints"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["extensions"] | |
resources: ["ingresses"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["extensions"] | |
resources: ["deployments/finalizers"] | |
resourceNames: ["istio-galley"] | |
verbs: ["update"] | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- psp-istio | |
resources: | |
- podsecuritypolicies | |
verbs: | |
- use | |
--- | |
# Source: istio/charts/kiali/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: kiali | |
labels: | |
app: kiali | |
chart: kiali | |
heritage: Tiller | |
release: istio | |
rules: | |
- apiGroups: [""] | |
resources: | |
- configmaps | |
- endpoints | |
- namespaces | |
- nodes | |
- pods | |
- services | |
- replicationcontrollers | |
- podsecuritypolicies | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["extensions", "apps"] | |
resources: | |
- deployments | |
- statefulsets | |
- replicasets | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["autoscaling"] | |
resources: | |
- horizontalpodautoscalers | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["batch"] | |
resources: | |
- cronjobs | |
- jobs | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["config.istio.io"] | |
resources: | |
- apikeys | |
- authorizations | |
- checknothings | |
- circonuses | |
- deniers | |
- fluentds | |
- handlers | |
- kubernetesenvs | |
- kuberneteses | |
- listcheckers | |
- listentries | |
- logentries | |
- memquotas | |
- metrics | |
- opas | |
- prometheuses | |
- quotas | |
- quotaspecbindings | |
- quotaspecs | |
- rbacs | |
- reportnothings | |
- rules | |
- solarwindses | |
- stackdrivers | |
- statsds | |
- stdios | |
verbs: | |
- create | |
- delete | |
- get | |
- list | |
- patch | |
- watch | |
- apiGroups: ["networking.istio.io"] | |
resources: | |
- destinationrules | |
- gateways | |
- serviceentries | |
- virtualservices | |
verbs: | |
- create | |
- delete | |
- get | |
- list | |
- patch | |
- watch | |
- apiGroups: ["authentication.istio.io"] | |
resources: | |
- policies | |
- meshpolicies | |
verbs: | |
- create | |
- delete | |
- get | |
- list | |
- patch | |
- watch | |
- apiGroups: ["rbac.istio.io"] | |
resources: | |
- clusterrbacconfigs | |
- rbacconfigs | |
- serviceroles | |
- servicerolebindings | |
verbs: | |
- create | |
- delete | |
- get | |
- list | |
- patch | |
- watch | |
- apiGroups: ["monitoring.kiali.io"] | |
resources: | |
- monitoringdashboards | |
verbs: | |
- get | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: kiali-viewer | |
labels: | |
app: kiali | |
chart: kiali | |
heritage: Tiller | |
release: istio | |
rules: | |
- apiGroups: [""] | |
resources: | |
- configmaps | |
- endpoints | |
- namespaces | |
- nodes | |
- pods | |
- services | |
- replicationcontrollers | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["extensions", "apps"] | |
resources: | |
- deployments | |
- statefulsets | |
- replicasets | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["autoscaling"] | |
resources: | |
- horizontalpodautoscalers | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["batch"] | |
resources: | |
- cronjobs | |
- jobs | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["config.istio.io"] | |
resources: | |
- apikeys | |
- authorizations | |
- checknothings | |
- circonuses | |
- deniers | |
- fluentds | |
- handlers | |
- kubernetesenvs | |
- kuberneteses | |
- listcheckers | |
- listentries | |
- logentries | |
- memquotas | |
- metrics | |
- opas | |
- prometheuses | |
- quotas | |
- quotaspecbindings | |
- quotaspecs | |
- rbacs | |
- reportnothings | |
- rules | |
- servicecontrolreports | |
- servicecontrols | |
- solarwindses | |
- stackdrivers | |
- statsds | |
- stdios | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["networking.istio.io"] | |
resources: | |
- destinationrules | |
- gateways | |
- serviceentries | |
- virtualservices | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["authentication.istio.io"] | |
resources: | |
- policies | |
- meshpolicies | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["rbac.istio.io"] | |
resources: | |
- clusterrbacconfigs | |
- rbacconfigs | |
- serviceroles | |
- servicerolebindings | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: ["monitoring.kiali.io"] | |
resources: | |
- monitoringdashboards | |
verbs: | |
- get | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- psp-istio | |
resources: | |
- podsecuritypolicies | |
verbs: | |
- use | |
--- | |
# Source: istio/charts/mixer/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-mixer-istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
rules: | |
- apiGroups: ["config.istio.io"] # istio CRD watcher | |
resources: ["*"] | |
verbs: ["create", "get", "list", "watch", "patch"] | |
- apiGroups: ["apiextensions.k8s.io"] | |
resources: ["customresourcedefinitions"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["configmaps", "endpoints", "pods", "services", "namespaces", "secrets", "replicationcontrollers"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["extensions", "apps"] | |
resources: ["replicasets"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- psp-istio | |
resources: | |
- podsecuritypolicies | |
verbs: | |
- use | |
--- | |
# Source: istio/charts/pilot/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-pilot-istio-system | |
labels: | |
app: pilot | |
chart: pilot | |
heritage: Tiller | |
release: istio | |
rules: | |
- apiGroups: ["config.istio.io"] | |
resources: ["*"] | |
verbs: ["*"] | |
- apiGroups: ["rbac.istio.io"] | |
resources: ["*"] | |
verbs: ["get", "watch", "list"] | |
- apiGroups: ["networking.istio.io"] | |
resources: ["*"] | |
verbs: ["*"] | |
- apiGroups: ["authentication.istio.io"] | |
resources: ["*"] | |
verbs: ["*"] | |
- apiGroups: ["apiextensions.k8s.io"] | |
resources: ["customresourcedefinitions"] | |
verbs: ["*"] | |
- apiGroups: ["extensions"] | |
resources: ["ingresses", "ingresses/status"] | |
verbs: ["*"] | |
- apiGroups: [""] | |
resources: ["configmaps"] | |
verbs: ["create", "get", "list", "watch", "update"] | |
- apiGroups: [""] | |
resources: ["endpoints", "pods", "services", "namespaces", "nodes", "secrets"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- psp-istio | |
resources: | |
- podsecuritypolicies | |
verbs: | |
- use | |
--- | |
# Source: istio/charts/security/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-citadel-istio-system | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
rules: | |
- apiGroups: [""] | |
resources: ["configmaps"] | |
verbs: ["create", "get", "update"] | |
- apiGroups: [""] | |
resources: ["secrets"] | |
verbs: ["create", "get", "watch", "list", "update", "delete"] | |
- apiGroups: [""] | |
resources: ["serviceaccounts", "services"] | |
verbs: ["get", "watch", "list"] | |
- apiGroups: ["authentication.k8s.io"] | |
resources: ["tokenreviews"] | |
verbs: ["create"] | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- psp-istio | |
resources: | |
- podsecuritypolicies | |
verbs: | |
- use | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/clusterrole.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-sidecar-injector-istio-system | |
labels: | |
app: sidecarInjectorWebhook | |
chart: sidecarInjectorWebhook | |
heritage: Tiller | |
release: istio | |
istio: sidecar-injector | |
rules: | |
- apiGroups: [""] | |
resources: ["configmaps"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["admissionregistration.k8s.io"] | |
resources: ["mutatingwebhookconfigurations"] | |
verbs: ["get", "list", "watch", "patch"] | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- psp-istio | |
resources: | |
- podsecuritypolicies | |
verbs: | |
- use | |
--- | |
# Source: istio/templates/clusterrole.yaml | |
kind: ClusterRole | |
apiVersion: rbac.authorization.k8s.io/v1 | |
metadata: | |
name: istio-reader | |
rules: | |
- apiGroups: [''] | |
resources: ['nodes', 'pods', 'services', 'endpoints', "replicationcontrollers"] | |
verbs: ['get', 'watch', 'list'] | |
- apiGroups: ["extensions", "apps"] | |
resources: ["replicasets"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: | |
- extensions | |
resourceNames: | |
- psp-istio | |
resources: | |
- podsecuritypolicies | |
verbs: | |
- use | |
--- | |
# Source: istio/charts/galley/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-galley-admin-role-binding-istio-system | |
labels: | |
app: galley | |
chart: galley | |
heritage: Tiller | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-galley-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-galley-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/kiali/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-kiali-admin-role-binding-istio-system | |
labels: | |
app: kiali | |
chart: kiali | |
heritage: Tiller | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: kiali | |
subjects: | |
- kind: ServiceAccount | |
name: kiali-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/mixer/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-mixer-admin-role-binding-istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-mixer-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-mixer-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/pilot/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-pilot-istio-system | |
labels: | |
app: pilot | |
chart: pilot | |
heritage: Tiller | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-pilot-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-pilot-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/security/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-citadel-istio-system | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-citadel-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-citadel-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-sidecar-injector-admin-role-binding-istio-system | |
labels: | |
app: sidecarInjectorWebhook | |
chart: sidecarInjectorWebhook | |
heritage: Tiller | |
release: istio | |
istio: sidecar-injector | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-sidecar-injector-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-sidecar-injector-service-account | |
namespace: istio-system | |
--- | |
# Source: istio/templates/clusterrolebinding.yaml | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-multi | |
labels: | |
chart: istio-1.1.0 | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-reader | |
subjects: | |
- kind: ServiceAccount | |
name: istio-multi | |
namespace: istio-system | |
--- | |
# Source: istio/charts/galley/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-galley | |
namespace: istio-system | |
labels: | |
app: galley | |
chart: galley | |
heritage: Tiller | |
release: istio | |
istio: galley | |
spec: | |
ports: | |
- port: 443 | |
name: https-validation | |
- port: 15014 | |
name: http-monitoring | |
- port: 9901 | |
name: grpc-mcp | |
selector: | |
istio: galley | |
--- | |
# Source: istio/charts/grafana/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: grafana | |
namespace: istio-system | |
annotations: | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
spec: | |
type: ClusterIP | |
ports: | |
- port: 3000 | |
targetPort: 3000 | |
protocol: TCP | |
name: http | |
selector: | |
app: grafana | |
--- | |
# Source: istio/charts/kiali/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: kiali | |
namespace: istio-system | |
labels: | |
app: kiali | |
chart: kiali | |
heritage: Tiller | |
release: istio | |
spec: | |
ports: | |
- name: http-kiali | |
protocol: TCP | |
port: 20001 | |
selector: | |
app: kiali | |
--- | |
# Source: istio/charts/mixer/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-telemetry | |
namespace: istio-system | |
annotations: | |
networking.istio.io/exportTo: "*" | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
istio: mixer | |
spec: | |
ports: | |
- name: grpc-mixer | |
port: 9091 | |
- name: grpc-mixer-mtls | |
port: 15004 | |
- name: http-monitoring | |
port: 15014 | |
- name: prometheus | |
port: 42422 | |
selector: | |
istio: mixer | |
istio-mixer-type: telemetry | |
--- | |
--- | |
# Source: istio/charts/pilot/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-pilot | |
namespace: istio-system | |
labels: | |
app: pilot | |
chart: pilot | |
heritage: Tiller | |
release: istio | |
istio: pilot | |
spec: | |
ports: | |
- port: 15010 | |
name: grpc-xds # direct | |
- port: 15011 | |
name: https-xds # mTLS | |
- port: 8080 | |
name: http-legacy-discovery # direct | |
- port: 15014 | |
name: http-monitoring | |
selector: | |
istio: pilot | |
--- | |
# Source: istio/charts/security/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
# we use the normal name here (e.g. 'prometheus') | |
# as grafana is configured to use this as a data source | |
name: istio-citadel | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
istio: citadel | |
spec: | |
ports: | |
- name: grpc-citadel | |
port: 8060 | |
targetPort: 8060 | |
protocol: TCP | |
- name: http-monitoring | |
port: 15014 | |
selector: | |
istio: citadel | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/service.yaml | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
app: sidecarInjectorWebhook | |
chart: sidecarInjectorWebhook | |
heritage: Tiller | |
release: istio | |
istio: sidecar-injector | |
spec: | |
ports: | |
- port: 443 | |
selector: | |
istio: sidecar-injector | |
--- | |
# Source: istio/charts/galley/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-galley | |
namespace: istio-system | |
labels: | |
app: galley | |
chart: galley | |
heritage: Tiller | |
release: istio | |
istio: galley | |
spec: | |
replicas: 1 | |
strategy: | |
rollingUpdate: | |
maxSurge: 1 | |
maxUnavailable: 0 | |
template: | |
metadata: | |
labels: | |
app: galley | |
chart: galley | |
heritage: Tiller | |
release: istio | |
istio: galley | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-galley-service-account | |
containers: | |
- name: galley | |
image: "docker.io/istio/galley:1.1.6" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 443 | |
- containerPort: 15014 | |
- containerPort: 9901 | |
command: | |
- /usr/local/bin/galley | |
- server | |
- --meshConfigFile=/etc/mesh-config/mesh | |
- --livenessProbeInterval=1s | |
- --livenessProbePath=/healthliveness | |
- --readinessProbePath=/healthready | |
- --readinessProbeInterval=1s | |
- --deployment-namespace=istio-system | |
- --insecure=true | |
- --validation-webhook-config-file | |
- /etc/config/validatingwebhookconfiguration.yaml | |
- --monitoringPort=15014 | |
- --log_output_level=default:info | |
volumeMounts: | |
- name: certs | |
mountPath: /etc/certs | |
readOnly: true | |
- name: config | |
mountPath: /etc/config | |
readOnly: true | |
- name: mesh-config | |
mountPath: /etc/mesh-config | |
readOnly: true | |
livenessProbe: | |
exec: | |
command: | |
- /usr/local/bin/galley | |
- probe | |
- --probe-path=/healthliveness | |
- --interval=10s | |
initialDelaySeconds: 5 | |
periodSeconds: 5 | |
readinessProbe: | |
exec: | |
command: | |
- /usr/local/bin/galley | |
- probe | |
- --probe-path=/healthready | |
- --interval=10s | |
initialDelaySeconds: 5 | |
periodSeconds: 5 | |
resources: | |
limits: | |
cpu: "1" | |
requests: | |
cpu: "1" | |
volumes: | |
- name: certs | |
secret: | |
secretName: istio.istio-galley-service-account | |
- name: config | |
configMap: | |
name: istio-galley-configuration | |
- name: mesh-config | |
configMap: | |
name: istio | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/grafana/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: grafana | |
namespace: istio-system | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
spec: | |
replicas: 1 | |
template: | |
metadata: | |
labels: | |
app: grafana | |
chart: grafana | |
heritage: Tiller | |
release: istio | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
securityContext: | |
runAsUser: 472 | |
fsGroup: 472 | |
containers: | |
- name: grafana | |
image: "grafana/grafana:6.0.2" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 3000 | |
readinessProbe: | |
httpGet: | |
path: /login | |
port: 3000 | |
env: | |
- name: GRAFANA_PORT | |
value: "3000" | |
- name: GF_AUTH_BASIC_ENABLED | |
value: "false" | |
- name: GF_AUTH_ANONYMOUS_ENABLED | |
value: "true" | |
- name: GF_AUTH_ANONYMOUS_ORG_ROLE | |
value: Admin | |
- name: GF_PATHS_DATA | |
value: /data/grafana | |
resources: | |
limits: | |
cpu: "1" | |
requests: | |
cpu: "1" | |
volumeMounts: | |
- name: data | |
mountPath: /data/grafana | |
- name: dashboards-istio-galley-dashboard | |
mountPath: "/var/lib/grafana/dashboards/istio/galley-dashboard.json" | |
subPath: galley-dashboard.json | |
readOnly: true | |
- name: dashboards-istio-istio-mesh-dashboard | |
mountPath: "/var/lib/grafana/dashboards/istio/istio-mesh-dashboard.json" | |
subPath: istio-mesh-dashboard.json | |
readOnly: true | |
- name: dashboards-istio-istio-performance-dashboard | |
mountPath: "/var/lib/grafana/dashboards/istio/istio-performance-dashboard.json" | |
subPath: istio-performance-dashboard.json | |
readOnly: true | |
- name: dashboards-istio-istio-service-dashboard | |
mountPath: "/var/lib/grafana/dashboards/istio/istio-service-dashboard.json" | |
subPath: istio-service-dashboard.json | |
readOnly: true | |
- name: dashboards-istio-istio-workload-dashboard | |
mountPath: "/var/lib/grafana/dashboards/istio/istio-workload-dashboard.json" | |
subPath: istio-workload-dashboard.json | |
readOnly: true | |
- name: dashboards-istio-mixer-dashboard | |
mountPath: "/var/lib/grafana/dashboards/istio/mixer-dashboard.json" | |
subPath: mixer-dashboard.json | |
readOnly: true | |
- name: dashboards-istio-pilot-dashboard | |
mountPath: "/var/lib/grafana/dashboards/istio/pilot-dashboard.json" | |
subPath: pilot-dashboard.json | |
readOnly: true | |
- name: config | |
mountPath: "/etc/grafana/provisioning/datasources/datasources.yaml" | |
subPath: datasources.yaml | |
- name: config | |
mountPath: "/etc/grafana/provisioning/dashboards/dashboardproviders.yaml" | |
subPath: dashboardproviders.yaml | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
volumes: | |
- name: config | |
configMap: | |
name: istio-grafana | |
- name: data | |
emptyDir: {} | |
- name: dashboards-istio-galley-dashboard | |
configMap: | |
name: istio-grafana-configuration-dashboards-galley-dashboard | |
- name: dashboards-istio-istio-mesh-dashboard | |
configMap: | |
name: istio-grafana-configuration-dashboards-istio-mesh-dashboard | |
- name: dashboards-istio-istio-performance-dashboard | |
configMap: | |
name: istio-grafana-configuration-dashboards-istio-performance-dashboard | |
- name: dashboards-istio-istio-service-dashboard | |
configMap: | |
name: istio-grafana-configuration-dashboards-istio-service-dashboard | |
- name: dashboards-istio-istio-workload-dashboard | |
configMap: | |
name: istio-grafana-configuration-dashboards-istio-workload-dashboard | |
- name: dashboards-istio-mixer-dashboard | |
configMap: | |
name: istio-grafana-configuration-dashboards-mixer-dashboard | |
- name: dashboards-istio-pilot-dashboard | |
configMap: | |
name: istio-grafana-configuration-dashboards-pilot-dashboard | |
--- | |
# Source: istio/charts/kiali/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: kiali | |
namespace: istio-system | |
labels: | |
app: kiali | |
chart: kiali | |
heritage: Tiller | |
release: istio | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app: kiali | |
template: | |
metadata: | |
name: kiali | |
labels: | |
app: kiali | |
chart: kiali | |
heritage: Tiller | |
release: istio | |
annotations: | |
sidecar.istio.io/inject: "false" | |
scheduler.alpha.kubernetes.io/critical-pod: "" | |
prometheus.io/scrape: "true" | |
prometheus.io/port: "9090" | |
spec: | |
serviceAccountName: kiali-service-account | |
containers: | |
- image: "docker.io/kiali/kiali:v0.16" | |
name: kiali | |
command: | |
- "/opt/kiali/kiali" | |
- "-config" | |
- "/kiali-configuration/config.yaml" | |
- "-v" | |
- "4" | |
env: | |
- name: ACTIVE_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
- name: PROMETHEUS_SERVICE_URL | |
value: http://prometheus:9090 | |
- name: SERVER_WEB_ROOT | |
value: /kiali | |
volumeMounts: | |
- name: kiali-configuration | |
mountPath: "/kiali-configuration" | |
- name: kiali-secret | |
mountPath: "/kiali-secret" | |
resources: | |
limits: | |
cpu: "1" | |
requests: | |
cpu: "1" | |
volumes: | |
- name: kiali-configuration | |
configMap: | |
name: kiali | |
- name: kiali-secret | |
secret: | |
secretName: kiali | |
optional: true | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/mixer/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-telemetry | |
namespace: istio-system | |
labels: | |
app: istio-mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
istio: mixer | |
spec: | |
strategy: | |
rollingUpdate: | |
maxSurge: 1 | |
maxUnavailable: 0 | |
selector: | |
matchLabels: | |
istio: mixer | |
istio-mixer-type: telemetry | |
template: | |
metadata: | |
labels: | |
app: telemetry | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
istio: mixer | |
istio-mixer-type: telemetry | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-mixer-service-account | |
volumes: | |
- name: istio-certs | |
secret: | |
secretName: istio.istio-mixer-service-account | |
optional: true | |
- name: uds-socket | |
emptyDir: {} | |
- name: telemetry-adapter-secret | |
secret: | |
secretName: telemetry-adapter-secret | |
optional: true | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
containers: | |
- name: mixer | |
image: "docker.io/istio/mixer:1.1.6" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 15014 | |
- containerPort: 42422 | |
args: | |
- --monitoringPort=15014 | |
- --address | |
- unix:///sock/mixer.socket | |
- --log_output_level=default:info | |
- --configStoreURL=mcp://istio-galley.istio-system.svc:9901 | |
- --configDefaultNamespace=istio-system | |
- --useAdapterCRDs=true | |
- --trace_zipkin_url=http://zipkin:9411/api/v1/spans | |
- --averageLatencyThreshold | |
- 100ms | |
- --loadsheddingMode | |
- enforce | |
env: | |
- name: GODEBUG | |
value: "gctrace=1" | |
- name: GOMAXPROCS | |
value: "6" | |
resources: | |
limits: | |
cpu: 4800m | |
requests: | |
cpu: 1000m | |
volumeMounts: | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
- name: telemetry-adapter-secret | |
mountPath: /var/run/secrets/istio.io/telemetry/adapter | |
readOnly: true | |
- name: uds-socket | |
mountPath: /sock | |
livenessProbe: | |
httpGet: | |
path: /version | |
port: 15014 | |
initialDelaySeconds: 5 | |
periodSeconds: 5 | |
- name: istio-proxy | |
image: "docker.io/istio/proxyv2:1.1.6" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 9091 | |
- containerPort: 15004 | |
- containerPort: 15090 | |
protocol: TCP | |
name: http-envoy-prom | |
args: | |
- proxy | |
- --domain | |
- $(POD_NAMESPACE).svc.cluster.local | |
- --serviceCluster | |
- istio-telemetry | |
- --templateFile | |
- /etc/istio/proxy/envoy_telemetry.yaml.tmpl | |
- --controlPlaneAuthPolicy | |
- NONE | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.podIP | |
resources: | |
limits: | |
cpu: 2000m | |
requests: | |
cpu: 100m | |
volumeMounts: | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
- name: uds-socket | |
mountPath: /sock | |
--- | |
--- | |
# Source: istio/charts/pilot/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-pilot | |
namespace: istio-system | |
# TODO: default template doesn't have this, which one is right ? | |
labels: | |
app: pilot | |
chart: pilot | |
heritage: Tiller | |
release: istio | |
istio: pilot | |
annotations: | |
checksum/config-volume: f8da08b6b8c170dde721efd680270b2901e750d4aa186ebb6c22bef5b78a43f9 | |
spec: | |
strategy: | |
rollingUpdate: | |
maxSurge: 1 | |
maxUnavailable: 0 | |
selector: | |
matchLabels: | |
istio: pilot | |
template: | |
metadata: | |
labels: | |
app: pilot | |
chart: pilot | |
heritage: Tiller | |
release: istio | |
istio: pilot | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-pilot-service-account | |
containers: | |
- name: discovery | |
image: "docker.io/istio/pilot:1.1.6" | |
imagePullPolicy: IfNotPresent | |
args: | |
- "discovery" | |
- --monitoringAddr=:15014 | |
- --log_output_level=default:info | |
- --domain | |
- cluster.local | |
- --secureGrpcAddr | |
- "" | |
- --keepaliveMaxServerConnectionAge | |
- "30m" | |
ports: | |
- containerPort: 8080 | |
- containerPort: 15010 | |
readinessProbe: | |
httpGet: | |
path: /ready | |
port: 8080 | |
initialDelaySeconds: 5 | |
periodSeconds: 30 | |
timeoutSeconds: 5 | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: GODEBUG | |
value: "gctrace=1" | |
- name: PILOT_PUSH_THROTTLE | |
value: "100" | |
- name: PILOT_TRACE_SAMPLING | |
value: "100" | |
- name: PILOT_DISABLE_XDS_MARSHALING_TO_ANY | |
value: "1" | |
resources: | |
limits: | |
cpu: 4800m | |
requests: | |
cpu: 1000m | |
memory: 2048Mi | |
volumeMounts: | |
- name: config-volume | |
mountPath: /etc/istio/config | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
- name: istio-proxy | |
image: "docker.io/istio/proxyv2:1.1.6" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 15003 | |
- containerPort: 15005 | |
- containerPort: 15007 | |
- containerPort: 15011 | |
args: | |
- proxy | |
- --domain | |
- $(POD_NAMESPACE).svc.cluster.local | |
- --serviceCluster | |
- istio-pilot | |
- --templateFile | |
- /etc/istio/proxy/envoy_pilot.yaml.tmpl | |
- --controlPlaneAuthPolicy | |
- NONE | |
env: | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: status.podIP | |
resources: | |
limits: | |
cpu: 2000m | |
requests: | |
cpu: 100m | |
volumeMounts: | |
- name: istio-certs | |
mountPath: /etc/certs | |
readOnly: true | |
volumes: | |
- name: config-volume | |
configMap: | |
name: istio | |
- name: istio-certs | |
secret: | |
secretName: istio.istio-pilot-service-account | |
optional: true | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/security/templates/deployment.yaml | |
# istio CA watching all namespaces | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-citadel | |
namespace: istio-system | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
istio: citadel | |
spec: | |
replicas: 1 | |
strategy: | |
rollingUpdate: | |
maxSurge: 1 | |
maxUnavailable: 0 | |
template: | |
metadata: | |
labels: | |
app: security | |
chart: security | |
heritage: Tiller | |
release: istio | |
istio: citadel | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-citadel-service-account | |
containers: | |
- name: citadel | |
image: "docker.io/istio/citadel:1.1.6" | |
imagePullPolicy: IfNotPresent | |
args: | |
- --append-dns-names=true | |
- --grpc-port=8060 | |
- --grpc-hostname=citadel | |
- --citadel-storage-namespace=istio-system | |
- --custom-dns-names=istio-pilot-service-account.istio-system:istio-pilot.istio-system | |
- --monitoring-port=15014 | |
- --self-signed-ca=true | |
livenessProbe: | |
httpGet: | |
path: /version | |
port: 15014 | |
initialDelaySeconds: 5 | |
periodSeconds: 5 | |
resources: | |
limits: | |
cpu: "1" | |
requests: | |
cpu: "1" | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/deployment.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
app: sidecarInjectorWebhook | |
chart: sidecarInjectorWebhook | |
heritage: Tiller | |
release: istio | |
istio: sidecar-injector | |
spec: | |
replicas: 1 | |
strategy: | |
rollingUpdate: | |
maxSurge: 1 | |
maxUnavailable: 0 | |
template: | |
metadata: | |
labels: | |
app: sidecarInjectorWebhook | |
chart: sidecarInjectorWebhook | |
heritage: Tiller | |
release: istio | |
istio: sidecar-injector | |
annotations: | |
sidecar.istio.io/inject: "false" | |
spec: | |
serviceAccountName: istio-sidecar-injector-service-account | |
containers: | |
- name: sidecar-injector-webhook | |
image: "docker.io/istio/sidecar_injector:1.1.6" | |
imagePullPolicy: IfNotPresent | |
args: | |
- --caCertFile=/etc/istio/certs/root-cert.pem | |
- --tlsCertFile=/etc/istio/certs/cert-chain.pem | |
- --tlsKeyFile=/etc/istio/certs/key.pem | |
- --injectConfig=/etc/istio/inject/config | |
- --meshConfig=/etc/istio/config/mesh | |
- --healthCheckInterval=2s | |
- --healthCheckFile=/health | |
volumeMounts: | |
- name: config-volume | |
mountPath: /etc/istio/config | |
readOnly: true | |
- name: certs | |
mountPath: /etc/istio/certs | |
readOnly: true | |
- name: inject-config | |
mountPath: /etc/istio/inject | |
readOnly: true | |
livenessProbe: | |
exec: | |
command: | |
- /usr/local/bin/sidecar-injector | |
- probe | |
- --probe-path=/health | |
- --interval=4s | |
initialDelaySeconds: 4 | |
periodSeconds: 4 | |
readinessProbe: | |
exec: | |
command: | |
- /usr/local/bin/sidecar-injector | |
- probe | |
- --probe-path=/health | |
- --interval=4s | |
initialDelaySeconds: 4 | |
periodSeconds: 4 | |
resources: | |
limits: | |
cpu: "1" | |
requests: | |
cpu: "1" | |
volumes: | |
- name: config-volume | |
configMap: | |
name: istio | |
- name: certs | |
secret: | |
secretName: istio.istio-sidecar-injector-service-account | |
- name: inject-config | |
configMap: | |
name: istio-sidecar-injector | |
items: | |
- key: config | |
path: config | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/tracing/templates/deployment-jaeger.yaml | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
name: istio-tracing | |
namespace: istio-system | |
labels: | |
app: jaeger | |
chart: tracing | |
heritage: Tiller | |
release: istio | |
spec: | |
template: | |
metadata: | |
labels: | |
app: jaeger | |
chart: tracing | |
heritage: Tiller | |
release: istio | |
annotations: | |
sidecar.istio.io/inject: "false" | |
prometheus.io/scrape: "true" | |
prometheus.io/port: "16686" | |
prometheus.io/path: "/jaeger/metrics" | |
spec: | |
containers: | |
- name: jaeger | |
image: "docker.io/jaegertracing/all-in-one:1.9" | |
imagePullPolicy: IfNotPresent | |
ports: | |
- containerPort: 9411 | |
- containerPort: 16686 | |
- containerPort: 5775 | |
protocol: UDP | |
- containerPort: 6831 | |
protocol: UDP | |
- containerPort: 6832 | |
protocol: UDP | |
env: | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: COLLECTOR_ZIPKIN_HTTP_PORT | |
value: "9411" | |
- name: MEMORY_MAX_TRACES | |
value: "50000" | |
- name: QUERY_BASE_PATH | |
value: /jaeger | |
livenessProbe: | |
httpGet: | |
path: / | |
port: 16686 | |
readinessProbe: | |
httpGet: | |
path: / | |
port: 16686 | |
resources: | |
limits: | |
cpu: "1" | |
requests: | |
cpu: "1" | |
affinity: | |
nodeAffinity: | |
requiredDuringSchedulingIgnoredDuringExecution: | |
nodeSelectorTerms: | |
- matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- ppc64le | |
- s390x | |
preferredDuringSchedulingIgnoredDuringExecution: | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- amd64 | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- ppc64le | |
- weight: 2 | |
preference: | |
matchExpressions: | |
- key: beta.kubernetes.io/arch | |
operator: In | |
values: | |
- s390x | |
--- | |
# Source: istio/charts/mixer/templates/autoscale.yaml | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
name: istio-telemetry | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
maxReplicas: 5 | |
minReplicas: 1 | |
scaleTargetRef: | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
name: istio-telemetry | |
metrics: | |
- type: Resource | |
resource: | |
name: cpu | |
targetAverageUtilization: 80 | |
--- | |
--- | |
# Source: istio/charts/pilot/templates/autoscale.yaml | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
name: istio-pilot | |
namespace: istio-system | |
labels: | |
app: pilot | |
chart: pilot | |
heritage: Tiller | |
release: istio | |
spec: | |
maxReplicas: 5 | |
minReplicas: 1 | |
scaleTargetRef: | |
apiVersion: apps/v1beta1 | |
kind: Deployment | |
name: istio-pilot | |
metrics: | |
- type: Resource | |
resource: | |
name: cpu | |
targetAverageUtilization: 80 | |
--- | |
--- | |
# Source: istio/charts/tracing/templates/service-jaeger.yaml | |
apiVersion: v1 | |
kind: List | |
metadata: | |
name: jaeger-services | |
namespace: istio-system | |
labels: | |
app: jaeger | |
chart: tracing | |
heritage: Tiller | |
release: istio | |
items: | |
- apiVersion: v1 | |
kind: Service | |
metadata: | |
name: jaeger-query | |
namespace: istio-system | |
annotations: | |
labels: | |
app: jaeger | |
jaeger-infra: jaeger-service | |
chart: tracing | |
heritage: Tiller | |
release: istio | |
spec: | |
ports: | |
- name: query-http | |
port: 16686 | |
protocol: TCP | |
targetPort: 16686 | |
selector: | |
app: jaeger | |
- apiVersion: v1 | |
kind: Service | |
metadata: | |
name: jaeger-collector | |
namespace: istio-system | |
labels: | |
app: jaeger | |
jaeger-infra: collector-service | |
chart: tracing | |
heritage: Tiller | |
release: istio | |
spec: | |
ports: | |
- name: jaeger-collector-tchannel | |
port: 14267 | |
protocol: TCP | |
targetPort: 14267 | |
- name: jaeger-collector-http | |
port: 14268 | |
targetPort: 14268 | |
protocol: TCP | |
selector: | |
app: jaeger | |
type: ClusterIP | |
- apiVersion: v1 | |
kind: Service | |
metadata: | |
name: jaeger-agent | |
namespace: istio-system | |
labels: | |
app: jaeger | |
jaeger-infra: agent-service | |
chart: tracing | |
heritage: Tiller | |
release: istio | |
spec: | |
ports: | |
- name: agent-zipkin-thrift | |
port: 5775 | |
protocol: UDP | |
targetPort: 5775 | |
- name: agent-compact | |
port: 6831 | |
protocol: UDP | |
targetPort: 6831 | |
- name: agent-binary | |
port: 6832 | |
protocol: UDP | |
targetPort: 6832 | |
clusterIP: None | |
selector: | |
app: jaeger | |
--- | |
# Source: istio/charts/tracing/templates/service.yaml | |
apiVersion: v1 | |
kind: List | |
metadata: | |
name: tracing-services | |
namespace: istio-system | |
labels: | |
app: jaeger | |
chart: tracing | |
heritage: Tiller | |
release: istio | |
items: | |
- apiVersion: v1 | |
kind: Service | |
metadata: | |
name: zipkin | |
namespace: istio-system | |
labels: | |
app: jaeger | |
chart: tracing | |
heritage: Tiller | |
release: istio | |
spec: | |
type: ClusterIP | |
ports: | |
- port: 9411 | |
targetPort: 9411 | |
protocol: TCP | |
name: http | |
selector: | |
app: jaeger | |
- apiVersion: v1 | |
kind: Service | |
metadata: | |
name: tracing | |
namespace: istio-system | |
annotations: | |
labels: | |
app: jaeger | |
chart: tracing | |
heritage: Tiller | |
release: istio | |
spec: | |
ports: | |
- name: http-query | |
port: 80 | |
protocol: TCP | |
targetPort: 16686 | |
selector: | |
app: jaeger | |
--- | |
# Source: istio/charts/sidecarInjectorWebhook/templates/mutatingwebhook.yaml | |
apiVersion: admissionregistration.k8s.io/v1beta1 | |
kind: MutatingWebhookConfiguration | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
app: sidecarInjectorWebhook | |
chart: sidecarInjectorWebhook | |
heritage: Tiller | |
release: istio | |
webhooks: | |
- name: sidecar-injector.istio.io | |
clientConfig: | |
service: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
path: "/inject" | |
caBundle: "" | |
rules: | |
- operations: [ "CREATE" ] | |
apiGroups: [""] | |
apiVersions: ["v1"] | |
resources: ["pods"] | |
failurePolicy: Fail | |
namespaceSelector: | |
matchLabels: | |
istio-injection: enabled | |
--- | |
# Source: istio/charts/galley/templates/poddisruptionbudget.yaml | |
apiVersion: policy/v1beta1 | |
kind: PodDisruptionBudget | |
metadata: | |
name: istio-galley | |
namespace: istio-system | |
labels: | |
app: galley | |
chart: galley | |
heritage: Tiller | |
release: istio | |
istio: galley | |
spec: | |
minAvailable: 1 | |
selector: | |
matchLabels: | |
app: galley | |
release: istio | |
istio: galley | |
--- | |
# Source: istio/charts/mixer/templates/poddisruptionbudget.yaml | |
apiVersion: policy/v1beta1 | |
kind: PodDisruptionBudget | |
metadata: | |
name: istio-telemetry | |
namespace: istio-system | |
labels: | |
app: telemetry | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
version: 1.1.0 | |
istio: mixer | |
istio-mixer-type: telemetry | |
spec: | |
minAvailable: 1 | |
selector: | |
matchLabels: | |
app: telemetry | |
release: istio | |
istio: mixer | |
istio-mixer-type: telemetry | |
--- | |
--- | |
# Source: istio/charts/pilot/templates/poddisruptionbudget.yaml | |
apiVersion: policy/v1beta1 | |
kind: PodDisruptionBudget | |
metadata: | |
name: istio-pilot | |
namespace: istio-system | |
labels: | |
app: pilot | |
chart: pilot | |
heritage: Tiller | |
release: istio | |
istio: pilot | |
spec: | |
minAvailable: 1 | |
selector: | |
matchLabels: | |
app: pilot | |
release: istio | |
istio: pilot | |
--- | |
# Source: istio/charts/galley/templates/validatingwebhookconfiguration.yaml.tpl | |
--- | |
# Source: istio/charts/grafana/templates/grafana-ports-mtls.yaml | |
--- | |
# Source: istio/charts/grafana/templates/ingress.yaml | |
--- | |
# Source: istio/charts/grafana/templates/pvc.yaml | |
--- | |
# Source: istio/charts/grafana/templates/tests/test-grafana-connection.yaml | |
--- | |
# Source: istio/charts/kiali/templates/ingress.yaml | |
--- | |
# Source: istio/charts/kiali/templates/tests/test-kiali-connection.yaml | |
--- | |
# Source: istio/charts/pilot/templates/meshexpansion.yaml | |
--- | |
# Source: istio/charts/security/templates/enable-mesh-mtls.yaml | |
--- | |
# Source: istio/charts/security/templates/enable-mesh-permissive.yaml | |
--- | |
# Source: istio/charts/security/templates/meshexpansion.yaml | |
--- | |
# Source: istio/charts/security/templates/tests/test-citadel-connection.yaml | |
--- | |
# Source: istio/charts/tracing/templates/deployment-zipkin.yaml | |
--- | |
# Source: istio/charts/tracing/templates/ingress.yaml | |
--- | |
# Source: istio/charts/tracing/templates/tests/test-tracing-connection.yaml | |
--- | |
# Source: istio/templates/endpoints.yaml | |
--- | |
# Source: istio/templates/install-custom-resources.sh.tpl | |
--- | |
# Source: istio/templates/service.yaml | |
--- | |
# Source: istio/charts/mixer/templates/config.yaml | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: attributemanifest | |
metadata: | |
name: istioproxy | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
attributes: | |
origin.ip: | |
valueType: IP_ADDRESS | |
origin.uid: | |
valueType: STRING | |
origin.user: | |
valueType: STRING | |
request.headers: | |
valueType: STRING_MAP | |
request.id: | |
valueType: STRING | |
request.host: | |
valueType: STRING | |
request.method: | |
valueType: STRING | |
request.path: | |
valueType: STRING | |
request.url_path: | |
valueType: STRING | |
request.query_params: | |
valueType: STRING_MAP | |
request.reason: | |
valueType: STRING | |
request.referer: | |
valueType: STRING | |
request.scheme: | |
valueType: STRING | |
request.total_size: | |
valueType: INT64 | |
request.size: | |
valueType: INT64 | |
request.time: | |
valueType: TIMESTAMP | |
request.useragent: | |
valueType: STRING | |
response.code: | |
valueType: INT64 | |
response.duration: | |
valueType: DURATION | |
response.headers: | |
valueType: STRING_MAP | |
response.total_size: | |
valueType: INT64 | |
response.size: | |
valueType: INT64 | |
response.time: | |
valueType: TIMESTAMP | |
response.grpc_status: | |
valueType: STRING | |
response.grpc_message: | |
valueType: STRING | |
source.uid: | |
valueType: STRING | |
source.user: # DEPRECATED | |
valueType: STRING | |
source.principal: | |
valueType: STRING | |
destination.uid: | |
valueType: STRING | |
destination.principal: | |
valueType: STRING | |
destination.port: | |
valueType: INT64 | |
connection.event: | |
valueType: STRING | |
connection.id: | |
valueType: STRING | |
connection.received.bytes: | |
valueType: INT64 | |
connection.received.bytes_total: | |
valueType: INT64 | |
connection.sent.bytes: | |
valueType: INT64 | |
connection.sent.bytes_total: | |
valueType: INT64 | |
connection.duration: | |
valueType: DURATION | |
connection.mtls: | |
valueType: BOOL | |
connection.requested_server_name: | |
valueType: STRING | |
context.protocol: | |
valueType: STRING | |
context.proxy_error_code: | |
valueType: STRING | |
context.timestamp: | |
valueType: TIMESTAMP | |
context.time: | |
valueType: TIMESTAMP | |
# Deprecated, kept for compatibility | |
context.reporter.local: | |
valueType: BOOL | |
context.reporter.kind: | |
valueType: STRING | |
context.reporter.uid: | |
valueType: STRING | |
api.service: | |
valueType: STRING | |
api.version: | |
valueType: STRING | |
api.operation: | |
valueType: STRING | |
api.protocol: | |
valueType: STRING | |
request.auth.principal: | |
valueType: STRING | |
request.auth.audiences: | |
valueType: STRING | |
request.auth.presenter: | |
valueType: STRING | |
request.auth.claims: | |
valueType: STRING_MAP | |
request.auth.raw_claims: | |
valueType: STRING | |
request.api_key: | |
valueType: STRING | |
rbac.permissive.response_code: | |
valueType: STRING | |
rbac.permissive.effective_policy_id: | |
valueType: STRING | |
check.error_code: | |
valueType: INT64 | |
check.error_message: | |
valueType: STRING | |
check.cache_hit: | |
valueType: BOOL | |
quota.cache_hit: | |
valueType: BOOL | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: attributemanifest | |
metadata: | |
name: kubernetes | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
attributes: | |
source.ip: | |
valueType: IP_ADDRESS | |
source.labels: | |
valueType: STRING_MAP | |
source.metadata: | |
valueType: STRING_MAP | |
source.name: | |
valueType: STRING | |
source.namespace: | |
valueType: STRING | |
source.owner: | |
valueType: STRING | |
source.serviceAccount: | |
valueType: STRING | |
source.services: | |
valueType: STRING | |
source.workload.uid: | |
valueType: STRING | |
source.workload.name: | |
valueType: STRING | |
source.workload.namespace: | |
valueType: STRING | |
destination.ip: | |
valueType: IP_ADDRESS | |
destination.labels: | |
valueType: STRING_MAP | |
destination.metadata: | |
valueType: STRING_MAP | |
destination.owner: | |
valueType: STRING | |
destination.name: | |
valueType: STRING | |
destination.container.name: | |
valueType: STRING | |
destination.namespace: | |
valueType: STRING | |
destination.service.uid: | |
valueType: STRING | |
destination.service.name: | |
valueType: STRING | |
destination.service.namespace: | |
valueType: STRING | |
destination.service.host: | |
valueType: STRING | |
destination.serviceAccount: | |
valueType: STRING | |
destination.workload.uid: | |
valueType: STRING | |
destination.workload.name: | |
valueType: STRING | |
destination.workload.namespace: | |
valueType: STRING | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: handler | |
metadata: | |
name: stdio | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
compiledAdapter: stdio | |
params: | |
outputAsJson: true | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: logentry | |
metadata: | |
name: accesslog | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
severity: '"Info"' | |
timestamp: request.time | |
variables: | |
sourceIp: source.ip | ip("0.0.0.0") | |
sourceApp: source.labels["app"] | "" | |
sourcePrincipal: source.principal | "" | |
sourceName: source.name | "" | |
sourceWorkload: source.workload.name | "" | |
sourceNamespace: source.namespace | "" | |
sourceOwner: source.owner | "" | |
destinationApp: destination.labels["app"] | "" | |
destinationIp: destination.ip | ip("0.0.0.0") | |
destinationServiceHost: destination.service.host | "" | |
destinationWorkload: destination.workload.name | "" | |
destinationName: destination.name | "" | |
destinationNamespace: destination.namespace | "" | |
destinationOwner: destination.owner | "" | |
destinationPrincipal: destination.principal | "" | |
apiClaims: request.auth.raw_claims | "" | |
apiKey: request.api_key | request.headers["x-api-key"] | "" | |
protocol: request.scheme | context.protocol | "http" | |
method: request.method | "" | |
url: request.path | "" | |
responseCode: response.code | 0 | |
responseFlags: context.proxy_error_code | "" | |
responseSize: response.size | 0 | |
permissiveResponseCode: rbac.permissive.response_code | "none" | |
permissiveResponsePolicyID: rbac.permissive.effective_policy_id | "none" | |
requestSize: request.size | 0 | |
requestId: request.headers["x-request-id"] | "" | |
clientTraceId: request.headers["x-client-trace-id"] | "" | |
latency: response.duration | "0ms" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
requestedServerName: connection.requested_server_name | "" | |
userAgent: request.useragent | "" | |
responseTimestamp: response.time | |
receivedBytes: request.total_size | 0 | |
sentBytes: response.total_size | 0 | |
referer: request.referer | "" | |
httpAuthority: request.headers[":authority"] | request.host | "" | |
xForwardedFor: request.headers["x-forwarded-for"] | "0.0.0.0" | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
grpcStatus: response.grpc_status | "" | |
grpcMessage: response.grpc_message | "" | |
monitored_resource_type: '"global"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: logentry | |
metadata: | |
name: tcpaccesslog | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
severity: '"Info"' | |
timestamp: context.time | timestamp("2017-01-01T00:00:00Z") | |
variables: | |
connectionEvent: connection.event | "" | |
sourceIp: source.ip | ip("0.0.0.0") | |
sourceApp: source.labels["app"] | "" | |
sourcePrincipal: source.principal | "" | |
sourceName: source.name | "" | |
sourceWorkload: source.workload.name | "" | |
sourceNamespace: source.namespace | "" | |
sourceOwner: source.owner | "" | |
destinationApp: destination.labels["app"] | "" | |
destinationIp: destination.ip | ip("0.0.0.0") | |
destinationServiceHost: destination.service.host | "" | |
destinationWorkload: destination.workload.name | "" | |
destinationName: destination.name | "" | |
destinationNamespace: destination.namespace | "" | |
destinationOwner: destination.owner | "" | |
destinationPrincipal: destination.principal | "" | |
protocol: context.protocol | "tcp" | |
connectionDuration: connection.duration | "0ms" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
requestedServerName: connection.requested_server_name | "" | |
receivedBytes: connection.received.bytes | 0 | |
sentBytes: connection.sent.bytes | 0 | |
totalReceivedBytes: connection.received.bytes_total | 0 | |
totalSentBytes: connection.sent.bytes_total | 0 | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
responseFlags: context.proxy_error_code | "" | |
monitored_resource_type: '"global"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: requestcount | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
value: "1" | |
dimensions: | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
source_workload: source.workload.name | "unknown" | |
source_workload_namespace: source.workload.namespace | "unknown" | |
source_principal: source.principal | "unknown" | |
source_app: source.labels["app"] | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_workload: destination.workload.name | "unknown" | |
destination_workload_namespace: destination.workload.namespace | "unknown" | |
destination_principal: destination.principal | "unknown" | |
destination_app: destination.labels["app"] | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
destination_service: destination.service.host | "unknown" | |
destination_service_name: destination.service.name | "unknown" | |
destination_service_namespace: destination.service.namespace | "unknown" | |
request_protocol: api.protocol | context.protocol | "unknown" | |
response_code: response.code | 200 | |
response_flags: context.proxy_error_code | "-" | |
permissive_response_code: rbac.permissive.response_code | "none" | |
permissive_response_policyid: rbac.permissive.effective_policy_id | "none" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: requestduration | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
value: response.duration | "0ms" | |
dimensions: | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
source_workload: source.workload.name | "unknown" | |
source_workload_namespace: source.workload.namespace | "unknown" | |
source_principal: source.principal | "unknown" | |
source_app: source.labels["app"] | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_workload: destination.workload.name | "unknown" | |
destination_workload_namespace: destination.workload.namespace | "unknown" | |
destination_principal: destination.principal | "unknown" | |
destination_app: destination.labels["app"] | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
destination_service: destination.service.host | "unknown" | |
destination_service_name: destination.service.name | "unknown" | |
destination_service_namespace: destination.service.namespace | "unknown" | |
request_protocol: api.protocol | context.protocol | "unknown" | |
response_code: response.code | 200 | |
response_flags: context.proxy_error_code | "-" | |
permissive_response_code: rbac.permissive.response_code | "none" | |
permissive_response_policyid: rbac.permissive.effective_policy_id | "none" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: requestsize | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
value: request.size | 0 | |
dimensions: | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
source_workload: source.workload.name | "unknown" | |
source_workload_namespace: source.workload.namespace | "unknown" | |
source_principal: source.principal | "unknown" | |
source_app: source.labels["app"] | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_workload: destination.workload.name | "unknown" | |
destination_workload_namespace: destination.workload.namespace | "unknown" | |
destination_principal: destination.principal | "unknown" | |
destination_app: destination.labels["app"] | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
destination_service: destination.service.host | "unknown" | |
destination_service_name: destination.service.name | "unknown" | |
destination_service_namespace: destination.service.namespace | "unknown" | |
request_protocol: api.protocol | context.protocol | "unknown" | |
response_code: response.code | 200 | |
response_flags: context.proxy_error_code | "-" | |
permissive_response_code: rbac.permissive.response_code | "none" | |
permissive_response_policyid: rbac.permissive.effective_policy_id | "none" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: responsesize | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
value: response.size | 0 | |
dimensions: | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
source_workload: source.workload.name | "unknown" | |
source_workload_namespace: source.workload.namespace | "unknown" | |
source_principal: source.principal | "unknown" | |
source_app: source.labels["app"] | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_workload: destination.workload.name | "unknown" | |
destination_workload_namespace: destination.workload.namespace | "unknown" | |
destination_principal: destination.principal | "unknown" | |
destination_app: destination.labels["app"] | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
destination_service: destination.service.host | "unknown" | |
destination_service_name: destination.service.name | "unknown" | |
destination_service_namespace: destination.service.namespace | "unknown" | |
request_protocol: api.protocol | context.protocol | "unknown" | |
response_code: response.code | 200 | |
response_flags: context.proxy_error_code | "-" | |
permissive_response_code: rbac.permissive.response_code | "none" | |
permissive_response_policyid: rbac.permissive.effective_policy_id | "none" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: tcpbytesent | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
value: connection.sent.bytes | 0 | |
dimensions: | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
source_workload: source.workload.name | "unknown" | |
source_workload_namespace: source.workload.namespace | "unknown" | |
source_principal: source.principal | "unknown" | |
source_app: source.labels["app"] | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_workload: destination.workload.name | "unknown" | |
destination_workload_namespace: destination.workload.namespace | "unknown" | |
destination_principal: destination.principal | "unknown" | |
destination_app: destination.labels["app"] | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
destination_service: destination.service.host | "unknown" | |
destination_service_name: destination.service.name | "unknown" | |
destination_service_namespace: destination.service.namespace | "unknown" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
response_flags: context.proxy_error_code | "-" | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: tcpbytereceived | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
value: connection.received.bytes | 0 | |
dimensions: | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
source_workload: source.workload.name | "unknown" | |
source_workload_namespace: source.workload.namespace | "unknown" | |
source_principal: source.principal | "unknown" | |
source_app: source.labels["app"] | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_workload: destination.workload.name | "unknown" | |
destination_workload_namespace: destination.workload.namespace | "unknown" | |
destination_principal: destination.principal | "unknown" | |
destination_app: destination.labels["app"] | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
destination_service: destination.service.host | "unknown" | |
destination_service_name: destination.service.name | "unknown" | |
destination_service_namespace: destination.service.namespace | "unknown" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
response_flags: context.proxy_error_code | "-" | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: tcpconnectionsopened | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
value: "1" | |
dimensions: | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
source_workload: source.workload.name | "unknown" | |
source_workload_namespace: source.workload.namespace | "unknown" | |
source_principal: source.principal | "unknown" | |
source_app: source.labels["app"] | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_workload: destination.workload.name | "unknown" | |
destination_workload_namespace: destination.workload.namespace | "unknown" | |
destination_principal: destination.principal | "unknown" | |
destination_app: destination.labels["app"] | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
destination_service: destination.service.name | "unknown" | |
destination_service_name: destination.service.name | "unknown" | |
destination_service_namespace: destination.service.namespace | "unknown" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
response_flags: context.proxy_error_code | "-" | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: metric | |
metadata: | |
name: tcpconnectionsclosed | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
value: "1" | |
dimensions: | |
reporter: conditional((context.reporter.kind | "inbound") == "outbound", "source", "destination") | |
source_workload: source.workload.name | "unknown" | |
source_workload_namespace: source.workload.namespace | "unknown" | |
source_principal: source.principal | "unknown" | |
source_app: source.labels["app"] | "unknown" | |
source_version: source.labels["version"] | "unknown" | |
destination_workload: destination.workload.name | "unknown" | |
destination_workload_namespace: destination.workload.namespace | "unknown" | |
destination_principal: destination.principal | "unknown" | |
destination_app: destination.labels["app"] | "unknown" | |
destination_version: destination.labels["version"] | "unknown" | |
destination_service: destination.service.name | "unknown" | |
destination_service_name: destination.service.name | "unknown" | |
destination_service_namespace: destination.service.namespace | "unknown" | |
connection_security_policy: conditional((context.reporter.kind | "inbound") == "outbound", "unknown", conditional(connection.mtls | false, "mutual_tls", "none")) | |
response_flags: context.proxy_error_code | "-" | |
monitored_resource_type: '"UNSPECIFIED"' | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: handler | |
metadata: | |
name: prometheus | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
compiledAdapter: prometheus | |
params: | |
metricsExpirationPolicy: | |
metricsExpiryDuration: "10m" | |
metrics: | |
- name: requests_total | |
instance_name: requestcount.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- reporter | |
- source_app | |
- source_principal | |
- source_workload | |
- source_workload_namespace | |
- source_version | |
- destination_app | |
- destination_principal | |
- destination_workload | |
- destination_workload_namespace | |
- destination_version | |
- destination_service | |
- destination_service_name | |
- destination_service_namespace | |
- request_protocol | |
- response_code | |
- response_flags | |
- permissive_response_code | |
- permissive_response_policyid | |
- connection_security_policy | |
- name: request_duration_seconds | |
instance_name: requestduration.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- reporter | |
- source_app | |
- source_principal | |
- source_workload | |
- source_workload_namespace | |
- source_version | |
- destination_app | |
- destination_principal | |
- destination_workload | |
- destination_workload_namespace | |
- destination_version | |
- destination_service | |
- destination_service_name | |
- destination_service_namespace | |
- request_protocol | |
- response_code | |
- response_flags | |
- permissive_response_code | |
- permissive_response_policyid | |
- connection_security_policy | |
buckets: | |
explicit_buckets: | |
bounds: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10] | |
- name: request_bytes | |
instance_name: requestsize.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- reporter | |
- source_app | |
- source_principal | |
- source_workload | |
- source_workload_namespace | |
- source_version | |
- destination_app | |
- destination_principal | |
- destination_workload | |
- destination_workload_namespace | |
- destination_version | |
- destination_service | |
- destination_service_name | |
- destination_service_namespace | |
- request_protocol | |
- response_code | |
- response_flags | |
- permissive_response_code | |
- permissive_response_policyid | |
- connection_security_policy | |
buckets: | |
exponentialBuckets: | |
numFiniteBuckets: 8 | |
scale: 1 | |
growthFactor: 10 | |
- name: response_bytes | |
instance_name: responsesize.metric.istio-system | |
kind: DISTRIBUTION | |
label_names: | |
- reporter | |
- source_app | |
- source_principal | |
- source_workload | |
- source_workload_namespace | |
- source_version | |
- destination_app | |
- destination_principal | |
- destination_workload | |
- destination_workload_namespace | |
- destination_version | |
- destination_service | |
- destination_service_name | |
- destination_service_namespace | |
- request_protocol | |
- response_code | |
- response_flags | |
- permissive_response_code | |
- permissive_response_policyid | |
- connection_security_policy | |
buckets: | |
exponentialBuckets: | |
numFiniteBuckets: 8 | |
scale: 1 | |
growthFactor: 10 | |
- name: tcp_sent_bytes_total | |
instance_name: tcpbytesent.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- reporter | |
- source_app | |
- source_principal | |
- source_workload | |
- source_workload_namespace | |
- source_version | |
- destination_app | |
- destination_principal | |
- destination_workload | |
- destination_workload_namespace | |
- destination_version | |
- destination_service | |
- destination_service_name | |
- destination_service_namespace | |
- connection_security_policy | |
- response_flags | |
- name: tcp_received_bytes_total | |
instance_name: tcpbytereceived.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- reporter | |
- source_app | |
- source_principal | |
- source_workload | |
- source_workload_namespace | |
- source_version | |
- destination_app | |
- destination_principal | |
- destination_workload | |
- destination_workload_namespace | |
- destination_version | |
- destination_service | |
- destination_service_name | |
- destination_service_namespace | |
- connection_security_policy | |
- response_flags | |
- name: tcp_connections_opened_total | |
instance_name: tcpconnectionsopened.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- reporter | |
- source_app | |
- source_principal | |
- source_workload | |
- source_workload_namespace | |
- source_version | |
- destination_app | |
- destination_principal | |
- destination_workload | |
- destination_workload_namespace | |
- destination_version | |
- destination_service | |
- destination_service_name | |
- destination_service_namespace | |
- connection_security_policy | |
- response_flags | |
- name: tcp_connections_closed_total | |
instance_name: tcpconnectionsclosed.metric.istio-system | |
kind: COUNTER | |
label_names: | |
- reporter | |
- source_app | |
- source_principal | |
- source_workload | |
- source_workload_namespace | |
- source_version | |
- destination_app | |
- destination_principal | |
- destination_workload | |
- destination_workload_namespace | |
- destination_version | |
- destination_service | |
- destination_service_name | |
- destination_service_namespace | |
- connection_security_policy | |
- response_flags | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: promhttp | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
match: (context.protocol == "http" || context.protocol == "grpc") && (match((request.useragent | "-"), "kube-probe*") == false) | |
actions: | |
- handler: prometheus | |
instances: | |
- requestcount.metric | |
- requestduration.metric | |
- requestsize.metric | |
- responsesize.metric | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: promtcp | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
match: context.protocol == "tcp" | |
actions: | |
- handler: prometheus | |
instances: | |
- tcpbytesent.metric | |
- tcpbytereceived.metric | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: promtcpconnectionopen | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
match: context.protocol == "tcp" && ((connection.event | "na") == "open") | |
actions: | |
- handler: prometheus | |
instances: | |
- tcpconnectionsopened.metric | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: promtcpconnectionclosed | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
match: context.protocol == "tcp" && ((connection.event | "na") == "close") | |
actions: | |
- handler: prometheus | |
instances: | |
- tcpconnectionsclosed.metric | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: handler | |
metadata: | |
name: kubernetesenv | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
compiledAdapter: kubernetesenv | |
params: | |
# when running from mixer root, use the following config after adding a | |
# symbolic link to a kubernetes config file via: | |
# | |
# $ ln -s ~/.kube/config mixer/adapter/kubernetes/kubeconfig | |
# | |
# kubeconfig_path: "mixer/adapter/kubernetes/kubeconfig" | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: kubeattrgenrulerule | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
actions: | |
- handler: kubernetesenv | |
instances: | |
- attributes.kubernetes | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: rule | |
metadata: | |
name: tcpkubeattrgenrulerule | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
match: context.protocol == "tcp" | |
actions: | |
- handler: kubernetesenv | |
instances: | |
- attributes.kubernetes | |
--- | |
apiVersion: "config.istio.io/v1alpha2" | |
kind: kubernetes | |
metadata: | |
name: attributes | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
# Pass the required attribute data to the adapter | |
source_uid: source.uid | "" | |
source_ip: source.ip | ip("0.0.0.0") # default to unspecified ip addr | |
destination_uid: destination.uid | "" | |
destination_port: destination.port | 0 | |
attribute_bindings: | |
# Fill the new attributes from the adapter produced output. | |
# $out refers to an instance of OutputTemplate message | |
source.ip: $out.source_pod_ip | ip("0.0.0.0") | |
source.uid: $out.source_pod_uid | "unknown" | |
source.labels: $out.source_labels | emptyStringMap() | |
source.name: $out.source_pod_name | "unknown" | |
source.namespace: $out.source_namespace | "default" | |
source.owner: $out.source_owner | "unknown" | |
source.serviceAccount: $out.source_service_account_name | "unknown" | |
source.workload.uid: $out.source_workload_uid | "unknown" | |
source.workload.name: $out.source_workload_name | "unknown" | |
source.workload.namespace: $out.source_workload_namespace | "unknown" | |
destination.ip: $out.destination_pod_ip | ip("0.0.0.0") | |
destination.uid: $out.destination_pod_uid | "unknown" | |
destination.labels: $out.destination_labels | emptyStringMap() | |
destination.name: $out.destination_pod_name | "unknown" | |
destination.container.name: $out.destination_container_name | "unknown" | |
destination.namespace: $out.destination_namespace | "default" | |
destination.owner: $out.destination_owner | "unknown" | |
destination.serviceAccount: $out.destination_service_account_name | "unknown" | |
destination.workload.uid: $out.destination_workload_uid | "unknown" | |
destination.workload.name: $out.destination_workload_name | "unknown" | |
destination.workload.namespace: $out.destination_workload_namespace | "unknown" | |
--- | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: DestinationRule | |
metadata: | |
name: istio-telemetry | |
namespace: istio-system | |
labels: | |
app: mixer | |
chart: mixer | |
heritage: Tiller | |
release: istio | |
spec: | |
host: istio-telemetry.istio-system.svc.cluster.local | |
trafficPolicy: | |
connectionPool: | |
http: | |
http2MaxRequests: 10000 | |
maxRequestsPerConnection: 10000 | |
--- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment