6160 lines
385 KiB
YAML
6160 lines
385 KiB
YAML
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: istio-egressgateway-service-account
|
|
namespace: istio-system
|
|
labels:
|
|
app: istio-egressgateway
|
|
istio: egressgateway
|
|
release: istio
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "EgressGateways"
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: istio-ingressgateway-service-account
|
|
namespace: istio-system
|
|
labels:
|
|
app: istio-ingressgateway
|
|
istio: ingressgateway
|
|
release: istio
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "IngressGateways"
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: istio-reader-service-account
|
|
namespace: istio-system
|
|
labels:
|
|
app: istio-reader
|
|
release: istio
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: istiod-service-account
|
|
namespace: istio-system
|
|
labels:
|
|
app: istiod
|
|
release: istio
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: istio-reader-istio-system
|
|
labels:
|
|
app: istio-reader
|
|
release: istio
|
|
rules:
|
|
- apiGroups:
|
|
- "config.istio.io"
|
|
- "security.istio.io"
|
|
- "networking.istio.io"
|
|
- "authentication.istio.io"
|
|
- "rbac.istio.io"
|
|
resources: ["*"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: [""]
|
|
resources: ["endpoints", "pods", "services", "nodes", "replicationcontrollers", "namespaces", "secrets"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: ["networking.istio.io"]
|
|
verbs: [ "get", "watch", "list" ]
|
|
resources: [ "workloadentries" ]
|
|
- apiGroups: ["apiextensions.k8s.io"]
|
|
resources: ["customresourcedefinitions"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: ["discovery.k8s.io"]
|
|
resources: ["endpointslices"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: ["apps"]
|
|
resources: ["replicasets"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: ["authentication.k8s.io"]
|
|
resources: ["tokenreviews"]
|
|
verbs: ["create"]
|
|
- apiGroups: ["authorization.k8s.io"]
|
|
resources: ["subjectaccessreviews"]
|
|
verbs: ["create"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: istiod-istio-system
|
|
labels:
|
|
app: istiod
|
|
release: istio
|
|
rules:
|
|
# sidecar injection controller
|
|
- apiGroups: ["admissionregistration.k8s.io"]
|
|
resources: ["mutatingwebhookconfigurations"]
|
|
verbs: ["get", "list", "watch", "update", "patch"]
|
|
|
|
# configuration validation webhook controller
|
|
- apiGroups: ["admissionregistration.k8s.io"]
|
|
resources: ["validatingwebhookconfigurations"]
|
|
verbs: ["get", "list", "watch", "update"]
|
|
|
|
# istio configuration
|
|
# removing CRD permissions can break older versions of Istio running alongside this control plane (https://github.com/istio/istio/issues/29382)
|
|
# please proceed with caution
|
|
- apiGroups: ["config.istio.io", "security.istio.io", "networking.istio.io", "authentication.istio.io", "rbac.istio.io", "telemetry.istio.io"]
|
|
verbs: ["get", "watch", "list"]
|
|
resources: ["*"]
|
|
- apiGroups: ["networking.istio.io"]
|
|
verbs: [ "get", "watch", "list", "update", "patch", "create", "delete" ]
|
|
resources: [ "workloadentries" ]
|
|
- apiGroups: ["networking.istio.io"]
|
|
verbs: [ "get", "watch", "list", "update", "patch", "create", "delete" ]
|
|
resources: [ "workloadentries/status" ]
|
|
|
|
# auto-detect installed CRD definitions
|
|
- apiGroups: ["apiextensions.k8s.io"]
|
|
resources: ["customresourcedefinitions"]
|
|
verbs: ["get", "list", "watch"]
|
|
|
|
# discovery and routing
|
|
- apiGroups: [""]
|
|
resources: ["pods", "nodes", "services", "namespaces", "endpoints"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: ["discovery.k8s.io"]
|
|
resources: ["endpointslices"]
|
|
verbs: ["get", "list", "watch"]
|
|
|
|
# ingress controller
|
|
- apiGroups: ["networking.k8s.io"]
|
|
resources: ["ingresses", "ingressclasses"]
|
|
verbs: ["get", "list", "watch"]
|
|
- apiGroups: ["networking.k8s.io"]
|
|
resources: ["ingresses/status"]
|
|
verbs: ["*"]
|
|
|
|
# required for CA's namespace controller
|
|
- apiGroups: [""]
|
|
resources: ["configmaps"]
|
|
verbs: ["create", "get", "list", "watch", "update"]
|
|
|
|
# Istiod and bootstrap.
|
|
- apiGroups: ["certificates.k8s.io"]
|
|
resources:
|
|
- "certificatesigningrequests"
|
|
- "certificatesigningrequests/approval"
|
|
- "certificatesigningrequests/status"
|
|
verbs: ["update", "create", "get", "delete", "watch"]
|
|
- apiGroups: ["certificates.k8s.io"]
|
|
resources:
|
|
- "signers"
|
|
resourceNames:
|
|
- "kubernetes.io/legacy-unknown"
|
|
verbs: ["approve"]
|
|
|
|
# Used by Istiod to verify the JWT tokens
|
|
- apiGroups: ["authentication.k8s.io"]
|
|
resources: ["tokenreviews"]
|
|
verbs: ["create"]
|
|
|
|
# Used by Istiod to verify gateway SDS
|
|
- apiGroups: ["authorization.k8s.io"]
|
|
resources: ["subjectaccessreviews"]
|
|
verbs: ["create"]
|
|
|
|
# Use for Kubernetes Service APIs
|
|
- apiGroups: ["networking.x-k8s.io"]
|
|
resources: ["*"]
|
|
verbs: ["get", "watch", "list"]
|
|
- apiGroups: ["networking.x-k8s.io"]
|
|
resources: ["*"] # TODO: should be on just */status but wildcard is not supported
|
|
verbs: ["update"]
|
|
|
|
# Needed for multicluster secret reading, possibly ingress certs in the future
|
|
- apiGroups: [""]
|
|
resources: ["secrets"]
|
|
verbs: ["get", "watch", "list"]
|
|
|
|
# Used for MCS serviceexport management
|
|
- apiGroups: ["multicluster.x-k8s.io"]
|
|
resources: ["serviceexports"]
|
|
verbs: ["get", "watch", "list", "create", "delete"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: istio-reader-istio-system
|
|
labels:
|
|
app: istio-reader
|
|
release: istio
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: istio-reader-istio-system
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: istio-reader-service-account
|
|
namespace: istio-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: istiod-istio-system
|
|
labels:
|
|
app: istiod
|
|
release: istio
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: istiod-istio-system
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: istiod-service-account
|
|
namespace: istio-system
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: ValidatingWebhookConfiguration
|
|
metadata:
|
|
name: istiod-istio-system
|
|
labels:
|
|
app: istiod
|
|
release: istio
|
|
istio: istiod
|
|
webhooks:
|
|
- name: validation.istio.io
|
|
clientConfig:
|
|
service:
|
|
name: istiod
|
|
namespace: istio-system
|
|
path: "/validate"
|
|
caBundle: "" # patched at runtime when the webhook is ready.
|
|
rules:
|
|
- operations:
|
|
- CREATE
|
|
- UPDATE
|
|
apiGroups:
|
|
- security.istio.io
|
|
- networking.istio.io
|
|
apiVersions:
|
|
- "*"
|
|
resources:
|
|
- "*"
|
|
# Fail open until the validation webhook is ready. The webhook controller
|
|
# will update this to `Fail` and patch in the `caBundle` when the webhook
|
|
# endpoint is ready.
|
|
failurePolicy: Ignore
|
|
sideEffects: None
|
|
admissionReviewVersions: ["v1beta1", "v1"]
|
|
---
|
|
apiVersion: networking.istio.io/v1alpha3
|
|
kind: EnvoyFilter
|
|
metadata:
|
|
name: metadata-exchange-1.10
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "Pilot"
|
|
spec:
|
|
configPatches:
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: SIDECAR_INBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{}
|
|
vm_config:
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.metadata_exchange
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: SIDECAR_OUTBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{}
|
|
vm_config:
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.metadata_exchange
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: GATEWAY
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{}
|
|
vm_config:
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.metadata_exchange
|
|
---
|
|
apiVersion: networking.istio.io/v1alpha3
|
|
kind: EnvoyFilter
|
|
metadata:
|
|
name: metadata-exchange-1.9
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "Pilot"
|
|
spec:
|
|
configPatches:
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: SIDECAR_INBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{}
|
|
vm_config:
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.metadata_exchange
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: SIDECAR_OUTBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{}
|
|
vm_config:
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.metadata_exchange
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: GATEWAY
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{}
|
|
vm_config:
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.metadata_exchange
|
|
---
|
|
apiVersion: networking.istio.io/v1alpha3
|
|
kind: EnvoyFilter
|
|
metadata:
|
|
name: stats-filter-1.10
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
spec:
|
|
configPatches:
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: SIDECAR_OUTBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
subFilter:
|
|
name: "envoy.filters.http.router"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_outbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio"
|
|
}
|
|
vm_config:
|
|
vm_id: stats_outbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.stats
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: SIDECAR_INBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
subFilter:
|
|
name: "envoy.filters.http.router"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_inbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio",
|
|
"metrics": [
|
|
{
|
|
"dimensions": {
|
|
"destination_cluster": "node.metadata['CLUSTER_ID']",
|
|
"source_cluster": "downstream_peer.cluster_id"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
vm_config:
|
|
vm_id: stats_inbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.stats
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: GATEWAY
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
subFilter:
|
|
name: "envoy.filters.http.router"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_outbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio",
|
|
"disable_host_header_fallback": true
|
|
}
|
|
vm_config:
|
|
vm_id: stats_outbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.stats
|
|
---
|
|
apiVersion: networking.istio.io/v1alpha3
|
|
kind: EnvoyFilter
|
|
metadata:
|
|
name: stats-filter-1.9
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
spec:
|
|
configPatches:
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: SIDECAR_OUTBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
subFilter:
|
|
name: "envoy.filters.http.router"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_outbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio",
|
|
"metrics": [
|
|
{
|
|
"dimensions": {
|
|
"source_cluster": "node.metadata['CLUSTER_ID']",
|
|
"destination_cluster": "upstream_peer.cluster_id"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
vm_config:
|
|
vm_id: stats_outbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.stats
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: SIDECAR_INBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
subFilter:
|
|
name: "envoy.filters.http.router"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_inbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio",
|
|
"metrics": [
|
|
{
|
|
"dimensions": {
|
|
"destination_cluster": "node.metadata['CLUSTER_ID']",
|
|
"source_cluster": "downstream_peer.cluster_id"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
vm_config:
|
|
vm_id: stats_inbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.stats
|
|
- applyTo: HTTP_FILTER
|
|
match:
|
|
context: GATEWAY
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.http_connection_manager"
|
|
subFilter:
|
|
name: "envoy.filters.http.router"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_outbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio",
|
|
"disable_host_header_fallback": true,
|
|
"metrics": [
|
|
{
|
|
"dimensions": {
|
|
"source_cluster": "node.metadata['CLUSTER_ID']",
|
|
"destination_cluster": "upstream_peer.cluster_id"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
vm_config:
|
|
vm_id: stats_outbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: envoy.wasm.stats
|
|
---
|
|
apiVersion: networking.istio.io/v1alpha3
|
|
kind: EnvoyFilter
|
|
metadata:
|
|
name: tcp-metadata-exchange-1.10
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
spec:
|
|
configPatches:
|
|
- applyTo: NETWORK_FILTER
|
|
match:
|
|
context: SIDECAR_INBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener: {}
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange
|
|
value:
|
|
protocol: istio-peer-exchange
|
|
- applyTo: CLUSTER
|
|
match:
|
|
context: SIDECAR_OUTBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
cluster: {}
|
|
patch:
|
|
operation: MERGE
|
|
value:
|
|
filters:
|
|
- name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange
|
|
value:
|
|
protocol: istio-peer-exchange
|
|
- applyTo: CLUSTER
|
|
match:
|
|
context: GATEWAY
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
cluster: {}
|
|
patch:
|
|
operation: MERGE
|
|
value:
|
|
filters:
|
|
- name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange
|
|
value:
|
|
protocol: istio-peer-exchange
|
|
---
|
|
apiVersion: networking.istio.io/v1alpha3
|
|
kind: EnvoyFilter
|
|
metadata:
|
|
name: tcp-metadata-exchange-1.9
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
spec:
|
|
configPatches:
|
|
- applyTo: NETWORK_FILTER
|
|
match:
|
|
context: SIDECAR_INBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener: {}
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange
|
|
value:
|
|
protocol: istio-peer-exchange
|
|
- applyTo: CLUSTER
|
|
match:
|
|
context: SIDECAR_OUTBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
cluster: {}
|
|
patch:
|
|
operation: MERGE
|
|
value:
|
|
filters:
|
|
- name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange
|
|
value:
|
|
protocol: istio-peer-exchange
|
|
- applyTo: CLUSTER
|
|
match:
|
|
context: GATEWAY
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
cluster: {}
|
|
patch:
|
|
operation: MERGE
|
|
value:
|
|
filters:
|
|
- name: istio.metadata_exchange
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange
|
|
value:
|
|
protocol: istio-peer-exchange
|
|
---
|
|
apiVersion: networking.istio.io/v1alpha3
|
|
kind: EnvoyFilter
|
|
metadata:
|
|
name: tcp-stats-filter-1.10
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
spec:
|
|
configPatches:
|
|
- applyTo: NETWORK_FILTER
|
|
match:
|
|
context: SIDECAR_INBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.tcp_proxy"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.network.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_inbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio",
|
|
"metrics": [
|
|
{
|
|
"dimensions": {
|
|
"destination_cluster": "node.metadata['CLUSTER_ID']",
|
|
"source_cluster": "downstream_peer.cluster_id"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
vm_config:
|
|
vm_id: tcp_stats_inbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: "envoy.wasm.stats"
|
|
- applyTo: NETWORK_FILTER
|
|
match:
|
|
context: SIDECAR_OUTBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.tcp_proxy"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.network.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_outbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio"
|
|
}
|
|
vm_config:
|
|
vm_id: tcp_stats_outbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: "envoy.wasm.stats"
|
|
- applyTo: NETWORK_FILTER
|
|
match:
|
|
context: GATEWAY
|
|
proxy:
|
|
proxyVersion: '^1\.10.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.tcp_proxy"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.network.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_outbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio"
|
|
}
|
|
vm_config:
|
|
vm_id: tcp_stats_outbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: "envoy.wasm.stats"
|
|
---
|
|
apiVersion: networking.istio.io/v1alpha3
|
|
kind: EnvoyFilter
|
|
metadata:
|
|
name: tcp-stats-filter-1.9
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
spec:
|
|
configPatches:
|
|
- applyTo: NETWORK_FILTER
|
|
match:
|
|
context: SIDECAR_INBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.tcp_proxy"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.network.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_inbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio",
|
|
"metrics": [
|
|
{
|
|
"dimensions": {
|
|
"destination_cluster": "node.metadata['CLUSTER_ID']",
|
|
"source_cluster": "downstream_peer.cluster_id"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
vm_config:
|
|
vm_id: tcp_stats_inbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: "envoy.wasm.stats"
|
|
- applyTo: NETWORK_FILTER
|
|
match:
|
|
context: SIDECAR_OUTBOUND
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.tcp_proxy"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.network.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_outbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio",
|
|
"metrics": [
|
|
{
|
|
"dimensions": {
|
|
"source_cluster": "node.metadata['CLUSTER_ID']",
|
|
"destination_cluster": "upstream_peer.cluster_id"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
vm_config:
|
|
vm_id: tcp_stats_outbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: "envoy.wasm.stats"
|
|
- applyTo: NETWORK_FILTER
|
|
match:
|
|
context: GATEWAY
|
|
proxy:
|
|
proxyVersion: '^1\.9.*'
|
|
listener:
|
|
filterChain:
|
|
filter:
|
|
name: "envoy.filters.network.tcp_proxy"
|
|
patch:
|
|
operation: INSERT_BEFORE
|
|
value:
|
|
name: istio.stats
|
|
typed_config:
|
|
"@type": type.googleapis.com/udpa.type.v1.TypedStruct
|
|
type_url: type.googleapis.com/envoy.extensions.filters.network.wasm.v3.Wasm
|
|
value:
|
|
config:
|
|
root_id: stats_outbound
|
|
configuration:
|
|
"@type": "type.googleapis.com/google.protobuf.StringValue"
|
|
value: |
|
|
{
|
|
"debug": "false",
|
|
"stat_prefix": "istio",
|
|
"metrics": [
|
|
{
|
|
"dimensions": {
|
|
"source_cluster": "node.metadata['CLUSTER_ID']",
|
|
"destination_cluster": "upstream_peer.cluster_id"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
vm_config:
|
|
vm_id: tcp_stats_outbound
|
|
runtime: envoy.wasm.runtime.null
|
|
code:
|
|
local:
|
|
inline_string: "envoy.wasm.stats"
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: istio
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "Pilot"
|
|
release: istio
|
|
data:
|
|
|
|
# Configuration file for the mesh networks to be used by the Split Horizon EDS.
|
|
meshNetworks: |-
|
|
networks: {}
|
|
|
|
mesh: |-
|
|
accessLogFile: /dev/stdout
|
|
defaultConfig:
|
|
discoveryAddress: istiod.istio-system.svc:15012
|
|
proxyMetadata: {}
|
|
tracing:
|
|
zipkin:
|
|
address: zipkin.istio-system:9411
|
|
enablePrometheusMerge: true
|
|
rootNamespace: istio-system
|
|
trustDomain: cluster.local
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: istio-sidecar-injector
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "Pilot"
|
|
release: istio
|
|
data:
|
|
|
|
values: |-
|
|
{
|
|
"global": {
|
|
"caAddress": "",
|
|
"configValidation": true,
|
|
"defaultNodeSelector": {},
|
|
"defaultPodDisruptionBudget": {
|
|
"enabled": true
|
|
},
|
|
"defaultResources": {
|
|
"requests": {
|
|
"cpu": "10m"
|
|
}
|
|
},
|
|
"enabled": true,
|
|
"externalIstiod": false,
|
|
"hub": "docker.io/istio",
|
|
"imagePullPolicy": "",
|
|
"imagePullSecrets": [],
|
|
"istioNamespace": "istio-system",
|
|
"istiod": {
|
|
"enableAnalysis": false
|
|
},
|
|
"jwtPolicy": "third-party-jwt",
|
|
"logAsJson": false,
|
|
"logging": {
|
|
"level": "default:info"
|
|
},
|
|
"meshID": "",
|
|
"meshNetworks": {},
|
|
"mountMtlsCerts": false,
|
|
"multiCluster": {
|
|
"clusterName": "",
|
|
"enabled": false
|
|
},
|
|
"namespace": "istio-system",
|
|
"network": "",
|
|
"omitSidecarInjectorConfigMap": false,
|
|
"oneNamespace": false,
|
|
"operatorManageWebhooks": false,
|
|
"pilotCertProvider": "istiod",
|
|
"priorityClassName": "",
|
|
"proxy": {
|
|
"autoInject": "enabled",
|
|
"clusterDomain": "cluster.local",
|
|
"componentLogLevel": "misc:error",
|
|
"enableCoreDump": false,
|
|
"excludeIPRanges": "",
|
|
"excludeInboundPorts": "",
|
|
"excludeOutboundPorts": "",
|
|
"holdApplicationUntilProxyStarts": false,
|
|
"image": "proxyv2",
|
|
"includeIPRanges": "*",
|
|
"logLevel": "warning",
|
|
"privileged": false,
|
|
"readinessFailureThreshold": 30,
|
|
"readinessInitialDelaySeconds": 1,
|
|
"readinessPeriodSeconds": 2,
|
|
"resources": {
|
|
"limits": {
|
|
"cpu": "2000m",
|
|
"memory": "1024Mi"
|
|
},
|
|
"requests": {
|
|
"cpu": "10m",
|
|
"memory": "40Mi"
|
|
}
|
|
},
|
|
"statusPort": 15020,
|
|
"tracer": "zipkin"
|
|
},
|
|
"proxy_init": {
|
|
"image": "proxyv2",
|
|
"resources": {
|
|
"limits": {
|
|
"cpu": "2000m",
|
|
"memory": "1024Mi"
|
|
},
|
|
"requests": {
|
|
"cpu": "10m",
|
|
"memory": "10Mi"
|
|
}
|
|
}
|
|
},
|
|
"remotePilotAddress": "",
|
|
"sds": {
|
|
"token": {
|
|
"aud": "istio-ca"
|
|
}
|
|
},
|
|
"sts": {
|
|
"servicePort": 0
|
|
},
|
|
"tag": "1.10.3",
|
|
"tracer": {
|
|
"datadog": {
|
|
"address": "$(HOST_IP):8126"
|
|
},
|
|
"lightstep": {
|
|
"accessToken": "",
|
|
"address": ""
|
|
},
|
|
"stackdriver": {
|
|
"debug": false,
|
|
"maxNumberOfAnnotations": 200,
|
|
"maxNumberOfAttributes": 200,
|
|
"maxNumberOfMessageEvents": 200
|
|
},
|
|
"zipkin": {
|
|
"address": ""
|
|
}
|
|
},
|
|
"useMCP": false
|
|
},
|
|
"istio_cni": {
|
|
"enabled": false
|
|
},
|
|
"revision": "",
|
|
"sidecarInjectorWebhook": {
|
|
"alwaysInjectSelector": [],
|
|
"defaultTemplates": [],
|
|
"enableNamespacesByDefault": false,
|
|
"injectedAnnotations": {},
|
|
"neverInjectSelector": [],
|
|
"objectSelector": {
|
|
"autoInject": true,
|
|
"enabled": true
|
|
},
|
|
"rewriteAppHTTPProbe": true,
|
|
"templates": {},
|
|
"useLegacySelectors": false
|
|
}
|
|
}
|
|
|
|
# To disable injection: use omitSidecarInjectorConfigMap, which disables the webhook patching
|
|
# and istiod webhook functionality.
|
|
#
|
|
# New fields should not use Values - it is a 'primary' config object, users should be able
|
|
# to fine tune it or use it with kube-inject.
|
|
config: |-
|
|
# defaultTemplates defines the default template to use for pods that do not explicitly specify a template
|
|
defaultTemplates: [sidecar]
|
|
policy: enabled
|
|
alwaysInjectSelector:
|
|
[]
|
|
neverInjectSelector:
|
|
[]
|
|
injectedAnnotations:
|
|
template: "{{ Template_Version_And_Istio_Version_Mismatched_Check_Installation }}"
|
|
templates:
|
|
sidecar: |
|
|
{{- $containers := list }}
|
|
{{- range $index, $container := .Spec.Containers }}{{ if not (eq $container.Name "istio-proxy") }}{{ $containers = append $containers $container.Name }}{{end}}{{- end}}
|
|
metadata:
|
|
labels:
|
|
security.istio.io/tlsMode: {{ index .ObjectMeta.Labels `security.istio.io/tlsMode` | default "istio" | quote }}
|
|
service.istio.io/canonical-name: {{ index .ObjectMeta.Labels `service.istio.io/canonical-name` | default (index .ObjectMeta.Labels `app.kubernetes.io/name`) | default (index .ObjectMeta.Labels `app`) | default .DeploymentMeta.Name | quote }}
|
|
service.istio.io/canonical-revision: {{ index .ObjectMeta.Labels `service.istio.io/canonical-revision` | default (index .ObjectMeta.Labels `app.kubernetes.io/version`) | default (index .ObjectMeta.Labels `version`) | default "latest" | quote }}
|
|
istio.io/rev: {{ .Revision | default "default" | quote }}
|
|
annotations: {
|
|
{{- if eq (len $containers) 1 }}
|
|
kubectl.kubernetes.io/default-logs-container: "{{ index $containers 0 }}",
|
|
kubectl.kubernetes.io/default-container: "{{ index $containers 0 }}",
|
|
{{ end }}
|
|
{{- if .Values.istio_cni.enabled }}
|
|
{{- if not .Values.istio_cni.chained }}
|
|
k8s.v1.cni.cncf.io/networks: '{{ appendMultusNetwork (index .ObjectMeta.Annotations `k8s.v1.cni.cncf.io/networks`) `istio-cni` }}',
|
|
{{- end }}
|
|
sidecar.istio.io/interceptionMode: "{{ annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode }}",
|
|
{{ with annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundIPRanges` .Values.global.proxy.includeIPRanges }}traffic.sidecar.istio.io/includeOutboundIPRanges: "{{.}}",{{ end }}
|
|
{{ with annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` .Values.global.proxy.excludeIPRanges }}traffic.sidecar.istio.io/excludeOutboundIPRanges: "{{.}}",{{ end }}
|
|
traffic.sidecar.istio.io/includeInboundPorts: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` `*` }}",
|
|
traffic.sidecar.istio.io/excludeInboundPorts: "{{ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` .Values.global.proxy.excludeInboundPorts) }}",
|
|
{{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/includeOutboundPorts`) (ne (valueOrDefault .Values.global.proxy.includeOutboundPorts "") "") }}
|
|
traffic.sidecar.istio.io/includeOutboundPorts: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundPorts` .Values.global.proxy.includeOutboundPorts }}",
|
|
{{- end }}
|
|
{{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/excludeOutboundPorts`) (ne .Values.global.proxy.excludeOutboundPorts "") }}
|
|
traffic.sidecar.istio.io/excludeOutboundPorts: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundPorts` .Values.global.proxy.excludeOutboundPorts }}",
|
|
{{- end }}
|
|
{{ with index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` }}traffic.sidecar.istio.io/kubevirtInterfaces: "{{.}}",{{ end }}
|
|
{{- end }}
|
|
}
|
|
spec:
|
|
{{- $holdProxy := or .ProxyConfig.HoldApplicationUntilProxyStarts.GetValue .Values.global.proxy.holdApplicationUntilProxyStarts }}
|
|
initContainers:
|
|
{{ if ne (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `NONE` }}
|
|
{{ if .Values.istio_cni.enabled -}}
|
|
- name: istio-validation
|
|
{{ else -}}
|
|
- name: istio-init
|
|
{{ end -}}
|
|
{{- if contains "/" (annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy_init.image) }}
|
|
image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy_init.image }}"
|
|
{{- else }}
|
|
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy_init.image }}:{{ .Values.global.tag }}"
|
|
{{- end }}
|
|
args:
|
|
- istio-iptables
|
|
- "-p"
|
|
- "15001"
|
|
- "-z"
|
|
- "15006"
|
|
- "-u"
|
|
- "1337"
|
|
- "-m"
|
|
- "{{ annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode }}"
|
|
- "-i"
|
|
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundIPRanges` .Values.global.proxy.includeIPRanges }}"
|
|
- "-x"
|
|
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` .Values.global.proxy.excludeIPRanges }}"
|
|
- "-b"
|
|
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` `*` }}"
|
|
- "-d"
|
|
{{- if excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` .Values.global.proxy.excludeInboundPorts) }}
|
|
- "15090,15021,{{ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` .Values.global.proxy.excludeInboundPorts) }}"
|
|
{{- else }}
|
|
- "15090,15021"
|
|
{{- end }}
|
|
{{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/includeOutboundPorts`) (ne (valueOrDefault .Values.global.proxy.includeOutboundPorts "") "") -}}
|
|
- "-q"
|
|
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundPorts` .Values.global.proxy.includeOutboundPorts }}"
|
|
{{ end -}}
|
|
{{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/excludeOutboundPorts`) (ne (valueOrDefault .Values.global.proxy.excludeOutboundPorts "") "") -}}
|
|
- "-o"
|
|
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundPorts` .Values.global.proxy.excludeOutboundPorts }}"
|
|
{{ end -}}
|
|
{{ if (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces`) -}}
|
|
- "-k"
|
|
- "{{ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` }}"
|
|
{{ end -}}
|
|
{{ if .Values.istio_cni.enabled -}}
|
|
- "--run-validation"
|
|
- "--skip-rule-apply"
|
|
{{ end -}}
|
|
{{with .Values.global.imagePullPolicy }}imagePullPolicy: "{{.}}"{{end}}
|
|
{{- if .ProxyConfig.ProxyMetadata }}
|
|
env:
|
|
{{- range $key, $value := .ProxyConfig.ProxyMetadata }}
|
|
- name: {{ $key }}
|
|
value: "{{ $value }}"
|
|
{{- end }}
|
|
{{- end }}
|
|
resources:
|
|
{{- if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit`) }}
|
|
{{- if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) }}
|
|
requests:
|
|
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) -}}
|
|
cpu: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU` }}"
|
|
{{ end }}
|
|
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -}}
|
|
memory: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory` }}"
|
|
{{ end }}
|
|
{{- end }}
|
|
{{- if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit`) }}
|
|
limits:
|
|
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit`) -}}
|
|
cpu: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit` }}"
|
|
{{ end }}
|
|
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit`) -}}
|
|
memory: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit` }}"
|
|
{{ end }}
|
|
{{- end }}
|
|
{{- else }}
|
|
{{- if .Values.global.proxy.resources }}
|
|
{{ toYaml .Values.global.proxy.resources | indent 6 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
securityContext:
|
|
allowPrivilegeEscalation: {{ .Values.global.proxy.privileged }}
|
|
privileged: {{ .Values.global.proxy.privileged }}
|
|
capabilities:
|
|
{{- if not .Values.istio_cni.enabled }}
|
|
add:
|
|
- NET_ADMIN
|
|
- NET_RAW
|
|
{{- end }}
|
|
drop:
|
|
- ALL
|
|
{{- if not .Values.istio_cni.enabled }}
|
|
readOnlyRootFilesystem: false
|
|
runAsGroup: 0
|
|
runAsNonRoot: false
|
|
runAsUser: 0
|
|
{{- else }}
|
|
readOnlyRootFilesystem: true
|
|
runAsGroup: 1337
|
|
runAsUser: 1337
|
|
runAsNonRoot: true
|
|
{{- end }}
|
|
restartPolicy: Always
|
|
{{ end -}}
|
|
{{- if eq .Values.global.proxy.enableCoreDump true }}
|
|
- name: enable-core-dump
|
|
args:
|
|
- -c
|
|
- sysctl -w kernel.core_pattern=/var/lib/istio/data/core.proxy && ulimit -c unlimited
|
|
command:
|
|
- /bin/sh
|
|
{{- if contains "/" (annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy_init.image) }}
|
|
image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy_init.image }}"
|
|
{{- else }}
|
|
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy_init.image }}:{{ .Values.global.tag }}"
|
|
{{- end }}
|
|
{{with .Values.global.imagePullPolicy }}imagePullPolicy: "{{.}}"{{end}}
|
|
resources: {}
|
|
securityContext:
|
|
allowPrivilegeEscalation: true
|
|
capabilities:
|
|
add:
|
|
- SYS_ADMIN
|
|
drop:
|
|
- ALL
|
|
privileged: true
|
|
readOnlyRootFilesystem: false
|
|
runAsGroup: 0
|
|
runAsNonRoot: false
|
|
runAsUser: 0
|
|
{{ end }}
|
|
containers:
|
|
- name: istio-proxy
|
|
{{- if contains "/" (annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image) }}
|
|
image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image }}"
|
|
{{- else }}
|
|
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy.image }}:{{ .Values.global.tag }}"
|
|
{{- end }}
|
|
ports:
|
|
- containerPort: 15090
|
|
protocol: TCP
|
|
name: http-envoy-prom
|
|
args:
|
|
- proxy
|
|
- sidecar
|
|
- --domain
|
|
- $(POD_NAMESPACE).svc.{{ .Values.global.proxy.clusterDomain }}
|
|
- --serviceCluster
|
|
{{ if ne "" (index .ObjectMeta.Labels "app") -}}
|
|
- "{{ index .ObjectMeta.Labels `app` }}.$(POD_NAMESPACE)"
|
|
{{ else -}}
|
|
- "{{ valueOrDefault .DeploymentMeta.Name `istio-proxy` }}.{{ valueOrDefault .DeploymentMeta.Namespace `default` }}"
|
|
{{ end -}}
|
|
- --proxyLogLevel={{ annotation .ObjectMeta `sidecar.istio.io/logLevel` .Values.global.proxy.logLevel }}
|
|
- --proxyComponentLogLevel={{ annotation .ObjectMeta `sidecar.istio.io/componentLogLevel` .Values.global.proxy.componentLogLevel }}
|
|
- --log_output_level={{ annotation .ObjectMeta `sidecar.istio.io/agentLogLevel` .Values.global.logging.level }}
|
|
{{- if .Values.global.sts.servicePort }}
|
|
- --stsPort={{ .Values.global.sts.servicePort }}
|
|
{{- end }}
|
|
{{- if .Values.global.logAsJson }}
|
|
- --log_as_json
|
|
{{- end }}
|
|
{{- if gt .ProxyConfig.Concurrency.GetValue 0 }}
|
|
- --concurrency
|
|
- "{{ .ProxyConfig.Concurrency.GetValue }}"
|
|
{{- end -}}
|
|
{{- if .Values.global.proxy.lifecycle }}
|
|
lifecycle:
|
|
{{ toYaml .Values.global.proxy.lifecycle | indent 6 }}
|
|
{{- else if $holdProxy }}
|
|
lifecycle:
|
|
postStart:
|
|
exec:
|
|
command:
|
|
- pilot-agent
|
|
- wait
|
|
{{- end }}
|
|
env:
|
|
{{- if eq (env "PILOT_ENABLE_INBOUND_PASSTHROUGH" "true") "false" }}
|
|
- name: REWRITE_PROBE_LEGACY_LOCALHOST_DESTINATION
|
|
value: "true"
|
|
{{- end }}
|
|
- name: JWT_POLICY
|
|
value: {{ .Values.global.jwtPolicy }}
|
|
- name: PILOT_CERT_PROVIDER
|
|
value: {{ .Values.global.pilotCertProvider }}
|
|
- name: CA_ADDR
|
|
{{- if .Values.global.caAddress }}
|
|
value: {{ .Values.global.caAddress }}
|
|
{{- else }}
|
|
value: istiod{{- if not (eq .Values.revision "") }}-{{ .Values.revision }}{{- end }}.{{ .Values.global.istioNamespace }}.svc:15012
|
|
{{- end }}
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
- name: INSTANCE_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.podIP
|
|
- name: SERVICE_ACCOUNT
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.serviceAccountName
|
|
- name: HOST_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.hostIP
|
|
- name: CANONICAL_SERVICE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['service.istio.io/canonical-name']
|
|
- name: CANONICAL_REVISION
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['service.istio.io/canonical-revision']
|
|
- name: PROXY_CONFIG
|
|
value: |
|
|
{{ protoToJSON .ProxyConfig }}
|
|
- name: ISTIO_META_POD_PORTS
|
|
value: |-
|
|
[
|
|
{{- $first := true }}
|
|
{{- range $index1, $c := .Spec.Containers }}
|
|
{{- range $index2, $p := $c.Ports }}
|
|
{{- if (structToJSON $p) }}
|
|
{{if not $first}},{{end}}{{ structToJSON $p }}
|
|
{{- $first = false }}
|
|
{{- end }}
|
|
{{- end}}
|
|
{{- end}}
|
|
]
|
|
- name: ISTIO_META_APP_CONTAINERS
|
|
value: "{{ $containers | join "," }}"
|
|
- name: ISTIO_META_CLUSTER_ID
|
|
value: "{{ valueOrDefault .Values.global.multiCluster.clusterName `Kubernetes` }}"
|
|
- name: ISTIO_META_INTERCEPTION_MODE
|
|
value: "{{ or (index .ObjectMeta.Annotations `sidecar.istio.io/interceptionMode`) .ProxyConfig.InterceptionMode.String }}"
|
|
{{- if .Values.global.network }}
|
|
- name: ISTIO_META_NETWORK
|
|
value: "{{ .Values.global.network }}"
|
|
{{- end }}
|
|
{{ if .ObjectMeta.Annotations }}
|
|
- name: ISTIO_METAJSON_ANNOTATIONS
|
|
value: |
|
|
{{ toJSON .ObjectMeta.Annotations }}
|
|
{{ end }}
|
|
{{- if .DeploymentMeta.Name }}
|
|
- name: ISTIO_META_WORKLOAD_NAME
|
|
value: "{{ .DeploymentMeta.Name }}"
|
|
{{ end }}
|
|
{{- if and .TypeMeta.APIVersion .DeploymentMeta.Name }}
|
|
- name: ISTIO_META_OWNER
|
|
value: kubernetes://apis/{{ .TypeMeta.APIVersion }}/namespaces/{{ valueOrDefault .DeploymentMeta.Namespace `default` }}/{{ toLower .TypeMeta.Kind}}s/{{ .DeploymentMeta.Name }}
|
|
{{- end}}
|
|
{{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }}
|
|
- name: ISTIO_BOOTSTRAP_OVERRIDE
|
|
value: "/etc/istio/custom-bootstrap/custom_bootstrap.json"
|
|
{{- end }}
|
|
{{- if .Values.global.meshID }}
|
|
- name: ISTIO_META_MESH_ID
|
|
value: "{{ .Values.global.meshID }}"
|
|
{{- else if (valueOrDefault .MeshConfig.TrustDomain .Values.global.trustDomain) }}
|
|
- name: ISTIO_META_MESH_ID
|
|
value: "{{ (valueOrDefault .MeshConfig.TrustDomain .Values.global.trustDomain) }}"
|
|
{{- end }}
|
|
{{- with (valueOrDefault .MeshConfig.TrustDomain .Values.global.trustDomain) }}
|
|
- name: TRUST_DOMAIN
|
|
value: "{{ . }}"
|
|
{{- end }}
|
|
{{- if and (eq .Values.global.proxy.tracer "datadog") (isset .ObjectMeta.Annotations `apm.datadoghq.com/env`) }}
|
|
{{- range $key, $value := fromJSON (index .ObjectMeta.Annotations `apm.datadoghq.com/env`) }}
|
|
- name: {{ $key }}
|
|
value: "{{ $value }}"
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- range $key, $value := .ProxyConfig.ProxyMetadata }}
|
|
- name: {{ $key }}
|
|
value: "{{ $value }}"
|
|
{{- end }}
|
|
{{with .Values.global.imagePullPolicy }}imagePullPolicy: "{{.}}"{{end}}
|
|
{{ if ne (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) `0` }}
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /healthz/ready
|
|
port: 15021
|
|
initialDelaySeconds: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/initialDelaySeconds` .Values.global.proxy.readinessInitialDelaySeconds }}
|
|
periodSeconds: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/periodSeconds` .Values.global.proxy.readinessPeriodSeconds }}
|
|
timeoutSeconds: 3
|
|
failureThreshold: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/failureThreshold` .Values.global.proxy.readinessFailureThreshold }}
|
|
{{ end -}}
|
|
securityContext:
|
|
allowPrivilegeEscalation: {{ .Values.global.proxy.privileged }}
|
|
capabilities:
|
|
{{ if or (eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY`) (eq (annotation .ObjectMeta `sidecar.istio.io/capNetBindService` .Values.global.proxy.capNetBindService) `true`) -}}
|
|
add:
|
|
{{ if eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY` -}}
|
|
- NET_ADMIN
|
|
{{- end }}
|
|
{{ if eq (annotation .ObjectMeta `sidecar.istio.io/capNetBindService` .Values.global.proxy.capNetBindService) `true` -}}
|
|
- NET_BIND_SERVICE
|
|
{{- end }}
|
|
{{- end }}
|
|
drop:
|
|
- ALL
|
|
privileged: {{ .Values.global.proxy.privileged }}
|
|
readOnlyRootFilesystem: {{ not .Values.global.proxy.enableCoreDump }}
|
|
runAsGroup: 1337
|
|
fsGroup: 1337
|
|
{{ if or (eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY`) (eq (annotation .ObjectMeta `sidecar.istio.io/capNetBindService` .Values.global.proxy.capNetBindService) `true`) -}}
|
|
runAsNonRoot: false
|
|
runAsUser: 0
|
|
{{- else -}}
|
|
runAsNonRoot: true
|
|
runAsUser: 1337
|
|
{{- end }}
|
|
resources:
|
|
{{- if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit`) }}
|
|
{{- if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) }}
|
|
requests:
|
|
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) -}}
|
|
cpu: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU` }}"
|
|
{{ end }}
|
|
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -}}
|
|
memory: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory` }}"
|
|
{{ end }}
|
|
{{- end }}
|
|
{{- if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit`) }}
|
|
limits:
|
|
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit`) -}}
|
|
cpu: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPULimit` }}"
|
|
{{ end }}
|
|
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit`) -}}
|
|
memory: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemoryLimit` }}"
|
|
{{ end }}
|
|
{{- end }}
|
|
{{- else }}
|
|
{{- if .Values.global.proxy.resources }}
|
|
{{ toYaml .Values.global.proxy.resources | indent 6 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
volumeMounts:
|
|
{{- if eq .Values.global.pilotCertProvider "istiod" }}
|
|
- mountPath: /var/run/secrets/istio
|
|
name: istiod-ca-cert
|
|
{{- end }}
|
|
- mountPath: /var/lib/istio/data
|
|
name: istio-data
|
|
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }}
|
|
- mountPath: /etc/istio/custom-bootstrap
|
|
name: custom-bootstrap-volume
|
|
{{- end }}
|
|
# SDS channel between istioagent and Envoy
|
|
- mountPath: /etc/istio/proxy
|
|
name: istio-envoy
|
|
{{- if eq .Values.global.jwtPolicy "third-party-jwt" }}
|
|
- mountPath: /var/run/secrets/tokens
|
|
name: istio-token
|
|
{{- end }}
|
|
{{- if .Values.global.mountMtlsCerts }}
|
|
# Use the key and cert mounted to /etc/certs/ for the in-cluster mTLS communications.
|
|
- mountPath: /etc/certs/
|
|
name: istio-certs
|
|
readOnly: true
|
|
{{- end }}
|
|
- name: istio-podinfo
|
|
mountPath: /etc/istio/pod
|
|
{{- if and (eq .Values.global.proxy.tracer "lightstep") .ProxyConfig.GetTracing.GetTlsSettings }}
|
|
- mountPath: {{ directory .ProxyConfig.GetTracing.GetTlsSettings.GetCaCertificates }}
|
|
name: lightstep-certs
|
|
readOnly: true
|
|
{{- end }}
|
|
{{- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount` }}
|
|
{{ range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount`) }}
|
|
- name: "{{ $index }}"
|
|
{{ toYaml $value | indent 6 }}
|
|
{{ end }}
|
|
{{- end }}
|
|
volumes:
|
|
{{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }}
|
|
- name: custom-bootstrap-volume
|
|
configMap:
|
|
name: {{ annotation .ObjectMeta `sidecar.istio.io/bootstrapOverride` "" }}
|
|
{{- end }}
|
|
# SDS channel between istioagent and Envoy
|
|
- emptyDir:
|
|
medium: Memory
|
|
name: istio-envoy
|
|
- name: istio-data
|
|
emptyDir: {}
|
|
- name: istio-podinfo
|
|
downwardAPI:
|
|
items:
|
|
- path: "labels"
|
|
fieldRef:
|
|
fieldPath: metadata.labels
|
|
- path: "annotations"
|
|
fieldRef:
|
|
fieldPath: metadata.annotations
|
|
- path: "cpu-limit"
|
|
resourceFieldRef:
|
|
containerName: istio-proxy
|
|
resource: limits.cpu
|
|
divisor: 1m
|
|
- path: "cpu-request"
|
|
resourceFieldRef:
|
|
containerName: istio-proxy
|
|
resource: requests.cpu
|
|
divisor: 1m
|
|
{{- if eq .Values.global.jwtPolicy "third-party-jwt" }}
|
|
- name: istio-token
|
|
projected:
|
|
sources:
|
|
- serviceAccountToken:
|
|
path: istio-token
|
|
expirationSeconds: 43200
|
|
audience: {{ .Values.global.sds.token.aud }}
|
|
{{- end }}
|
|
{{- if eq .Values.global.pilotCertProvider "istiod" }}
|
|
- name: istiod-ca-cert
|
|
configMap:
|
|
name: istio-ca-root-cert
|
|
{{- end }}
|
|
{{- if .Values.global.mountMtlsCerts }}
|
|
# Use the key and cert mounted to /etc/certs/ for the in-cluster mTLS communications.
|
|
- name: istio-certs
|
|
secret:
|
|
optional: true
|
|
{{ if eq .Spec.ServiceAccountName "" }}
|
|
secretName: istio.default
|
|
{{ else -}}
|
|
secretName: {{ printf "istio.%s" .Spec.ServiceAccountName }}
|
|
{{ end -}}
|
|
{{- end }}
|
|
{{- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolume` }}
|
|
{{range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolume`) }}
|
|
- name: "{{ $index }}"
|
|
{{ toYaml $value | indent 4 }}
|
|
{{ end }}
|
|
{{ end }}
|
|
{{- if and (eq .Values.global.proxy.tracer "lightstep") .ProxyConfig.GetTracing.GetTlsSettings }}
|
|
- name: lightstep-certs
|
|
secret:
|
|
optional: true
|
|
secretName: lightstep.cacert
|
|
{{- end }}
|
|
{{- if .Values.global.imagePullSecrets }}
|
|
imagePullSecrets:
|
|
{{- range .Values.global.imagePullSecrets }}
|
|
- name: {{ . }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if eq (env "ENABLE_LEGACY_FSGROUP_INJECTION" "true") "true" }}
|
|
securityContext:
|
|
fsGroup: 1337
|
|
{{- end }}
|
|
gateway: |
|
|
{{- $containers := list }}
|
|
{{- range $index, $container := .Spec.Containers }}{{ if not (eq $container.Name "istio-proxy") }}{{ $containers = append $containers $container.Name }}{{end}}{{- end}}
|
|
metadata:
|
|
labels:
|
|
service.istio.io/canonical-name: {{ index .ObjectMeta.Labels `service.istio.io/canonical-name` | default (index .ObjectMeta.Labels `app.kubernetes.io/name`) | default (index .ObjectMeta.Labels `app`) | default .DeploymentMeta.Name | quote }}
|
|
service.istio.io/canonical-revision: {{ index .ObjectMeta.Labels `service.istio.io/canonical-revision` | default (index .ObjectMeta.Labels `app.kubernetes.io/version`) | default (index .ObjectMeta.Labels `version`) | default "latest" | quote }}
|
|
istio.io/rev: {{ .Revision | default "default" | quote }}
|
|
annotations: {
|
|
{{- if eq (len $containers) 1 }}
|
|
kubectl.kubernetes.io/default-logs-container: "{{ index $containers 0 }}",
|
|
kubectl.kubernetes.io/default-container: "{{ index $containers 0 }}",
|
|
{{ end }}
|
|
}
|
|
spec:
|
|
containers:
|
|
- name: istio-proxy
|
|
{{- if contains "/" .Values.global.proxy.image }}
|
|
image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image }}"
|
|
{{- else }}
|
|
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy.image }}:{{ .Values.global.tag }}"
|
|
{{- end }}
|
|
ports:
|
|
- containerPort: 15090
|
|
protocol: TCP
|
|
name: http-envoy-prom
|
|
args:
|
|
- proxy
|
|
- router
|
|
- --domain
|
|
- $(POD_NAMESPACE).svc.{{ .Values.global.proxy.clusterDomain }}
|
|
- --serviceCluster
|
|
{{ if ne "" (index .ObjectMeta.Labels "app") -}}
|
|
- "{{ index .ObjectMeta.Labels `app` }}.$(POD_NAMESPACE)"
|
|
{{ else -}}
|
|
- "{{ valueOrDefault .DeploymentMeta.Name `istio-proxy` }}.{{ valueOrDefault .DeploymentMeta.Namespace `default` }}"
|
|
{{ end -}}
|
|
- --proxyLogLevel={{ annotation .ObjectMeta `sidecar.istio.io/logLevel` .Values.global.proxy.logLevel }}
|
|
- --proxyComponentLogLevel={{ annotation .ObjectMeta `sidecar.istio.io/componentLogLevel` .Values.global.proxy.componentLogLevel }}
|
|
- --log_output_level={{ annotation .ObjectMeta `sidecar.istio.io/agentLogLevel` .Values.global.logging.level }}
|
|
{{- if .Values.global.sts.servicePort }}
|
|
- --stsPort={{ .Values.global.sts.servicePort }}
|
|
{{- end }}
|
|
{{- if .Values.global.logAsJson }}
|
|
- --log_as_json
|
|
{{- end }}
|
|
{{- if .Values.global.proxy.lifecycle }}
|
|
lifecycle:
|
|
{{ toYaml .Values.global.proxy.lifecycle | indent 6 }}
|
|
{{- end }}
|
|
env:
|
|
- name: JWT_POLICY
|
|
value: {{ .Values.global.jwtPolicy }}
|
|
- name: PILOT_CERT_PROVIDER
|
|
value: {{ .Values.global.pilotCertProvider }}
|
|
- name: CA_ADDR
|
|
{{- if .Values.global.caAddress }}
|
|
value: {{ .Values.global.caAddress }}
|
|
{{- else }}
|
|
value: istiod{{- if not (eq .Values.revision "") }}-{{ .Values.revision }}{{- end }}.{{ .Values.global.istioNamespace }}.svc:15012
|
|
{{- end }}
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
- name: INSTANCE_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.podIP
|
|
- name: SERVICE_ACCOUNT
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.serviceAccountName
|
|
- name: HOST_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.hostIP
|
|
- name: CANONICAL_SERVICE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['service.istio.io/canonical-name']
|
|
- name: CANONICAL_REVISION
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['service.istio.io/canonical-revision']
|
|
- name: PROXY_CONFIG
|
|
value: |
|
|
{{ protoToJSON .ProxyConfig }}
|
|
- name: ISTIO_META_POD_PORTS
|
|
value: |-
|
|
[
|
|
{{- $first := true }}
|
|
{{- range $index1, $c := .Spec.Containers }}
|
|
{{- range $index2, $p := $c.Ports }}
|
|
{{- if (structToJSON $p) }}
|
|
{{if not $first}},{{end}}{{ structToJSON $p }}
|
|
{{- $first = false }}
|
|
{{- end }}
|
|
{{- end}}
|
|
{{- end}}
|
|
]
|
|
- name: ISTIO_META_APP_CONTAINERS
|
|
value: "{{ $containers | join "," }}"
|
|
- name: ISTIO_META_CLUSTER_ID
|
|
value: "{{ valueOrDefault .Values.global.multiCluster.clusterName `Kubernetes` }}"
|
|
- name: ISTIO_META_INTERCEPTION_MODE
|
|
value: "{{ .ProxyConfig.InterceptionMode.String }}"
|
|
{{- if .Values.global.network }}
|
|
- name: ISTIO_META_NETWORK
|
|
value: "{{ .Values.global.network }}"
|
|
{{- end }}
|
|
{{ if .ObjectMeta.Annotations }}
|
|
- name: ISTIO_METAJSON_ANNOTATIONS
|
|
value: |
|
|
{{ toJSON .ObjectMeta.Annotations }}
|
|
{{ end }}
|
|
{{- if .DeploymentMeta.Name }}
|
|
- name: ISTIO_META_WORKLOAD_NAME
|
|
value: "{{ .DeploymentMeta.Name }}"
|
|
{{ end }}
|
|
{{- if and .TypeMeta.APIVersion .DeploymentMeta.Name }}
|
|
- name: ISTIO_META_OWNER
|
|
value: kubernetes://apis/{{ .TypeMeta.APIVersion }}/namespaces/{{ valueOrDefault .DeploymentMeta.Namespace `default` }}/{{ toLower .TypeMeta.Kind}}s/{{ .DeploymentMeta.Name }}
|
|
{{- end}}
|
|
{{- if .Values.global.meshID }}
|
|
- name: ISTIO_META_MESH_ID
|
|
value: "{{ .Values.global.meshID }}"
|
|
{{- else if (valueOrDefault .MeshConfig.TrustDomain .Values.global.trustDomain) }}
|
|
- name: ISTIO_META_MESH_ID
|
|
value: "{{ (valueOrDefault .MeshConfig.TrustDomain .Values.global.trustDomain) }}"
|
|
{{- end }}
|
|
{{- with (valueOrDefault .MeshConfig.TrustDomain .Values.global.trustDomain) }}
|
|
- name: TRUST_DOMAIN
|
|
value: "{{ . }}"
|
|
{{- end }}
|
|
{{- range $key, $value := .ProxyConfig.ProxyMetadata }}
|
|
- name: {{ $key }}
|
|
value: "{{ $value }}"
|
|
{{- end }}
|
|
{{with .Values.global.imagePullPolicy }}imagePullPolicy: "{{.}}"{{end}}
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /healthz/ready
|
|
port: 15021
|
|
initialDelaySeconds: {{.Values.global.proxy.readinessInitialDelaySeconds }}
|
|
periodSeconds: {{ .Values.global.proxy.readinessPeriodSeconds }}
|
|
timeoutSeconds: 3
|
|
failureThreshold: {{ .Values.global.proxy.readinessFailureThreshold }}
|
|
volumeMounts:
|
|
{{- if eq .Values.global.pilotCertProvider "istiod" }}
|
|
- mountPath: /var/run/secrets/istio
|
|
name: istiod-ca-cert
|
|
{{- end }}
|
|
- mountPath: /var/lib/istio/data
|
|
name: istio-data
|
|
# SDS channel between istioagent and Envoy
|
|
- mountPath: /etc/istio/proxy
|
|
name: istio-envoy
|
|
{{- if eq .Values.global.jwtPolicy "third-party-jwt" }}
|
|
- mountPath: /var/run/secrets/tokens
|
|
name: istio-token
|
|
{{- end }}
|
|
{{- if .Values.global.mountMtlsCerts }}
|
|
# Use the key and cert mounted to /etc/certs/ for the in-cluster mTLS communications.
|
|
- mountPath: /etc/certs/
|
|
name: istio-certs
|
|
readOnly: true
|
|
{{- end }}
|
|
- name: istio-podinfo
|
|
mountPath: /etc/istio/pod
|
|
volumes:
|
|
# SDS channel between istioagent and Envoy
|
|
- emptyDir:
|
|
medium: Memory
|
|
name: istio-envoy
|
|
- name: istio-data
|
|
emptyDir: {}
|
|
- name: istio-podinfo
|
|
downwardAPI:
|
|
items:
|
|
- path: "labels"
|
|
fieldRef:
|
|
fieldPath: metadata.labels
|
|
- path: "annotations"
|
|
fieldRef:
|
|
fieldPath: metadata.annotations
|
|
- path: "cpu-limit"
|
|
resourceFieldRef:
|
|
containerName: istio-proxy
|
|
resource: limits.cpu
|
|
divisor: 1m
|
|
- path: "cpu-request"
|
|
resourceFieldRef:
|
|
containerName: istio-proxy
|
|
resource: requests.cpu
|
|
divisor: 1m
|
|
{{- if eq .Values.global.jwtPolicy "third-party-jwt" }}
|
|
- name: istio-token
|
|
projected:
|
|
sources:
|
|
- serviceAccountToken:
|
|
path: istio-token
|
|
expirationSeconds: 43200
|
|
audience: {{ .Values.global.sds.token.aud }}
|
|
{{- end }}
|
|
{{- if eq .Values.global.pilotCertProvider "istiod" }}
|
|
- name: istiod-ca-cert
|
|
configMap:
|
|
name: istio-ca-root-cert
|
|
{{- end }}
|
|
{{- if .Values.global.mountMtlsCerts }}
|
|
# Use the key and cert mounted to /etc/certs/ for the in-cluster mTLS communications.
|
|
- name: istio-certs
|
|
secret:
|
|
optional: true
|
|
{{ if eq .Spec.ServiceAccountName "" }}
|
|
secretName: istio.default
|
|
{{ else -}}
|
|
secretName: {{ printf "istio.%s" .Spec.ServiceAccountName }}
|
|
{{ end -}}
|
|
{{- end }}
|
|
{{- if .Values.global.imagePullSecrets }}
|
|
imagePullSecrets:
|
|
{{- range .Values.global.imagePullSecrets }}
|
|
- name: {{ . }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if eq (env "ENABLE_LEGACY_FSGROUP_INJECTION" "true") "true" }}
|
|
securityContext:
|
|
fsGroup: 1337
|
|
{{- end }}
|
|
---
|
|
apiVersion: admissionregistration.k8s.io/v1
|
|
kind: MutatingWebhookConfiguration
|
|
metadata:
|
|
name: istio-sidecar-injector
|
|
labels:
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "Pilot"
|
|
app: sidecar-injector
|
|
release: istio
|
|
webhooks:
|
|
- name: rev.namespace.sidecar-injector.istio.io
|
|
clientConfig:
|
|
service:
|
|
name: istiod
|
|
namespace: istio-system
|
|
path: "/inject"
|
|
port: 443
|
|
caBundle: ""
|
|
sideEffects: None
|
|
rules:
|
|
- operations: [ "CREATE" ]
|
|
apiGroups: [""]
|
|
apiVersions: ["v1"]
|
|
resources: ["pods"]
|
|
failurePolicy: Fail
|
|
admissionReviewVersions: ["v1beta1", "v1"]
|
|
namespaceSelector:
|
|
matchExpressions:
|
|
- key: istio.io/rev
|
|
operator: In
|
|
values:
|
|
- "default"
|
|
- key: istio-injection
|
|
operator: DoesNotExist
|
|
objectSelector:
|
|
matchExpressions:
|
|
- key: sidecar.istio.io/inject
|
|
operator: NotIn
|
|
values:
|
|
- "false"
|
|
- name: rev.object.sidecar-injector.istio.io
|
|
clientConfig:
|
|
service:
|
|
name: istiod
|
|
namespace: istio-system
|
|
path: "/inject"
|
|
port: 443
|
|
caBundle: ""
|
|
sideEffects: None
|
|
rules:
|
|
- operations: [ "CREATE" ]
|
|
apiGroups: [""]
|
|
apiVersions: ["v1"]
|
|
resources: ["pods"]
|
|
failurePolicy: Fail
|
|
admissionReviewVersions: ["v1beta1", "v1"]
|
|
namespaceSelector:
|
|
matchExpressions:
|
|
- key: istio.io/rev
|
|
operator: DoesNotExist
|
|
- key: istio-injection
|
|
operator: DoesNotExist
|
|
objectSelector:
|
|
matchExpressions:
|
|
- key: sidecar.istio.io/inject
|
|
operator: NotIn
|
|
values:
|
|
- "false"
|
|
- key: istio.io/rev
|
|
operator: In
|
|
values:
|
|
- "default"
|
|
- name: namespace.sidecar-injector.istio.io
|
|
clientConfig:
|
|
service:
|
|
name: istiod
|
|
namespace: istio-system
|
|
path: "/inject"
|
|
port: 443
|
|
caBundle: ""
|
|
sideEffects: None
|
|
rules:
|
|
- operations: [ "CREATE" ]
|
|
apiGroups: [""]
|
|
apiVersions: ["v1"]
|
|
resources: ["pods"]
|
|
failurePolicy: Fail
|
|
admissionReviewVersions: ["v1beta1", "v1"]
|
|
namespaceSelector:
|
|
matchExpressions:
|
|
- key: istio-injection
|
|
operator: In
|
|
values:
|
|
- enabled
|
|
objectSelector:
|
|
matchExpressions:
|
|
- key: sidecar.istio.io/inject
|
|
operator: NotIn
|
|
values:
|
|
- "false"
|
|
- name: object.sidecar-injector.istio.io
|
|
clientConfig:
|
|
service:
|
|
name: istiod
|
|
namespace: istio-system
|
|
path: "/inject"
|
|
port: 443
|
|
caBundle: ""
|
|
sideEffects: None
|
|
rules:
|
|
- operations: [ "CREATE" ]
|
|
apiGroups: [""]
|
|
apiVersions: ["v1"]
|
|
resources: ["pods"]
|
|
failurePolicy: Fail
|
|
admissionReviewVersions: ["v1beta1", "v1"]
|
|
namespaceSelector:
|
|
matchExpressions:
|
|
- key: istio-injection
|
|
operator: DoesNotExist
|
|
- key: istio.io/rev
|
|
operator: DoesNotExist
|
|
objectSelector:
|
|
matchExpressions:
|
|
- key: sidecar.istio.io/inject
|
|
operator: In
|
|
values:
|
|
- "true"
|
|
- key: istio.io/rev
|
|
operator: DoesNotExist
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: istio-egressgateway
|
|
install.operator.istio.io/owning-resource: unknown
|
|
istio: egressgateway
|
|
istio.io/rev: default
|
|
operator.istio.io/component: EgressGateways
|
|
release: istio
|
|
name: istio-egressgateway
|
|
namespace: istio-system
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: istio-egressgateway
|
|
istio: egressgateway
|
|
strategy:
|
|
rollingUpdate:
|
|
maxSurge: 100%
|
|
maxUnavailable: 25%
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/path: /stats/prometheus
|
|
prometheus.io/port: "15020"
|
|
prometheus.io/scrape: "true"
|
|
sidecar.istio.io/inject: "false"
|
|
labels:
|
|
app: istio-egressgateway
|
|
chart: gateways
|
|
heritage: Tiller
|
|
install.operator.istio.io/owning-resource: unknown
|
|
istio: egressgateway
|
|
istio.io/rev: default
|
|
operator.istio.io/component: EgressGateways
|
|
release: istio
|
|
service.istio.io/canonical-name: istio-egressgateway
|
|
service.istio.io/canonical-revision: latest
|
|
sidecar.istio.io/inject: "false"
|
|
spec:
|
|
affinity:
|
|
nodeAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- preference:
|
|
matchExpressions:
|
|
- key: kubernetes.io/arch
|
|
operator: In
|
|
values:
|
|
- amd64
|
|
weight: 2
|
|
- preference:
|
|
matchExpressions:
|
|
- key: kubernetes.io/arch
|
|
operator: In
|
|
values:
|
|
- ppc64le
|
|
weight: 2
|
|
- preference:
|
|
matchExpressions:
|
|
- key: kubernetes.io/arch
|
|
operator: In
|
|
values:
|
|
- s390x
|
|
weight: 2
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: kubernetes.io/arch
|
|
operator: In
|
|
values:
|
|
- amd64
|
|
- ppc64le
|
|
- s390x
|
|
containers:
|
|
- args:
|
|
- proxy
|
|
- router
|
|
- --domain
|
|
- $(POD_NAMESPACE).svc.cluster.local
|
|
- --proxyLogLevel=warning
|
|
- --proxyComponentLogLevel=misc:error
|
|
- --log_output_level=default:info
|
|
- --serviceCluster
|
|
- istio-egressgateway
|
|
env:
|
|
- name: JWT_POLICY
|
|
value: third-party-jwt
|
|
- name: PILOT_CERT_PROVIDER
|
|
value: istiod
|
|
- name: CA_ADDR
|
|
value: istiod.istio-system.svc:15012
|
|
- name: NODE_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: spec.nodeName
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: metadata.name
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: metadata.namespace
|
|
- name: INSTANCE_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: status.podIP
|
|
- name: HOST_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: status.hostIP
|
|
- name: SERVICE_ACCOUNT
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.serviceAccountName
|
|
- name: CANONICAL_SERVICE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['service.istio.io/canonical-name']
|
|
- name: CANONICAL_REVISION
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['service.istio.io/canonical-revision']
|
|
- name: ISTIO_META_WORKLOAD_NAME
|
|
value: istio-egressgateway
|
|
- name: ISTIO_META_OWNER
|
|
value: kubernetes://apis/apps/v1/namespaces/istio-system/deployments/istio-egressgateway
|
|
- name: ISTIO_META_MESH_ID
|
|
value: cluster.local
|
|
- name: TRUST_DOMAIN
|
|
value: cluster.local
|
|
- name: ISTIO_META_UNPRIVILEGED_POD
|
|
value: "true"
|
|
- name: ISTIO_META_ROUTER_MODE
|
|
value: standard
|
|
- name: ISTIO_META_CLUSTER_ID
|
|
value: Kubernetes
|
|
image: docker.io/istio/proxyv2:1.10.3
|
|
name: istio-proxy
|
|
ports:
|
|
- containerPort: 8080
|
|
protocol: TCP
|
|
- containerPort: 8443
|
|
protocol: TCP
|
|
- containerPort: 15090
|
|
name: http-envoy-prom
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 30
|
|
httpGet:
|
|
path: /healthz/ready
|
|
port: 15021
|
|
scheme: HTTP
|
|
initialDelaySeconds: 1
|
|
periodSeconds: 2
|
|
successThreshold: 1
|
|
timeoutSeconds: 1
|
|
resources:
|
|
limits:
|
|
cpu: 2000m
|
|
memory: 1024Mi
|
|
requests:
|
|
cpu: 10m
|
|
memory: 40Mi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
readOnlyRootFilesystem: true
|
|
volumeMounts:
|
|
- mountPath: /etc/istio/proxy
|
|
name: istio-envoy
|
|
- mountPath: /etc/istio/config
|
|
name: config-volume
|
|
- mountPath: /var/run/secrets/istio
|
|
name: istiod-ca-cert
|
|
- mountPath: /var/run/secrets/tokens
|
|
name: istio-token
|
|
readOnly: true
|
|
- mountPath: /var/lib/istio/data
|
|
name: istio-data
|
|
- mountPath: /etc/istio/pod
|
|
name: podinfo
|
|
- mountPath: /etc/istio/egressgateway-certs
|
|
name: egressgateway-certs
|
|
readOnly: true
|
|
- mountPath: /etc/istio/egressgateway-ca-certs
|
|
name: egressgateway-ca-certs
|
|
readOnly: true
|
|
securityContext:
|
|
fsGroup: 1337
|
|
runAsGroup: 1337
|
|
runAsNonRoot: true
|
|
runAsUser: 1337
|
|
serviceAccountName: istio-egressgateway-service-account
|
|
volumes:
|
|
- configMap:
|
|
name: istio-ca-root-cert
|
|
name: istiod-ca-cert
|
|
- downwardAPI:
|
|
items:
|
|
- fieldRef:
|
|
fieldPath: metadata.labels
|
|
path: labels
|
|
- fieldRef:
|
|
fieldPath: metadata.annotations
|
|
path: annotations
|
|
- path: cpu-limit
|
|
resourceFieldRef:
|
|
containerName: istio-proxy
|
|
divisor: 1m
|
|
resource: limits.cpu
|
|
- path: cpu-request
|
|
resourceFieldRef:
|
|
containerName: istio-proxy
|
|
divisor: 1m
|
|
resource: requests.cpu
|
|
name: podinfo
|
|
- emptyDir: {}
|
|
name: istio-envoy
|
|
- emptyDir: {}
|
|
name: istio-data
|
|
- name: istio-token
|
|
projected:
|
|
sources:
|
|
- serviceAccountToken:
|
|
audience: istio-ca
|
|
expirationSeconds: 43200
|
|
path: istio-token
|
|
- configMap:
|
|
name: istio
|
|
optional: true
|
|
name: config-volume
|
|
- name: egressgateway-certs
|
|
secret:
|
|
optional: true
|
|
secretName: istio-egressgateway-certs
|
|
- name: egressgateway-ca-certs
|
|
secret:
|
|
optional: true
|
|
secretName: istio-egressgateway-ca-certs
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: istio-ingressgateway
|
|
install.operator.istio.io/owning-resource: unknown
|
|
istio: ingressgateway
|
|
istio.io/rev: default
|
|
operator.istio.io/component: IngressGateways
|
|
release: istio
|
|
name: istio-ingressgateway
|
|
namespace: istio-system
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: istio-ingressgateway
|
|
istio: ingressgateway
|
|
strategy:
|
|
rollingUpdate:
|
|
maxSurge: 100%
|
|
maxUnavailable: 25%
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/path: /stats/prometheus
|
|
prometheus.io/port: "15020"
|
|
prometheus.io/scrape: "true"
|
|
sidecar.istio.io/inject: "false"
|
|
labels:
|
|
app: istio-ingressgateway
|
|
chart: gateways
|
|
heritage: Tiller
|
|
install.operator.istio.io/owning-resource: unknown
|
|
istio: ingressgateway
|
|
istio.io/rev: default
|
|
operator.istio.io/component: IngressGateways
|
|
release: istio
|
|
service.istio.io/canonical-name: istio-ingressgateway
|
|
service.istio.io/canonical-revision: latest
|
|
sidecar.istio.io/inject: "false"
|
|
spec:
|
|
affinity:
|
|
nodeAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- preference:
|
|
matchExpressions:
|
|
- key: kubernetes.io/arch
|
|
operator: In
|
|
values:
|
|
- amd64
|
|
weight: 2
|
|
- preference:
|
|
matchExpressions:
|
|
- key: kubernetes.io/arch
|
|
operator: In
|
|
values:
|
|
- ppc64le
|
|
weight: 2
|
|
- preference:
|
|
matchExpressions:
|
|
- key: kubernetes.io/arch
|
|
operator: In
|
|
values:
|
|
- s390x
|
|
weight: 2
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: kubernetes.io/arch
|
|
operator: In
|
|
values:
|
|
- amd64
|
|
- ppc64le
|
|
- s390x
|
|
containers:
|
|
- args:
|
|
- proxy
|
|
- router
|
|
- --domain
|
|
- $(POD_NAMESPACE).svc.cluster.local
|
|
- --proxyLogLevel=warning
|
|
- --proxyComponentLogLevel=misc:error
|
|
- --log_output_level=default:info
|
|
- --serviceCluster
|
|
- istio-ingressgateway
|
|
env:
|
|
- name: JWT_POLICY
|
|
value: third-party-jwt
|
|
- name: PILOT_CERT_PROVIDER
|
|
value: istiod
|
|
- name: CA_ADDR
|
|
value: istiod.istio-system.svc:15012
|
|
- name: NODE_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: spec.nodeName
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: metadata.name
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: metadata.namespace
|
|
- name: INSTANCE_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: status.podIP
|
|
- name: HOST_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: status.hostIP
|
|
- name: SERVICE_ACCOUNT
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.serviceAccountName
|
|
- name: CANONICAL_SERVICE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['service.istio.io/canonical-name']
|
|
- name: CANONICAL_REVISION
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.labels['service.istio.io/canonical-revision']
|
|
- name: ISTIO_META_WORKLOAD_NAME
|
|
value: istio-ingressgateway
|
|
- name: ISTIO_META_OWNER
|
|
value: kubernetes://apis/apps/v1/namespaces/istio-system/deployments/istio-ingressgateway
|
|
- name: ISTIO_META_MESH_ID
|
|
value: cluster.local
|
|
- name: TRUST_DOMAIN
|
|
value: cluster.local
|
|
- name: ISTIO_META_UNPRIVILEGED_POD
|
|
value: "true"
|
|
- name: ISTIO_META_ROUTER_MODE
|
|
value: standard
|
|
- name: ISTIO_META_CLUSTER_ID
|
|
value: Kubernetes
|
|
image: docker.io/istio/proxyv2:1.10.3
|
|
name: istio-proxy
|
|
ports:
|
|
- containerPort: 15021
|
|
protocol: TCP
|
|
- containerPort: 8080
|
|
protocol: TCP
|
|
- containerPort: 8443
|
|
protocol: TCP
|
|
- containerPort: 31400
|
|
protocol: TCP
|
|
- containerPort: 15443
|
|
protocol: TCP
|
|
- containerPort: 15090
|
|
name: http-envoy-prom
|
|
protocol: TCP
|
|
readinessProbe:
|
|
failureThreshold: 30
|
|
httpGet:
|
|
path: /healthz/ready
|
|
port: 15021
|
|
scheme: HTTP
|
|
initialDelaySeconds: 1
|
|
periodSeconds: 2
|
|
successThreshold: 1
|
|
timeoutSeconds: 1
|
|
resources:
|
|
limits:
|
|
cpu: 2000m
|
|
memory: 1024Mi
|
|
requests:
|
|
cpu: 10m
|
|
memory: 40Mi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
readOnlyRootFilesystem: true
|
|
volumeMounts:
|
|
- mountPath: /etc/istio/proxy
|
|
name: istio-envoy
|
|
- mountPath: /etc/istio/config
|
|
name: config-volume
|
|
- mountPath: /var/run/secrets/istio
|
|
name: istiod-ca-cert
|
|
- mountPath: /var/run/secrets/tokens
|
|
name: istio-token
|
|
readOnly: true
|
|
- mountPath: /var/lib/istio/data
|
|
name: istio-data
|
|
- mountPath: /etc/istio/pod
|
|
name: podinfo
|
|
- mountPath: /etc/istio/ingressgateway-certs
|
|
name: ingressgateway-certs
|
|
readOnly: true
|
|
- mountPath: /etc/istio/ingressgateway-ca-certs
|
|
name: ingressgateway-ca-certs
|
|
readOnly: true
|
|
securityContext:
|
|
fsGroup: 1337
|
|
runAsGroup: 1337
|
|
runAsNonRoot: true
|
|
runAsUser: 1337
|
|
serviceAccountName: istio-ingressgateway-service-account
|
|
volumes:
|
|
- configMap:
|
|
name: istio-ca-root-cert
|
|
name: istiod-ca-cert
|
|
- downwardAPI:
|
|
items:
|
|
- fieldRef:
|
|
fieldPath: metadata.labels
|
|
path: labels
|
|
- fieldRef:
|
|
fieldPath: metadata.annotations
|
|
path: annotations
|
|
- path: cpu-limit
|
|
resourceFieldRef:
|
|
containerName: istio-proxy
|
|
divisor: 1m
|
|
resource: limits.cpu
|
|
- path: cpu-request
|
|
resourceFieldRef:
|
|
containerName: istio-proxy
|
|
divisor: 1m
|
|
resource: requests.cpu
|
|
name: podinfo
|
|
- emptyDir: {}
|
|
name: istio-envoy
|
|
- emptyDir: {}
|
|
name: istio-data
|
|
- name: istio-token
|
|
projected:
|
|
sources:
|
|
- serviceAccountToken:
|
|
audience: istio-ca
|
|
expirationSeconds: 43200
|
|
path: istio-token
|
|
- configMap:
|
|
name: istio
|
|
optional: true
|
|
name: config-volume
|
|
- name: ingressgateway-certs
|
|
secret:
|
|
optional: true
|
|
secretName: istio-ingressgateway-certs
|
|
- name: ingressgateway-ca-certs
|
|
secret:
|
|
optional: true
|
|
secretName: istio-ingressgateway-ca-certs
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: istiod
|
|
install.operator.istio.io/owning-resource: unknown
|
|
istio: pilot
|
|
istio.io/rev: default
|
|
operator.istio.io/component: Pilot
|
|
release: istio
|
|
name: istiod
|
|
namespace: istio-system
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
istio: pilot
|
|
strategy:
|
|
rollingUpdate:
|
|
maxSurge: 100%
|
|
maxUnavailable: 25%
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/port: "15014"
|
|
prometheus.io/scrape: "true"
|
|
sidecar.istio.io/inject: "false"
|
|
labels:
|
|
app: istiod
|
|
install.operator.istio.io/owning-resource: unknown
|
|
istio: pilot
|
|
istio.io/rev: default
|
|
operator.istio.io/component: Pilot
|
|
sidecar.istio.io/inject: "false"
|
|
spec:
|
|
containers:
|
|
- args:
|
|
- discovery
|
|
- --monitoringAddr=:15014
|
|
- --log_output_level=default:info
|
|
- --domain
|
|
- cluster.local
|
|
- --keepaliveMaxServerConnectionAge
|
|
- 30m
|
|
env:
|
|
- name: REVISION
|
|
value: default
|
|
- name: JWT_POLICY
|
|
value: third-party-jwt
|
|
- name: PILOT_CERT_PROVIDER
|
|
value: istiod
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: metadata.name
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: metadata.namespace
|
|
- name: SERVICE_ACCOUNT
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: spec.serviceAccountName
|
|
- name: KUBECONFIG
|
|
value: /var/run/secrets/remote/config
|
|
- name: PILOT_TRACE_SAMPLING
|
|
value: "100"
|
|
- name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_OUTBOUND
|
|
value: "true"
|
|
- name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_INBOUND
|
|
value: "true"
|
|
- name: ISTIOD_ADDR
|
|
value: istiod.istio-system.svc:15012
|
|
- name: PILOT_ENABLE_ANALYSIS
|
|
value: "false"
|
|
- name: CLUSTER_ID
|
|
value: Kubernetes
|
|
image: docker.io/istio/pilot:1.10.3
|
|
name: discovery
|
|
ports:
|
|
- containerPort: 8080
|
|
protocol: TCP
|
|
- containerPort: 15010
|
|
protocol: TCP
|
|
- containerPort: 15017
|
|
protocol: TCP
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 8080
|
|
initialDelaySeconds: 1
|
|
periodSeconds: 3
|
|
timeoutSeconds: 5
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
memory: 100Mi
|
|
securityContext:
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
runAsGroup: 1337
|
|
runAsNonRoot: true
|
|
runAsUser: 1337
|
|
volumeMounts:
|
|
- mountPath: /var/run/secrets/tokens
|
|
name: istio-token
|
|
readOnly: true
|
|
- mountPath: /var/run/secrets/istio-dns
|
|
name: local-certs
|
|
- mountPath: /etc/cacerts
|
|
name: cacerts
|
|
readOnly: true
|
|
- mountPath: /var/run/secrets/remote
|
|
name: istio-kubeconfig
|
|
readOnly: true
|
|
nodeSelector: {}
|
|
securityContext:
|
|
fsGroup: 1337
|
|
serviceAccountName: istiod-service-account
|
|
volumes:
|
|
- emptyDir:
|
|
medium: Memory
|
|
name: local-certs
|
|
- name: istio-token
|
|
projected:
|
|
sources:
|
|
- serviceAccountToken:
|
|
audience: istio-ca
|
|
expirationSeconds: 43200
|
|
path: istio-token
|
|
- name: cacerts
|
|
secret:
|
|
optional: true
|
|
secretName: cacerts
|
|
- name: istio-kubeconfig
|
|
secret:
|
|
optional: true
|
|
secretName: istio-kubeconfig
|
|
---
|
|
apiVersion: policy/v1
|
|
kind: PodDisruptionBudget
|
|
metadata:
|
|
name: istio-egressgateway
|
|
namespace: istio-system
|
|
labels:
|
|
app: istio-egressgateway
|
|
istio: egressgateway
|
|
release: istio
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "EgressGateways"
|
|
spec:
|
|
minAvailable: 1
|
|
selector:
|
|
matchLabels:
|
|
app: istio-egressgateway
|
|
istio: egressgateway
|
|
---
|
|
apiVersion: policy/v1
|
|
kind: PodDisruptionBudget
|
|
metadata:
|
|
name: istio-ingressgateway
|
|
namespace: istio-system
|
|
labels:
|
|
app: istio-ingressgateway
|
|
istio: ingressgateway
|
|
release: istio
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "IngressGateways"
|
|
spec:
|
|
minAvailable: 1
|
|
selector:
|
|
matchLabels:
|
|
app: istio-ingressgateway
|
|
istio: ingressgateway
|
|
---
|
|
apiVersion: policy/v1
|
|
kind: PodDisruptionBudget
|
|
metadata:
|
|
name: istiod
|
|
namespace: istio-system
|
|
labels:
|
|
app: istiod
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "Pilot"
|
|
release: istio
|
|
istio: pilot
|
|
spec:
|
|
minAvailable: 1
|
|
selector:
|
|
matchLabels:
|
|
app: istiod
|
|
istio: pilot
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: istio-egressgateway-sds
|
|
namespace: istio-system
|
|
labels:
|
|
release: istio
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "EgressGateways"
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["secrets"]
|
|
verbs: ["get", "watch", "list"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: istio-ingressgateway-sds
|
|
namespace: istio-system
|
|
labels:
|
|
release: istio
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "IngressGateways"
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["secrets"]
|
|
verbs: ["get", "watch", "list"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: istiod-istio-system
|
|
namespace: istio-system
|
|
labels:
|
|
app: istiod
|
|
release: istio
|
|
rules:
|
|
- apiGroups: ["networking.istio.io"]
|
|
verbs: ["create"]
|
|
resources: ["gateways"]
|
|
|
|
- apiGroups: [""]
|
|
resources: ["secrets"]
|
|
# TODO lock this down to istio-ca-cert if not using the DNS cert mesh config
|
|
verbs: ["create", "get", "watch", "list", "update", "delete"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: istio-egressgateway-sds
|
|
namespace: istio-system
|
|
labels:
|
|
release: istio
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "EgressGateways"
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: istio-egressgateway-sds
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: istio-egressgateway-service-account
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: istio-ingressgateway-sds
|
|
namespace: istio-system
|
|
labels:
|
|
release: istio
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "IngressGateways"
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: istio-ingressgateway-sds
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: istio-ingressgateway-service-account
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: istiod-istio-system
|
|
namespace: istio-system
|
|
labels:
|
|
app: istiod
|
|
release: istio
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: istiod-istio-system
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: istiod-service-account
|
|
namespace: istio-system
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: istio-egressgateway
|
|
namespace: istio-system
|
|
annotations:
|
|
labels:
|
|
app: istio-egressgateway
|
|
istio: egressgateway
|
|
release: istio
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "EgressGateways"
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app: istio-egressgateway
|
|
istio: egressgateway
|
|
ports:
|
|
-
|
|
name: http2
|
|
port: 80
|
|
protocol: TCP
|
|
targetPort: 8080
|
|
-
|
|
name: https
|
|
port: 443
|
|
protocol: TCP
|
|
targetPort: 8443
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations: null
|
|
labels:
|
|
app: istio-ingressgateway
|
|
install.operator.istio.io/owning-resource: unknown
|
|
istio: ingressgateway
|
|
istio.io/rev: default
|
|
operator.istio.io/component: IngressGateways
|
|
release: istio
|
|
name: istio-ingressgateway
|
|
namespace: istio-system
|
|
spec:
|
|
ports:
|
|
- name: status-port
|
|
port: 15021
|
|
protocol: TCP
|
|
targetPort: 15021
|
|
- name: http2
|
|
port: 80
|
|
protocol: TCP
|
|
targetPort: 8080
|
|
- name: https
|
|
port: 443
|
|
protocol: TCP
|
|
targetPort: 8443
|
|
- name: tcp
|
|
port: 31400
|
|
protocol: TCP
|
|
targetPort: 31400
|
|
- name: tls
|
|
port: 15443
|
|
protocol: TCP
|
|
targetPort: 15443
|
|
selector:
|
|
app: istio-ingressgateway
|
|
istio: ingressgateway
|
|
type: LoadBalancer
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: istiod
|
|
namespace: istio-system
|
|
labels:
|
|
istio.io/rev: default
|
|
install.operator.istio.io/owning-resource: unknown
|
|
operator.istio.io/component: "Pilot"
|
|
app: istiod
|
|
istio: pilot
|
|
release: istio
|
|
spec:
|
|
ports:
|
|
- port: 15010
|
|
name: grpc-xds # plaintext
|
|
protocol: TCP
|
|
- port: 15012
|
|
name: https-dns # mTLS with k8s-signed cert
|
|
protocol: TCP
|
|
- port: 443
|
|
name: https-webhook # validation and injection
|
|
targetPort: 15017
|
|
protocol: TCP
|
|
- port: 15014
|
|
name: http-monitoring # prometheus stats
|
|
protocol: TCP
|
|
selector:
|
|
app: istiod
|
|
# Label used by the 'default' service. For versioned deployments we match with app and version.
|
|
# This avoids default deployment picking the canary
|
|
istio: pilot
|
|
---
|
|
# Prometheus Starts Here, from the Istio Integrations
|
|
---
|
|
# Source: prometheus/templates/server/serviceaccount.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
labels:
|
|
component: "server"
|
|
app: prometheus
|
|
release: prometheus
|
|
chart: prometheus-11.16.2
|
|
heritage: Helm
|
|
name: prometheus
|
|
namespace: istio-system
|
|
annotations:
|
|
{}
|
|
---
|
|
# Source: prometheus/templates/server/cm.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
component: "server"
|
|
app: prometheus
|
|
release: prometheus
|
|
chart: prometheus-11.16.2
|
|
heritage: Helm
|
|
name: prometheus
|
|
namespace: istio-system
|
|
data:
|
|
alerting_rules.yml: |
|
|
{}
|
|
alerts: |
|
|
{}
|
|
prometheus.yml: |
|
|
global:
|
|
evaluation_interval: 1m
|
|
scrape_interval: 15s
|
|
scrape_timeout: 10s
|
|
rule_files:
|
|
- /etc/config/recording_rules.yml
|
|
- /etc/config/alerting_rules.yml
|
|
- /etc/config/rules
|
|
- /etc/config/alerts
|
|
scrape_configs:
|
|
- job_name: prometheus
|
|
static_configs:
|
|
- targets:
|
|
- localhost:9090
|
|
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
|
job_name: kubernetes-apiservers
|
|
kubernetes_sd_configs:
|
|
- role: endpoints
|
|
relabel_configs:
|
|
- action: keep
|
|
regex: default;kubernetes;https
|
|
source_labels:
|
|
- __meta_kubernetes_namespace
|
|
- __meta_kubernetes_service_name
|
|
- __meta_kubernetes_endpoint_port_name
|
|
scheme: https
|
|
tls_config:
|
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
|
insecure_skip_verify: true
|
|
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
|
job_name: kubernetes-nodes
|
|
kubernetes_sd_configs:
|
|
- role: node
|
|
relabel_configs:
|
|
- action: labelmap
|
|
regex: __meta_kubernetes_node_label_(.+)
|
|
- replacement: kubernetes.default.svc:443
|
|
target_label: __address__
|
|
- regex: (.+)
|
|
replacement: /api/v1/nodes/$1/proxy/metrics
|
|
source_labels:
|
|
- __meta_kubernetes_node_name
|
|
target_label: __metrics_path__
|
|
scheme: https
|
|
tls_config:
|
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
|
insecure_skip_verify: true
|
|
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
|
|
job_name: kubernetes-nodes-cadvisor
|
|
kubernetes_sd_configs:
|
|
- role: node
|
|
relabel_configs:
|
|
- action: labelmap
|
|
regex: __meta_kubernetes_node_label_(.+)
|
|
- replacement: kubernetes.default.svc:443
|
|
target_label: __address__
|
|
- regex: (.+)
|
|
replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
|
|
source_labels:
|
|
- __meta_kubernetes_node_name
|
|
target_label: __metrics_path__
|
|
scheme: https
|
|
tls_config:
|
|
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
|
insecure_skip_verify: true
|
|
- job_name: kubernetes-service-endpoints
|
|
kubernetes_sd_configs:
|
|
- role: endpoints
|
|
relabel_configs:
|
|
- action: keep
|
|
regex: true
|
|
source_labels:
|
|
- __meta_kubernetes_service_annotation_prometheus_io_scrape
|
|
- action: replace
|
|
regex: (https?)
|
|
source_labels:
|
|
- __meta_kubernetes_service_annotation_prometheus_io_scheme
|
|
target_label: __scheme__
|
|
- action: replace
|
|
regex: (.+)
|
|
source_labels:
|
|
- __meta_kubernetes_service_annotation_prometheus_io_path
|
|
target_label: __metrics_path__
|
|
- action: replace
|
|
regex: ([^:]+)(?::\d+)?;(\d+)
|
|
replacement: $1:$2
|
|
source_labels:
|
|
- __address__
|
|
- __meta_kubernetes_service_annotation_prometheus_io_port
|
|
target_label: __address__
|
|
- action: labelmap
|
|
regex: __meta_kubernetes_service_label_(.+)
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_namespace
|
|
target_label: kubernetes_namespace
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_service_name
|
|
target_label: kubernetes_name
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_pod_node_name
|
|
target_label: kubernetes_node
|
|
- job_name: kubernetes-service-endpoints-slow
|
|
kubernetes_sd_configs:
|
|
- role: endpoints
|
|
relabel_configs:
|
|
- action: keep
|
|
regex: true
|
|
source_labels:
|
|
- __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
|
|
- action: replace
|
|
regex: (https?)
|
|
source_labels:
|
|
- __meta_kubernetes_service_annotation_prometheus_io_scheme
|
|
target_label: __scheme__
|
|
- action: replace
|
|
regex: (.+)
|
|
source_labels:
|
|
- __meta_kubernetes_service_annotation_prometheus_io_path
|
|
target_label: __metrics_path__
|
|
- action: replace
|
|
regex: ([^:]+)(?::\d+)?;(\d+)
|
|
replacement: $1:$2
|
|
source_labels:
|
|
- __address__
|
|
- __meta_kubernetes_service_annotation_prometheus_io_port
|
|
target_label: __address__
|
|
- action: labelmap
|
|
regex: __meta_kubernetes_service_label_(.+)
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_namespace
|
|
target_label: kubernetes_namespace
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_service_name
|
|
target_label: kubernetes_name
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_pod_node_name
|
|
target_label: kubernetes_node
|
|
scrape_interval: 5m
|
|
scrape_timeout: 30s
|
|
- honor_labels: true
|
|
job_name: prometheus-pushgateway
|
|
kubernetes_sd_configs:
|
|
- role: service
|
|
relabel_configs:
|
|
- action: keep
|
|
regex: pushgateway
|
|
source_labels:
|
|
- __meta_kubernetes_service_annotation_prometheus_io_probe
|
|
- job_name: kubernetes-services
|
|
kubernetes_sd_configs:
|
|
- role: service
|
|
metrics_path: /probe
|
|
params:
|
|
module:
|
|
- http_2xx
|
|
relabel_configs:
|
|
- action: keep
|
|
regex: true
|
|
source_labels:
|
|
- __meta_kubernetes_service_annotation_prometheus_io_probe
|
|
- source_labels:
|
|
- __address__
|
|
target_label: __param_target
|
|
- replacement: blackbox
|
|
target_label: __address__
|
|
- source_labels:
|
|
- __param_target
|
|
target_label: instance
|
|
- action: labelmap
|
|
regex: __meta_kubernetes_service_label_(.+)
|
|
- source_labels:
|
|
- __meta_kubernetes_namespace
|
|
target_label: kubernetes_namespace
|
|
- source_labels:
|
|
- __meta_kubernetes_service_name
|
|
target_label: kubernetes_name
|
|
- job_name: kubernetes-pods
|
|
kubernetes_sd_configs:
|
|
- role: pod
|
|
relabel_configs:
|
|
- action: keep
|
|
regex: true
|
|
source_labels:
|
|
- __meta_kubernetes_pod_annotation_prometheus_io_scrape
|
|
- action: replace
|
|
regex: (.+)
|
|
source_labels:
|
|
- __meta_kubernetes_pod_annotation_prometheus_io_path
|
|
target_label: __metrics_path__
|
|
- action: replace
|
|
regex: ([^:]+)(?::\d+)?;(\d+)
|
|
replacement: $1:$2
|
|
source_labels:
|
|
- __address__
|
|
- __meta_kubernetes_pod_annotation_prometheus_io_port
|
|
target_label: __address__
|
|
- action: labelmap
|
|
regex: __meta_kubernetes_pod_label_(.+)
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_namespace
|
|
target_label: kubernetes_namespace
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_pod_name
|
|
target_label: kubernetes_pod_name
|
|
- action: drop
|
|
regex: Pending|Succeeded|Failed
|
|
source_labels:
|
|
- __meta_kubernetes_pod_phase
|
|
- job_name: kubernetes-pods-slow
|
|
kubernetes_sd_configs:
|
|
- role: pod
|
|
relabel_configs:
|
|
- action: keep
|
|
regex: true
|
|
source_labels:
|
|
- __meta_kubernetes_pod_annotation_prometheus_io_scrape_slow
|
|
- action: replace
|
|
regex: (.+)
|
|
source_labels:
|
|
- __meta_kubernetes_pod_annotation_prometheus_io_path
|
|
target_label: __metrics_path__
|
|
- action: replace
|
|
regex: ([^:]+)(?::\d+)?;(\d+)
|
|
replacement: $1:$2
|
|
source_labels:
|
|
- __address__
|
|
- __meta_kubernetes_pod_annotation_prometheus_io_port
|
|
target_label: __address__
|
|
- action: labelmap
|
|
regex: __meta_kubernetes_pod_label_(.+)
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_namespace
|
|
target_label: kubernetes_namespace
|
|
- action: replace
|
|
source_labels:
|
|
- __meta_kubernetes_pod_name
|
|
target_label: kubernetes_pod_name
|
|
- action: drop
|
|
regex: Pending|Succeeded|Failed
|
|
source_labels:
|
|
- __meta_kubernetes_pod_phase
|
|
scrape_interval: 5m
|
|
scrape_timeout: 30s
|
|
recording_rules.yml: |
|
|
{}
|
|
rules: |
|
|
{}
|
|
---
|
|
# Source: prometheus/templates/server/clusterrole.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
component: "server"
|
|
app: prometheus
|
|
release: prometheus
|
|
chart: prometheus-11.16.2
|
|
heritage: Helm
|
|
name: prometheus
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- nodes
|
|
- nodes/proxy
|
|
- nodes/metrics
|
|
- services
|
|
- endpoints
|
|
- pods
|
|
- ingresses
|
|
- configmaps
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- "extensions"
|
|
- "networking.k8s.io"
|
|
resources:
|
|
- ingresses/status
|
|
- ingresses
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- nonResourceURLs:
|
|
- "/metrics"
|
|
verbs:
|
|
- get
|
|
---
|
|
# Source: prometheus/templates/server/clusterrolebinding.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
labels:
|
|
component: "server"
|
|
app: prometheus
|
|
release: prometheus
|
|
chart: prometheus-11.16.2
|
|
heritage: Helm
|
|
name: prometheus
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: prometheus
|
|
namespace: istio-system
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: prometheus
|
|
---
|
|
# Source: prometheus/templates/server/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
labels:
|
|
component: "server"
|
|
app: prometheus
|
|
release: prometheus
|
|
chart: prometheus-11.16.2
|
|
heritage: Helm
|
|
name: prometheus
|
|
namespace: istio-system
|
|
spec:
|
|
ports:
|
|
- name: http
|
|
port: 9090
|
|
protocol: TCP
|
|
targetPort: 9090
|
|
selector:
|
|
component: "server"
|
|
app: prometheus
|
|
release: prometheus
|
|
sessionAffinity: None
|
|
type: "ClusterIP"
|
|
---
|
|
# Source: prometheus/templates/server/deploy.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
component: "server"
|
|
app: prometheus
|
|
release: prometheus
|
|
chart: prometheus-11.16.2
|
|
heritage: Helm
|
|
name: prometheus
|
|
namespace: istio-system
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
component: "server"
|
|
app: prometheus
|
|
release: prometheus
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
|
|
sidecar.istio.io/inject: "false"
|
|
labels:
|
|
component: "server"
|
|
app: prometheus
|
|
release: prometheus
|
|
chart: prometheus-11.16.2
|
|
heritage: Helm
|
|
spec:
|
|
serviceAccountName: prometheus
|
|
containers:
|
|
- name: prometheus-server-configmap-reload
|
|
image: "jimmidyson/configmap-reload:v0.4.0"
|
|
imagePullPolicy: "IfNotPresent"
|
|
args:
|
|
- --volume-dir=/etc/config
|
|
- --webhook-url=http://127.0.0.1:9090/-/reload
|
|
resources:
|
|
{}
|
|
volumeMounts:
|
|
- name: config-volume
|
|
mountPath: /etc/config
|
|
readOnly: true
|
|
|
|
- name: prometheus-server
|
|
image: "prom/prometheus:v2.21.0"
|
|
imagePullPolicy: "IfNotPresent"
|
|
args:
|
|
- --storage.tsdb.retention.time=15d
|
|
- --config.file=/etc/config/prometheus.yml
|
|
- --storage.tsdb.path=/data
|
|
- --web.console.libraries=/etc/prometheus/console_libraries
|
|
- --web.console.templates=/etc/prometheus/consoles
|
|
- --web.enable-lifecycle
|
|
ports:
|
|
- containerPort: 9090
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /-/ready
|
|
port: 9090
|
|
initialDelaySeconds: 0
|
|
periodSeconds: 5
|
|
timeoutSeconds: 30
|
|
failureThreshold: 3
|
|
successThreshold: 1
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /-/healthy
|
|
port: 9090
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 15
|
|
timeoutSeconds: 30
|
|
failureThreshold: 3
|
|
successThreshold: 1
|
|
resources:
|
|
{}
|
|
volumeMounts:
|
|
- name: config-volume
|
|
mountPath: /etc/config
|
|
- name: storage-volume
|
|
mountPath: /data
|
|
subPath: ""
|
|
securityContext:
|
|
fsGroup: 65534
|
|
runAsGroup: 65534
|
|
runAsNonRoot: true
|
|
runAsUser: 65534
|
|
terminationGracePeriodSeconds: 300
|
|
volumes:
|
|
- name: config-volume
|
|
configMap:
|
|
name: prometheus
|
|
- name: storage-volume
|
|
emptyDir:
|
|
{}
|
|
---
|
|
# Grafana Starts Here, from the Istio Integrations
|
|
---
|
|
# Source: grafana/templates/serviceaccount.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
labels:
|
|
helm.sh/chart: grafana-5.8.10
|
|
app.kubernetes.io/name: grafana
|
|
app.kubernetes.io/instance: grafana
|
|
app.kubernetes.io/version: "7.2.1"
|
|
app.kubernetes.io/managed-by: Helm
|
|
name: grafana
|
|
namespace: istio-system
|
|
---
|
|
# Source: grafana/templates/configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: grafana
|
|
namespace: istio-system
|
|
labels:
|
|
helm.sh/chart: grafana-5.8.10
|
|
app.kubernetes.io/name: grafana
|
|
app.kubernetes.io/instance: grafana
|
|
app.kubernetes.io/version: "7.2.1"
|
|
app.kubernetes.io/managed-by: Helm
|
|
data:
|
|
grafana.ini: |
|
|
[analytics]
|
|
check_for_updates = true
|
|
[grafana_net]
|
|
url = https://grafana.net
|
|
[log]
|
|
mode = console
|
|
[paths]
|
|
data = /var/lib/grafana/data
|
|
logs = /var/log/grafana
|
|
plugins = /var/lib/grafana/plugins
|
|
provisioning = /etc/grafana/provisioning
|
|
|
|
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
|
|
- disableDeletion: false
|
|
folder: istio
|
|
name: istio-services
|
|
options:
|
|
path: /var/lib/grafana/dashboards/istio-services
|
|
orgId: 1
|
|
type: file
|
|
---
|
|
# Source: grafana/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: grafana
|
|
namespace: istio-system
|
|
labels:
|
|
helm.sh/chart: grafana-5.8.10
|
|
app.kubernetes.io/name: grafana
|
|
app.kubernetes.io/instance: grafana
|
|
app.kubernetes.io/version: "7.2.1"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
type: NodePort
|
|
ports:
|
|
- name: service
|
|
port: 3000
|
|
protocol: TCP
|
|
targetPort: 3000
|
|
nodePort: 31002
|
|
|
|
selector:
|
|
app.kubernetes.io/name: grafana
|
|
app.kubernetes.io/instance: grafana
|
|
---
|
|
# Source: grafana/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: grafana
|
|
namespace: istio-system
|
|
labels:
|
|
helm.sh/chart: grafana-5.8.10
|
|
app.kubernetes.io/name: grafana
|
|
app.kubernetes.io/instance: grafana
|
|
app.kubernetes.io/version: "7.2.1"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
replicas: 1
|
|
revisionHistoryLimit: 10
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: grafana
|
|
app.kubernetes.io/instance: grafana
|
|
strategy:
|
|
type: RollingUpdate
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: grafana
|
|
app.kubernetes.io/instance: grafana
|
|
app: grafana
|
|
annotations:
|
|
checksum/config: d2485b1ee9f9be63381c231826a43742bb10ebac2964bdc3f22a100eab9d032c
|
|
checksum/dashboards-json-config: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
|
|
checksum/sc-dashboard-provider-config: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
|
|
sidecar.istio.io/inject: "false"
|
|
spec:
|
|
|
|
serviceAccountName: grafana
|
|
securityContext:
|
|
fsGroup: 472
|
|
runAsGroup: 472
|
|
runAsUser: 472
|
|
containers:
|
|
- name: grafana
|
|
image: "grafana/grafana:7.2.1"
|
|
imagePullPolicy: IfNotPresent
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: "/etc/grafana/grafana.ini"
|
|
subPath: grafana.ini
|
|
- name: storage
|
|
mountPath: "/var/lib/grafana"
|
|
- name: dashboards-istio
|
|
mountPath: "/var/lib/grafana/dashboards/istio"
|
|
- name: dashboards-istio-services
|
|
mountPath: "/var/lib/grafana/dashboards/istio-services"
|
|
- name: config
|
|
mountPath: "/etc/grafana/provisioning/datasources/datasources.yaml"
|
|
subPath: datasources.yaml
|
|
- name: config
|
|
mountPath: "/etc/grafana/provisioning/dashboards/dashboardproviders.yaml"
|
|
subPath: dashboardproviders.yaml
|
|
ports:
|
|
- name: service
|
|
containerPort: 3000
|
|
protocol: TCP
|
|
- name: grafana
|
|
containerPort: 3000
|
|
protocol: TCP
|
|
env:
|
|
|
|
- name: "GF_AUTH_ANONYMOUS_ENABLED"
|
|
value: "true"
|
|
- name: "GF_AUTH_ANONYMOUS_ORG_ROLE"
|
|
value: "Admin"
|
|
- name: "GF_AUTH_BASIC_ENABLED"
|
|
value: "false"
|
|
- name: "GF_SECURITY_ADMIN_PASSWORD"
|
|
value: "-"
|
|
- name: "GF_SECURITY_ADMIN_USER"
|
|
value: "-"
|
|
livenessProbe:
|
|
failureThreshold: 10
|
|
httpGet:
|
|
path: /api/health
|
|
port: 3000
|
|
initialDelaySeconds: 60
|
|
timeoutSeconds: 30
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /api/health
|
|
port: 3000
|
|
resources:
|
|
{}
|
|
volumes:
|
|
- name: config
|
|
configMap:
|
|
name: grafana
|
|
|
|
- name: dashboards-istio
|
|
configMap:
|
|
name: istio-grafana-dashboards
|
|
- name: dashboards-istio-services
|
|
configMap:
|
|
name: istio-services-grafana-dashboards
|
|
- name: storage
|
|
emptyDir: {}
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
data:
|
|
istio-performance-dashboard.json: |
|
|
{"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"editable":false,"gnetId":null,"graphTooltip":0,"links":[],"panels":[{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":0},"id":21,"panels":[{"content":"The charts on this dashboard are intended to show Istio main components cost in terms of resources utilization under steady load.\n\n- **vCPU / 1k rps:** shows vCPU utilization by the main Istio components normalized by 1000 requests/second. When idle or low traffic, this chart will be blank. The curve for istio-proxy refers to the services sidecars only.\n- **vCPU:** vCPU utilization by Istio components, not normalized.\n- **Memory:** memory footprint for the components. Telemetry and policy are normalized by 1k rps, and no data is shown when there is no traffic. For ingress and istio-proxy, the data is per instance.\n- **Bytes transferred / sec:** shows the number of bytes flowing through each Istio component.\n\n\n","gridPos":{"h":6,"w":24,"x":0,"y":1},"id":19,"links":[],"mode":"markdown","timeFrom":null,"timeShift":null,"title":"Performance Dashboard README","transparent":true,"type":"text"}],"title":"Performance Dashboard Notes","type":"row"},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":1},"id":6,"panels":[],"title":"vCPU Usage","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":8,"w":12,"x":0,"y":2},"id":4,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"(sum(irate(container_cpu_usage_seconds_total{pod=~\"istio-ingressgateway-.*\",container=\"istio-proxy\"}[1m])) / (round(sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[1m])), 0.001)/1000))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"istio-ingressgateway","refId":"A"},{"expr":"(sum(irate(container_cpu_usage_seconds_total{namespace!=\"istio-system\",container=\"istio-proxy\"}[1m]))/ (round(sum(irate(istio_requests_total[1m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[1m])) >bool 10)","format":"time_series","intervalFactor":1,"legendFormat":"istio-proxy","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"vCPU / 1k rps","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":8,"w":12,"x":12,"y":2},"id":7,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(container_cpu_usage_seconds_total{pod=~\"istio-ingressgateway-.*\",container=\"istio-proxy\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"istio-ingressgateway","refId":"A"},{"expr":"sum(rate(container_cpu_usage_seconds_total{namespace!=\"istio-system\",container=\"istio-proxy\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"istio-proxy","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"vCPU","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":10},"id":13,"panels":[],"title":"Memory and Data Rates","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":8,"w":12,"x":0,"y":11},"id":902,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(container_memory_working_set_bytes{pod=~\"istio-ingressgateway-.*\"}) / count(container_memory_working_set_bytes{pod=~\"istio-ingressgateway-.*\",container!=\"POD\"})","format":"time_series","intervalFactor":1,"legendFormat":"per istio-ingressgateway","refId":"A"},{"expr":"sum(container_memory_working_set_bytes{namespace!=\"istio-system\",container=\"istio-proxy\"}) / count(container_memory_working_set_bytes{namespace!=\"istio-system\",container=\"istio-proxy\"})","format":"time_series","intervalFactor":1,"legendFormat":"per istio proxy","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Memory Usage","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":8,"w":12,"x":12,"y":11},"id":11,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(irate(istio_response_bytes_sum{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"istio-ingressgateway","refId":"A"},{"expr":"sum(irate(istio_response_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[1m])) + sum(irate(istio_request_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"istio-proxy","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Bytes transferred / sec","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":19},"id":17,"panels":[],"title":"Istio Component Versions","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":8,"w":24,"x":0,"y":20},"id":15,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(istio_build) by (component, tag)","format":"time_series","intervalFactor":1,"legendFormat":"{{ component }}: {{ tag }}","refId":"A"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Istio Components by Version","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":31},"id":71,"panels":[],"title":"Proxy Resource Usage","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":0,"y":32},"id":72,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(container_memory_working_set_bytes{container=\"istio-proxy\"})","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Total (k8s)","refId":"A","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Memory","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":6,"y":32},"id":73,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(container_cpu_usage_seconds_total{container=\"istio-proxy\"}[1m]))","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Total (k8s)","refId":"A","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"vCPU","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":12,"y":32},"id":702,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(container_fs_usage_bytes{container=\"istio-proxy\"})","format":"time_series","intervalFactor":2,"legendFormat":"Total (k8s)","refId":"A","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Disk","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"","logBase":1,"max":null,"min":null,"show":true},{"decimals":null,"format":"none","label":"","logBase":1024,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":39},"id":69,"panels":[],"title":"Istiod Resource Usage","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":0,"y":40},"id":5,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"process_virtual_memory_bytes{app=\"istiod\"}","format":"time_series","instant":false,"intervalFactor":2,"legendFormat":"Virtual Memory","refId":"I","step":2},{"expr":"process_resident_memory_bytes{app=\"istiod\"}","format":"time_series","intervalFactor":2,"legendFormat":"Resident Memory","refId":"H","step":2},{"expr":"go_memstats_heap_sys_bytes{app=\"istiod\"}","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"heap sys","refId":"A"},{"expr":"go_memstats_heap_alloc_bytes{app=\"istiod\"}","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"heap alloc","refId":"D"},{"expr":"go_memstats_alloc_bytes{app=\"istiod\"}","format":"time_series","intervalFactor":2,"legendFormat":"Alloc","refId":"F","step":2},{"expr":"go_memstats_heap_inuse_bytes{app=\"istiod\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Heap in-use","refId":"E","step":2},{"expr":"go_memstats_stack_inuse_bytes{app=\"istiod\"}","format":"time_series","intervalFactor":2,"legendFormat":"Stack in-use","refId":"G","step":2},{"expr":"sum(container_memory_working_set_bytes{container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"})","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Total (k8s)","refId":"C","step":2},{"expr":"container_memory_working_set_bytes{container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{ container }} (k8s)","refId":"B","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Memory","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":6,"y":40},"id":602,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(container_cpu_usage_seconds_total{container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"}[1m]))","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Total (k8s)","refId":"A","step":2},{"expr":"sum(rate(container_cpu_usage_seconds_total{container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"}[1m])) by (container)","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{ container }} (k8s)","refId":"B","step":2},{"expr":"irate(process_cpu_seconds_total{app=\"istiod\"}[1m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"pilot (self-reported)","refId":"C","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"vCPU","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":12,"y":40},"id":74,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"process_open_fds{app=\"istiod\"}","format":"time_series","hide":true,"instant":false,"interval":"","intervalFactor":2,"legendFormat":"Open FDs (pilot)","refId":"A"},{"expr":"container_fs_usage_bytes{ container=~\"discovery|istio-proxy\", pod=~\"istiod-.*\"}","format":"time_series","intervalFactor":2,"legendFormat":"{{ container }}","refId":"B","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Disk","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"","logBase":1,"max":null,"min":null,"show":true},{"decimals":null,"format":"none","label":"","logBase":1024,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":18,"y":40},"id":402,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"go_goroutines{app=\"istiod\"}","format":"time_series","intervalFactor":2,"legendFormat":"Number of Goroutines","refId":"A","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Goroutines","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}}],"refresh":"10s","schemaVersion":18,"style":"dark","tags":[],"templating":{"list":[]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"","title":"Istio Performance Dashboard","uid":"vu8e0VWZk","version":22}
|
|
pilot-dashboard.json: |
|
|
{"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"editable":false,"gnetId":null,"graphTooltip":1,"links":[],"panels":[{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":0},"id":60,"panels":[],"title":"Deployed Versions","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":5,"w":24,"x":0,"y":1},"id":56,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(istio_build{component=\"pilot\"}) by (tag)","format":"time_series","intervalFactor":1,"legendFormat":"{{ tag }}","refId":"A"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Pilot Versions","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":6},"id":62,"panels":[],"title":"Resource Usage","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":0,"y":7},"id":5,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"process_virtual_memory_bytes{app=\"istiod\"}","format":"time_series","instant":false,"intervalFactor":2,"legendFormat":"Virtual Memory","refId":"I","step":2},{"expr":"process_resident_memory_bytes{app=\"istiod\"}","format":"time_series","intervalFactor":2,"legendFormat":"Resident Memory","refId":"H","step":2},{"expr":"go_memstats_heap_sys_bytes{app=\"istiod\"}","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"heap sys","refId":"A"},{"expr":"go_memstats_heap_alloc_bytes{app=\"istiod\"}","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"heap alloc","refId":"D"},{"expr":"go_memstats_alloc_bytes{app=\"istiod\"}","format":"time_series","intervalFactor":2,"legendFormat":"Alloc","refId":"F","step":2},{"expr":"go_memstats_heap_inuse_bytes{app=\"istiod\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Heap in-use","refId":"E","step":2},{"expr":"go_memstats_stack_inuse_bytes{app=\"istiod\"}","format":"time_series","intervalFactor":2,"legendFormat":"Stack in-use","refId":"G","step":2},{"expr":"container_memory_working_set_bytes{container=~\"discovery\", pod=~\"istiod-.*|istio-pilot-.*\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Discovery (container)","refId":"B","step":2},{"expr":"container_memory_working_set_bytes{container=~\"istio-proxy\", pod=~\"istiod-.*|istio-pilot-.*\"}","format":"time_series","intervalFactor":1,"legendFormat":"Sidecar (container)","refId":"C"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Memory","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":6,"y":7},"id":6,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(irate(container_cpu_usage_seconds_total{container=\"discovery\", pod=~\"istiod-.*|istio-pilot-.*\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"Discovery (container)","refId":"A"},{"expr":"irate(process_cpu_seconds_total{app=\"istiod\"}[1m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Discovery (process)","refId":"C","step":2},{"expr":"sum(irate(container_cpu_usage_seconds_total{container=\"istio-proxy\", pod=~\"istiod-.*|istio-pilot-.*\"}[1m]))","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Sidecar (container)","refId":"B","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"CPU","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":12,"y":7},"id":7,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"container_fs_usage_bytes{container=\"discovery\", pod=~\"istiod-.*|istio-pilot-.*\"}","format":"time_series","intervalFactor":2,"legendFormat":"Discovery","refId":"B","step":2},{"expr":"container_fs_usage_bytes{container=\"istio-proxy\", pod=~\"istiod-.*|istio-pilot-.*\"}","format":"time_series","intervalFactor":1,"legendFormat":"Sidecar","refId":"A"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Disk","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"","logBase":1,"max":null,"min":null,"show":true},{"decimals":null,"format":"none","label":"","logBase":1024,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":7,"w":6,"x":18,"y":7},"id":4,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"go_goroutines{app=\"istiod\"}","format":"time_series","intervalFactor":2,"legendFormat":"Number of Goroutines","refId":"A","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Goroutines","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":14},"id":58,"panels":[],"title":"Pilot Push Information","type":"row"},{"aliasColors":{},"bars":true,"dashLength":10,"dashes":false,"datasource":"Prometheus","description":"Shows the rate of pilot pushes","fill":1,"gridPos":{"h":8,"w":8,"x":0,"y":15},"id":622,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":false,"linewidth":1,"links":[],"nullPointMode":"null as zero","paceLength":10,"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"sum(irate(pilot_xds_pushes{type=\"cds\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"Cluster","refId":"C"},{"expr":"sum(irate(pilot_xds_pushes{type=\"eds\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"Endpoints","refId":"D"},{"expr":"sum(irate(pilot_xds_pushes{type=\"lds\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"Listeners","refId":"A"},{"expr":"sum(irate(pilot_xds_pushes{type=\"rds\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"Routes","refId":"E"},{"expr":"sum(irate(pilot_xds_pushes{type=\"sds\"}[1m]))","interval":"","legendFormat":"Secrets","refId":"B"},{"expr":"sum(irate(pilot_xds_pushes{type=\"nds\"}[1m]))","interval":"","legendFormat":"Nametables","refId":"F"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Pilot Pushes","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":["total"]},"yaxes":[{"format":"ops","label":null,"logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","description":"Captures a variety of pilot errors","fill":1,"gridPos":{"h":8,"w":8,"x":8,"y":15},"id":67,"legend":{"avg":false,"current":false,"hideEmpty":true,"hideZero":true,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(pilot_xds_cds_reject{app=\"istiod\"}) or (absent(pilot_xds_cds_reject{app=\"istiod\"}) - 1)","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Rejected CDS Configs","refId":"C"},{"expr":"sum(pilot_xds_eds_reject{app=\"istiod\"}) or (absent(pilot_xds_eds_reject{app=\"istiod\"}) - 1)","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Rejected EDS Configs","refId":"D"},{"expr":"sum(pilot_xds_rds_reject{app=\"istiod\"}) or (absent(pilot_xds_rds_reject{app=\"istiod\"}) - 1)","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Rejected RDS Configs","refId":"A"},{"expr":"sum(pilot_xds_lds_reject{app=\"istiod\"}) or (absent(pilot_xds_lds_reject{app=\"istiod\"}) - 1)","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Rejected LDS Configs","refId":"B"},{"expr":"sum(rate(pilot_xds_write_timeout{app=\"istiod\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"Write Timeouts","refId":"F"},{"expr":"sum(rate(pilot_total_xds_internal_errors{app=\"istiod\"}[1m]))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Internal Errors","refId":"H"},{"expr":"sum(rate(pilot_total_xds_rejects{app=\"istiod\"}[1m]))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Config Rejection Rate","refId":"E"},{"expr":"sum(rate(pilot_xds_push_context_errors{app=\"istiod\"}[1m]))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Push Context Errors","refId":"K"},{"expr":"sum(rate(pilot_xds_write_timeout{app=\"istiod\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"Push Timeouts","refId":"G"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Pilot Errors","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","description":"Shows the total time it takes to push a config update to a proxy","fill":1,"gridPos":{"h":8,"w":8,"x":16,"y":15},"id":624,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"histogram_quantile(0.5, sum(rate(pilot_proxy_convergence_time_bucket[1m])) by (le))","format":"time_series","intervalFactor":1,"legendFormat":"p50 ","refId":"A"},{"expr":"histogram_quantile(0.9, sum(rate(pilot_proxy_convergence_time_bucket[1m])) by (le))","format":"time_series","intervalFactor":1,"legendFormat":"p90","refId":"B"},{"expr":"histogram_quantile(0.99, sum(rate(pilot_proxy_convergence_time_bucket[1m])) by (le))","format":"time_series","intervalFactor":1,"legendFormat":"p99","refId":"C"},{"expr":"histogram_quantile(0.999, sum(rate(pilot_proxy_convergence_time_bucket[1m])) by (le))","format":"time_series","intervalFactor":1,"legendFormat":"p99.9","refId":"D"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Proxy Push Time","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"s","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":8,"w":12,"x":0,"y":23},"id":45,"legend":{"avg":false,"current":false,"hideEmpty":true,"hideZero":true,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null as zero","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"pilot_conflict_inbound_listener{app=\"istiod\"}","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Inbound Listeners","refId":"B"},{"expr":"pilot_conflict_outbound_listener_http_over_current_tcp{app=\"istiod\"}","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Outbound Listeners (http over current tcp)","refId":"A"},{"expr":"pilot_conflict_outbound_listener_tcp_over_current_tcp{app=\"istiod\"}","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Outbound Listeners (tcp over current tcp)","refId":"C"},{"expr":"pilot_conflict_outbound_listener_tcp_over_current_http{app=\"istiod\"}","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Outbound Listeners (tcp over current http)","refId":"D"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Conflicts","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":8,"w":12,"x":12,"y":23},"id":47,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"pilot_virt_services{app=\"istiod\"}","format":"time_series","intervalFactor":1,"legendFormat":"Virtual Services","refId":"A"},{"expr":"pilot_services{app=\"istiod\"}","format":"time_series","intervalFactor":1,"legendFormat":"Services","refId":"B"},{"expr":"pilot_xds{app=\"istiod\"}","format":"time_series","intervalFactor":1,"legendFormat":"Connected Endpoints","refId":"E"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"ADS Monitoring","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":31},"id":64,"panels":[],"title":"Envoy Information","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","description":"Shows details about Envoy proxies in the mesh","fill":1,"gridPos":{"h":8,"w":8,"x":0,"y":32},"id":40,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(irate(envoy_cluster_upstream_cx_total{cluster_name=\"xds-grpc\"}[1m]))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"XDS Connections","refId":"C"},{"expr":"sum(irate(envoy_cluster_upstream_cx_connect_fail{cluster_name=\"xds-grpc\"}[1m]))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"XDS Connection Failures","refId":"A"},{"expr":"sum(increase(envoy_server_hot_restart_epoch[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"Envoy Restarts","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Envoy Details","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ops","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"ops","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":8,"w":8,"x":8,"y":32},"id":41,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})","format":"time_series","intervalFactor":2,"legendFormat":"XDS Active Connections","refId":"C","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"XDS Active Connections","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","description":"Shows the size of XDS requests and responses","fill":1,"gridPos":{"h":8,"w":8,"x":16,"y":32},"id":42,"legend":{"avg":false,"current":false,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"max(rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"XDS Response Bytes Max","refId":"D"},{"expr":"quantile(0.5, rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"XDS Response Bytes Average","refId":"B"},{"expr":"max(rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"XDS Request Bytes Max","refId":"A"},{"expr":"quantile(.5, rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"XDS Request Bytes Average","refId":"C"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"XDS Requests Size","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"ops","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"datasource":null,"gridPos":{"h":1,"w":24,"x":0,"y":40},"id":626,"panels":[],"title":"Webhooks","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":null,"fill":1,"fillGradient":0,"gridPos":{"h":8,"w":12,"x":0,"y":41},"hiddenSeries":false,"id":629,"legend":{"avg":false,"current":false,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null","options":{"dataLinks":[]},"percentage":false,"pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(galley_validation_passed[1m]))","interval":"","legendFormat":"Validations (Success)","refId":"A"},{"expr":"sum(rate(galley_validation_failed[1m]))","interval":"","legendFormat":"Validation (Failure)","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Configuration Validation","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":null,"description":"","fill":1,"fillGradient":0,"gridPos":{"h":8,"w":12,"x":12,"y":41},"hiddenSeries":false,"id":630,"legend":{"avg":false,"current":false,"hideZero":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null","options":{"dataLinks":[]},"percentage":false,"pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(sidecar_injection_success_total[1m]))","interval":"","legendFormat":"Injections (Success)","refId":"A"},{"expr":"sum(rate(sidecar_injection_failure_total[1m]))","interval":"","legendFormat":"Injections (Failure)","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Sidecar Injection","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}}],"refresh":"5s","schemaVersion":18,"style":"dark","tags":[],"templating":{"list":[{"current":{"selected":true,"text":"default","value":"default"},"hide":0,"includeAll":false,"label":null,"multi":false,"name":"datasource","options":[],"query":"prometheus","queryValue":"","refresh":1,"regex":"","skipUrlSync":false,"type":"datasource"}]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Istio Control Plane Dashboard","uid":"3--MLVZZk","version":11}
|
|
kind: ConfigMap
|
|
metadata:
|
|
creationTimestamp: null
|
|
name: istio-grafana-dashboards
|
|
namespace: istio-system
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
data:
|
|
istio-extension-dashboard.json: |
|
|
{"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"editable":false,"gnetId":null,"graphTooltip":0,"links":[],"panels":[{"collapsed":false,"datasource":"Prometheus","gridPos":{"h":1,"w":24,"x":0,"y":0},"id":3,"panels":[],"title":"Wasm VMs","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","description":"","fieldConfig":{"defaults":{"custom":{"align":null},"links":[],"mappings":[],"thresholds":{"mode":"absolute","steps":[{"color":"green","value":null},{"color":"red","value":80}]}},"overrides":[]},"fill":1,"fillGradient":0,"gridPos":{"h":8,"w":12,"x":0,"y":1},"hiddenSeries":false,"id":2,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.2.1","pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"avg(envoy_wasm_vm_null_active)","interval":"","legendFormat":"native","refId":"A"},{"expr":"avg(envoy_wasm_vm_v8_active)","interval":"","legendFormat":"v8","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Active","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:123","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:124","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","fieldConfig":{"defaults":{"custom":{},"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"gridPos":{"h":8,"w":12,"x":12,"y":1},"hiddenSeries":false,"id":6,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.2.1","pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"avg(envoy_wasm_vm_null_created)","interval":"","legendFormat":"native","refId":"A"},{"expr":"avg(envoy_wasm_vm_v8_created)","interval":"","legendFormat":"v8","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Created","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:68","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:69","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"datasource":"Prometheus","gridPos":{"h":1,"w":24,"x":0,"y":9},"id":7,"panels":[],"title":"Wasm Module Remote Load","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fieldConfig":{"defaults":{"custom":{},"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"gridPos":{"h":8,"w":8,"x":0,"y":10},"hiddenSeries":false,"id":11,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.2.1","pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"avg(envoy_wasm_remote_load_cache_entries)","interval":"","legendFormat":"entries","refId":"A"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Cache Entry","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:178","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:179","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","fieldConfig":{"defaults":{"custom":{},"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"gridPos":{"h":8,"w":8,"x":8,"y":10},"hiddenSeries":false,"id":8,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.2.1","pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"avg(envoy_wasm_remote_load_cache_hits)","interval":"","legendFormat":"hits","refId":"A"},{"expr":"avg(envoy_wasm_remote_load_cache_misses)","interval":"","legendFormat":"misses","refId":"B"},{"expr":"avg(envoy_wasm_remote_load_cache_negative_hits)","interval":"","legendFormat":"negative hits","refId":"C"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Cache Visit","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:233","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:234","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","fieldConfig":{"defaults":{"custom":{},"links":[]},"overrides":[]},"fill":1,"fillGradient":0,"gridPos":{"h":8,"w":8,"x":16,"y":10},"hiddenSeries":false,"id":10,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.2.1","pointradius":2,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"avg(envoy_wasm_remote_load_fetch_failures)","interval":"","legendFormat":"failures","refId":"A"},{"expr":"avg(envoy_wasm_remote_load_fetch_successes)","interval":"","legendFormat":"successes","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Remote Fetch","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:288","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:289","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"datasource":"Prometheus","gridPos":{"h":1,"w":24,"x":0,"y":18},"id":71,"panels":[],"title":"Proxy Resource Usage","type":"row"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fieldConfig":{"defaults":{"custom":{}},"overrides":[]},"fill":1,"fillGradient":0,"gridPos":{"h":8,"w":12,"x":0,"y":19},"hiddenSeries":false,"id":72,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.2.1","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(container_memory_working_set_bytes{container=\"istio-proxy\"})","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Total (k8s)","refId":"A","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Memory","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:396","format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:397","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","fieldConfig":{"defaults":{"custom":{}},"overrides":[]},"fill":1,"fillGradient":0,"gridPos":{"h":8,"w":12,"x":12,"y":19},"hiddenSeries":false,"id":73,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"alertThreshold":true},"percentage":false,"pluginVersion":"7.2.1","pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(container_cpu_usage_seconds_total{container=\"istio-proxy\"}[1m]))","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Total (k8s)","refId":"A","step":2}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"vCPU","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"$$hashKey":"object:447","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"$$hashKey":"object:448","format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}}],"refresh":false,"schemaVersion":26,"style":"dark","tags":[],"templating":{"list":[]},"time":{"from":"2020-10-22T23:11:45.783Z","to":"2020-10-23T00:04:19.481Z"},"timepicker":{"refresh_intervals":["10s","30s","1m","5m","15m","30m","1h","2h","1d"]},"timezone":"","title":"Istio Wasm Extension Dashboard","uid":"7PAV7ctGz","version":17}
|
|
istio-mesh-dashboard.json: |
|
|
{"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"editable":false,"gnetId":null,"graphTooltip":0,"id":null,"links":[],"panels":[{"content":"<div>\n <div style=\"position: absolute; bottom: 0\">\n <a href=\"https://istio.io\" target=\"_blank\" style=\"font-size: 30px; text-decoration: none; color: inherit\"><img src=\"https://istio.io/latest/img/istio-bluelogo-nobackground-unframed.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=\"source\"}[1m])), 0.001)","intervalFactor":1,"refId":"A","step":4}],"thresholds":"","title":"Global Request Volume","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"Prometheus","format":"percentunit","gauge":{"maxValue":100,"minValue":80,"show":false,"thresholdLabels":false,"thresholdMarkers":false},"gridPos":{"h":3,"w":6,"x":6,"y":3},"id":21,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":true,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(rate(istio_requests_total{reporter=\"source\", response_code!~\"5.*\"}[1m])) / sum(rate(istio_requests_total{reporter=\"source\"}[1m]))","format":"time_series","intervalFactor":1,"refId":"A","step":4}],"thresholds":"95, 99, 99.5","title":"Global Success Rate (non-5xx responses)","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"Prometheus","format":"ops","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":12,"y":3},"id":22,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":true,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(irate(istio_requests_total{reporter=\"source\", response_code=~\"4.*\"}[1m]))","format":"time_series","intervalFactor":1,"refId":"A","step":4}],"thresholds":"","title":"4xxs","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"Prometheus","format":"ops","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":18,"y":3},"id":23,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":true,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(irate(istio_requests_total{reporter=\"source\", response_code=~\"5.*\"}[1m]))","format":"time_series","intervalFactor":1,"refId":"A","step":4}],"thresholds":"","title":"5xxs","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"Prometheus","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":0,"y":6},"id":113,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(pilot_k8s_cfg_events{type=\"VirtualService\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"VirtualService\", event=\"delete\"}) or max(up * 0))","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","timeFrom":null,"timeShift":null,"title":"Virtual Services","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"Prometheus","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":6,"y":6},"id":114,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(pilot_k8s_cfg_events{type=\"DestinationRule\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"DestinationRule\", event=\"delete\"}) or max(up * 0))","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","timeFrom":null,"timeShift":null,"title":"Destination Rules","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"Prometheus","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":12,"y":6},"id":115,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(pilot_k8s_cfg_events{type=\"Gateway\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"Gateway\", event=\"delete\"}) or max(up * 0))","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","timeFrom":null,"timeShift":null,"title":"Gateways","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"Prometheus","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":18,"y":6},"id":116,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(pilot_k8s_cfg_events{type=\"WorkloadEntry\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"WorkloadEntry\", event=\"delete\"}) or max(up * 0))","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","timeFrom":null,"timeShift":null,"title":"Workload Entries","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"Prometheus","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":0,"y":6},"id":117,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(pilot_k8s_cfg_events{type=\"ServiceEntry\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"ServiceEntry\", event=\"delete\"}) or max(up * 0))","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","timeFrom":null,"timeShift":null,"title":"Service Entries","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"Prometheus","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":6,"y":6},"id":90,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(pilot_k8s_cfg_events{type=\"PeerAuthentication\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"PeerAuthentication\", event=\"delete\"}) or max(up * 0))","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","timeFrom":null,"timeShift":null,"title":"PeerAuthentication Policies","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"Prometheus","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":12,"y":6},"id":91,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(pilot_k8s_cfg_events{type=\"RequestAuthentication\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"RequestAuthentication\", event=\"delete\"}) or max(up * 0))","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","timeFrom":null,"timeShift":null,"title":"RequestAuthentication Policies","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"Prometheus","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":18,"y":6},"id":92,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(pilot_k8s_cfg_events{type=\"AuthorizationPolicy\", event=\"add\"}) - (max(pilot_k8s_cfg_events{type=\"AuthorizationPolicy\", event=\"delete\"}) or max(up * 0))","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","timeFrom":null,"timeShift":null,"title":"Authorization Policies","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"columns":[],"datasource":"Prometheus","fontSize":"100%","gridPos":{"h":21,"w":24,"x":0,"y":9},"hideTimeOverride":false,"id":73,"links":[],"pageSize":null,"repeat":null,"repeatDirection":"v","scroll":true,"showHeader":true,"sort":{"col":4,"desc":true},"styles":[{"alias":"Workload","colorMode":null,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"dateFormat":"YYYY-MM-DD HH:mm:ss","decimals":2,"link":false,"linkTargetBlank":false,"linkTooltip":"Workload dashboard","linkUrl":"/dashboard/db/istio-workload-dashboard?var-namespace=${__cell_2:raw}&var-workload=${__cell_:raw}","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 #C","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 #D","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 #E","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:raw}&var-namespace=${__cell_3:raw}","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_:raw}","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=\"source\", response_code=\"200\"}[1m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")","format":"table","hide":false,"instant":true,"intervalFactor":1,"legendFormat":"{{ destination_workload}}.{{ destination_workload_namespace }}","refId":"A"},{"expr":"label_join((histogram_quantile(0.50, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.50, sum(rate(istio_request_duration_seconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")","format":"table","hide":false,"instant":true,"intervalFactor":1,"legendFormat":"{{ destination_workload}}.{{ destination_workload_namespace }}","refId":"B"},{"expr":"label_join((histogram_quantile(0.90, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.90, sum(rate(istio_request_duration_seconds_bucket{reporter=\"source\"}[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":"C"},{"expr":"label_join((histogram_quantile(0.99, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"source\"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.99, sum(rate(istio_request_duration_seconds_bucket{reporter=\"source\"}[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((sum(rate(istio_requests_total{reporter=\"source\", response_code!~\"5.*\"}[1m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"source\"}[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":"E"}],"timeFrom":null,"title":"HTTP/GRPC Workloads","transform":"table","type":"table"},{"columns":[],"datasource":"Prometheus","fontSize":"100%","gridPos":{"h":18,"w":24,"x":0,"y":30},"hideTimeOverride":false,"id":109,"links":[],"pageSize":null,"repeatDirection":"v","scroll":true,"showHeader":true,"sort":{"col":2,"desc":true},"styles":[{"alias":"Workload","colorMode":null,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"dateFormat":"YYYY-MM-DD HH:mm:ss","decimals":2,"link":false,"linkTargetBlank":false,"linkTooltip":"$__cell dashboard","linkUrl":"/dashboard/db/istio-tcp-workload-dashboard?var-namespace=${__cell_2:raw}&&var-workload=${__cell_:raw}","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 #B","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:raw}&var-workload=${__cell_2:raw}","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_:raw}","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":"A"},{"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":"B"}],"timeFrom":null,"title":"TCP Workloads","transform":"table","type":"table"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"Prometheus","fill":1,"gridPos":{"h":9,"w":24,"x":0,"y":48},"id":111,"legend":{"alignAsTable":false,"avg":false,"current":false,"max":false,"min":false,"rightSide":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(istio_build) by (component, tag)","format":"time_series","intervalFactor":1,"legendFormat":"{{ component }}: {{ tag }}","refId":"A"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Istio Components by Version","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"refresh":"5s","schemaVersion":18,"style":"dark","tags":[],"templating":{"list":[{"current":{"selected":true,"text":"default","value":"default"},"hide":0,"includeAll":false,"label":null,"multi":false,"name":"datasource","options":[],"query":"prometheus","queryValue":"","refresh":1,"regex":"","skipUrlSync":false,"type":"datasource"}]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Istio Mesh Dashboard","uid":"G8wLrJIZk","version":5}
|
|
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\":1595591291797,\"links\":[],\"panels\":[{\"collapsed\":true,\"gridPos\":{\"h\":1,\"w\":24,\"x\":0,\"y\":0},\"id\":106,\"panels\":[{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>SERVICE: $service</span>\\n</div>\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"gridPos\":{\"h\":3,\"w\":24,\"x\":0,\"y\":1},\"id\":89,\"links\":[],\"mode\":\"html\",\"options\":{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>SERVICE: $service</span>\\n</div>\",\"mode\":\"html\"},\"pluginVersion\":\"7.1.0\",\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"ops\",\"gauge\":{\"maxValue\":100,\"minValue\":0,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":true},\"gridPos\":{\"h\":4,\"w\":6,\"x\":0,\"y\":4},\"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\",\"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,\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"percentunit\",\"gauge\":{\"maxValue\":100,\"minValue\":80,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":false},\"gridPos\":{\"h\":4,\"w\":6,\"x\":6,\"y\":4},\"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\":\"A\"}],\"thresholds\":\"95,
|
|
99, 99.5\",\"title\":\"Client Success Rate (non-5xx responses)\",\"type\":\"singlestat\",\"valueFontSize\":\"80%\",\"valueMaps\":[{\"op\":\"=\",\"text\":\"N/A\",\"value\":\"null\"}],\"valueName\":\"avg\"},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":4,\"w\":6,\"x\":12,\"y\":4},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"pointradius\":5,\"points\":false,\"renderer\":\"flot\",\"seriesOverrides\":[],\"spaceLength\":10,\"stack\":false,\"steppedLine\":false,\"targets\":[{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le))\",\"format\":\"time_series\",\"interval\":\"\",\"intervalFactor\":1,\"legendFormat\":\"P50\",\"refId\":\"A\"},{\"expr\":\"(histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"P90\",\"refId\":\"B\"},{\"expr\":\"(histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"P99\",\"refId\":\"C\"}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"Bps\",\"gauge\":{\"maxValue\":100,\"minValue\":0,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":true},\"gridPos\":{\"h\":4,\"w\":6,\"x\":18,\"y\":4},\"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=\\\"destination\\\",
|
|
destination_service=~\\\"$service\\\"}[1m]))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"\",\"refId\":\"A\"}],\"thresholds\":\"\",\"title\":\"TCP
|
|
Received Bytes\",\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"ops\",\"gauge\":{\"maxValue\":100,\"minValue\":0,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":true},\"gridPos\":{\"h\":4,\"w\":6,\"x\":0,\"y\":8},\"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\",\"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,\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"percentunit\",\"gauge\":{\"maxValue\":100,\"minValue\":80,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":false},\"gridPos\":{\"h\":4,\"w\":6,\"x\":6,\"y\":8},\"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\":\"A\"}],\"thresholds\":\"95,
|
|
99, 99.5\",\"title\":\"Server Success Rate (non-5xx responses)\",\"type\":\"singlestat\",\"valueFontSize\":\"80%\",\"valueMaps\":[{\"op\":\"=\",\"text\":\"N/A\",\"value\":\"null\"}],\"valueName\":\"avg\"},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":4,\"w\":6,\"x\":12,\"y\":8},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"pointradius\":5,\"points\":false,\"renderer\":\"flot\",\"seriesOverrides\":[],\"spaceLength\":10,\"stack\":false,\"steppedLine\":false,\"targets\":[{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le))\",\"format\":\"time_series\",\"interval\":\"\",\"intervalFactor\":1,\"legendFormat\":\"P50\",\"refId\":\"A\"},{\"expr\":\"(histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"P90\",\"refId\":\"B\"},{\"expr\":\"(histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",destination_service=~\\\"$service\\\"}[1m]))
|
|
by (le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"P99\",\"refId\":\"C\"}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"Bps\",\"gauge\":{\"maxValue\":100,\"minValue\":0,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":true},\"gridPos\":{\"h\":4,\"w\":6,\"x\":18,\"y\":8},\"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=\\\"destination\\\",
|
|
destination_service=~\\\"$service\\\"}[1m]))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"\",\"refId\":\"A\"}],\"thresholds\":\"\",\"title\":\"TCP
|
|
Sent Bytes\",\"type\":\"singlestat\",\"valueFontSize\":\"80%\",\"valueMaps\":[{\"op\":\"=\",\"text\":\"N/A\",\"value\":\"null\"}],\"valueName\":\"avg\"}],\"title\":\"General\",\"type\":\"row\"},{\"collapsed\":true,\"gridPos\":{\"h\":1,\"w\":24,\"x\":0,\"y\":1},\"id\":104,\"panels\":[{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>CLIENT WORKLOADS</span>\\n</div>\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"gridPos\":{\"h\":3,\"w\":24,\"x\":0,\"y\":2},\"id\":45,\"links\":[],\"mode\":\"html\",\"options\":{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>CLIENT WORKLOADS</span>\\n</div>\",\"mode\":\"html\"},\"pluginVersion\":\"7.1.0\",\"title\":\"\",\"transparent\":true,\"type\":\"text\"},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":0,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":0,\"y\":5},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 }} (\U0001F510mTLS)\",\"refId\":\"A\",\"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\":\"B\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":12,\"y\":5},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 }} (\U0001F510mTLS)\",\"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,\"timeRegions\":[],\"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\":\"\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":0,\"y\":11},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"pointradius\":5,\"points\":false,\"renderer\":\"flot\",\"seriesOverrides\":[],\"spaceLength\":10,\"stack\":false,\"steppedLine\":false,\"targets\":[{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\", connection_security_policy=\\\"mutual_tls\\\",
|
|
destination_service=~\\\"$service\\\", source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P50 (\U0001F510mTLS)\",\"refId\":\"A\",\"step\":2},{\"expr\":\"(histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\", connection_security_policy=\\\"mutual_tls\\\",
|
|
destination_service=~\\\"$service\\\", source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P90 (\U0001F510mTLS)\",\"refId\":\"B\",\"step\":2},{\"expr\":\"(histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\", connection_security_policy=\\\"mutual_tls\\\",
|
|
destination_service=~\\\"$service\\\", source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P95 (\U0001F510mTLS)\",\"refId\":\"C\",\"step\":2},{\"expr\":\"(histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\", connection_security_policy=\\\"mutual_tls\\\",
|
|
destination_service=~\\\"$service\\\", source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P99 (\U0001F510mTLS)\",\"refId\":\"D\",\"step\":2},{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\", connection_security_policy!=\\\"mutual_tls\\\",
|
|
destination_service=~\\\"$service\\\", source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P50\",\"refId\":\"E\",\"step\":2},{\"expr\":\"(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\", connection_security_policy!=\\\"mutual_tls\\\",
|
|
destination_service=~\\\"$service\\\", source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P90\",\"refId\":\"F\",\"step\":2},{\"expr\":\"(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\", connection_security_policy!=\\\"mutual_tls\\\",
|
|
destination_service=~\\\"$service\\\", source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P95\",\"refId\":\"G\",\"step\":2},{\"expr\":\"(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\", connection_security_policy!=\\\"mutual_tls\\\",
|
|
destination_service=~\\\"$service\\\", source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[1m]))
|
|
by (source_workload, source_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P99\",\"refId\":\"H\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":8,\"y\":11},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 (\U0001F510mTLS)\",\"refId\":\"A\",\"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 (\U0001F510mTLS)\",\"refId\":\"B\",\"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 (\U0001F510mTLS)\",\"refId\":\"C\",\"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 (\U0001F510mTLS)\",\"refId\":\"D\",\"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,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":16,\"y\":11},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 (\U0001F510mTLS)\",\"refId\":\"A\",\"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 (\U0001F510mTLS)\",\"refId\":\"B\",\"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 (\U0001F510mTLS)\",\"refId\":\"C\",\"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 (\U0001F510mTLS)\",\"refId\":\"D\",\"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,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":0,\"y\":17},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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}} (\U0001F510mTLS)\",\"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,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":12,\"y\":17},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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_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}} (\U0001F510mTLS)\",\"refId\":\"A\",\"step\":2},{\"expr\":\"round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\\\"mutual_tls\\\",
|
|
reporter=\\\"destination\\\", 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,\"timeRegions\":[],\"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}}],\"title\":\"Client
|
|
Workloads\",\"type\":\"row\"},{\"collapsed\":true,\"gridPos\":{\"h\":1,\"w\":24,\"x\":0,\"y\":2},\"id\":102,\"panels\":[{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>SERVICE WORKLOADS</span>\\n</div>\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"gridPos\":{\"h\":3,\"w\":24,\"x\":0,\"y\":3},\"id\":69,\"links\":[],\"mode\":\"html\",\"options\":{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>SERVICE WORKLOADS</span>\\n</div>\",\"mode\":\"html\"},\"pluginVersion\":\"7.1.0\",\"title\":\"\",\"transparent\":true,\"type\":\"text\"},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":0,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":0,\"y\":6},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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
|
|
}} (\U0001F510mTLS)\",\"refId\":\"A\",\"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\":\"B\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"timeShift\":null,\"title\":\"Incoming
|
|
Requests By Destination Workload 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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":12,\"y\":6},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"pointradius\":5,\"points\":false,\"renderer\":\"flot\",\"seriesOverrides\":[],\"spaceLength\":10,\"stack\":false,\"steppedLine\":false,\"targets\":[{\"expr\":\"sum(irate(istio_requests_total{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",response_code!~\\\"5.*\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[5m]))
|
|
by (destination_workload, destination_workload_namespace) / sum(irate(istio_requests_total{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[5m]))
|
|
by (destination_workload, destination_workload_namespace)\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }} (\U0001F510mTLS)\",\"refId\":\"A\",\"step\":2},{\"expr\":\"sum(irate(istio_requests_total{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",response_code!~\\\"5.*\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[5m]))
|
|
by (destination_workload, destination_workload_namespace) / sum(irate(istio_requests_total{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[5m]))
|
|
by (destination_workload, destination_workload_namespace)\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }}\",\"refId\":\"B\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"timeShift\":null,\"title\":\"Incoming
|
|
Success Rate (non-5xx responses) By Destination Workload\",\"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\":\"\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":0,\"y\":12},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"pointradius\":5,\"points\":false,\"renderer\":\"flot\",\"seriesOverrides\":[],\"spaceLength\":10,\"stack\":false,\"steppedLine\":false,\"targets\":[{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }} P50 (\U0001F510mTLS)\",\"refId\":\"A\",\"step\":2},{\"expr\":\"(histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }} P90 (\U0001F510mTLS)\",\"refId\":\"B\",\"step\":2},{\"expr\":\"(histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }} P95 (\U0001F510mTLS)\",\"refId\":\"C\",\"step\":2},{\"expr\":\"(histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }} P99 (\U0001F510mTLS)\",\"refId\":\"D\",\"step\":2},{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }} P50\",\"refId\":\"E\",\"step\":2},{\"expr\":\"(histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }} P90\",\"refId\":\"F\",\"step\":2},{\"expr\":\"(histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }} P95\",\"refId\":\"G\",\"step\":2},{\"expr\":\"(histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_service=~\\\"$service\\\",
|
|
destination_workload=~\\\"$dstwl\\\", destination_workload_namespace=~\\\"$dstns\\\"}[1m]))
|
|
by (destination_workload, destination_workload_namespace, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_workload }}.{{ destination_workload_namespace }} P99\",\"refId\":\"H\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"timeShift\":null,\"title\":\"Incoming
|
|
Request Duration By Service Workload\",\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":8,\"y\":12},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 (\U0001F510mTLS)\",\"refId\":\"A\",\"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 (\U0001F510mTLS)\",\"refId\":\"B\",\"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 (\U0001F510mTLS)\",\"refId\":\"C\",\"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 (\U0001F510mTLS)\",\"refId\":\"D\",\"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,\"timeRegions\":[],\"timeShift\":null,\"title\":\"Incoming
|
|
Request Size By Service Workload\",\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":16,\"y\":12},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 (\U0001F510mTLS)\",\"refId\":\"A\",\"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 (\U0001F510mTLS)\",\"refId\":\"B\",\"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 (\U0001F510mTLS)\",\"refId\":\"C\",\"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 (\U0001F510mTLS)\",\"refId\":\"D\",\"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,\"timeRegions\":[],\"timeShift\":null,\"title\":\"Response
|
|
Size By Service Workload\",\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":0,\"y\":18},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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_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}} (\U0001F510mTLS)\",\"refId\":\"A\",\"step\":2},{\"expr\":\"round(sum(irate(istio_tcp_received_bytes_total{reporter=\\\"destination\\\",
|
|
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,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":12,\"y\":18},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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_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 }} (\U0001F510mTLS)\",\"refId\":\"A\",\"step\":2},{\"expr\":\"round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\\\"mutual_tls\\\",
|
|
reporter=\\\"destination\\\", 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,\"timeRegions\":[],\"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}}],\"title\":\"Service
|
|
Workloads\",\"type\":\"row\"}],\"refresh\":\"1m\",\"schemaVersion\":26,\"style\":\"dark\",\"tags\":[],\"templating\":{\"list\":[{\"current\":{\"selected\":true,\"text\":\"default\",\"value\":\"default\"},\"hide\":0,\"includeAll\":false,\"label\":null,\"multi\":false,\"name\":\"datasource\",\"options\":[],\"query\":\"prometheus\",\"queryValue\":\"\",\"refresh\":1,\"regex\":\"\",\"skipUrlSync\":false,\"type\":\"datasource\"},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"hide\":0,\"includeAll\":false,\"label\":\"Service\",\"multi\":false,\"name\":\"service\",\"options\":[],\"query\":\"label_values(destination_service)\",\"refresh\":1,\"regex\":\"\",\"skipUrlSync\":false,\"sort\":0,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"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=\\\"([^\\\"]*).*/\",\"skipUrlSync\":false,\"sort\":2,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"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=\\\"([^\\\"]*).*/\",\"skipUrlSync\":false,\"sort\":3,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"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=\\\"([^\\\"]*).*/\",\"skipUrlSync\":false,\"sort\":2,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"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=\\\"([^\\\"]*).*/\",\"skipUrlSync\":false,\"sort\":3,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false}]},\"time\":{\"from\":\"now-5m\",\"to\":\"now\"},\"timepicker\":{\"refresh_intervals\":[\"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}\n"
|
|
istio-workload-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\":1531345461465,\"links\":[],\"panels\":[{\"collapsed\":true,\"gridPos\":{\"h\":1,\"w\":24,\"x\":0,\"y\":0},\"id\":95,\"panels\":[{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>WORKLOAD: $workload.$namespace</span>\\n</div>\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"gridPos\":{\"h\":3,\"w\":24,\"x\":0,\"y\":1},\"id\":89,\"links\":[],\"mode\":\"html\",\"options\":{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>WORKLOAD: $workload.$namespace</span>\\n</div>\",\"mode\":\"html\"},\"pluginVersion\":\"7.1.0\",\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"ops\",\"gauge\":{\"maxValue\":100,\"minValue\":0,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":true},\"gridPos\":{\"h\":4,\"w\":8,\"x\":0,\"y\":4},\"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\",\"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,\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"percentunit\",\"gauge\":{\"maxValue\":100,\"minValue\":80,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":false},\"gridPos\":{\"h\":4,\"w\":8,\"x\":8,\"y\":4},\"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\":\"A\"}],\"thresholds\":\"95,
|
|
99, 99.5\",\"title\":\"Incoming Success Rate (non-5xx responses)\",\"type\":\"singlestat\",\"valueFontSize\":\"80%\",\"valueMaps\":[{\"op\":\"=\",\"text\":\"N/A\",\"value\":\"null\"}],\"valueName\":\"avg\"},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":4,\"w\":8,\"x\":16,\"y\":4},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"pointradius\":5,\"points\":false,\"renderer\":\"flot\",\"seriesOverrides\":[],\"spaceLength\":10,\"stack\":false,\"steppedLine\":false,\"targets\":[{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\"}[1m])) by (le)) / 1000) or
|
|
histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\"}[1m])) by (le))\",\"format\":\"time_series\",\"interval\":\"\",\"intervalFactor\":1,\"legendFormat\":\"P50\",\"refId\":\"A\"},{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\"}[1m])) by (le)) / 1000) or
|
|
histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\"}[1m])) by (le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"P90\",\"refId\":\"B\"},{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\"}[1m])) by (le)) / 1000) or
|
|
histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\"}[1m])) by (le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"P99\",\"refId\":\"C\"}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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}],\"yaxis\":{\"align\":false,\"alignLevel\":null}},{\"cacheTimeout\":null,\"colorBackground\":false,\"colorValue\":false,\"colors\":[\"#299c46\",\"rgba(237,
|
|
129, 40, 0.89)\",\"#d44a3a\"],\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"Bps\",\"gauge\":{\"maxValue\":100,\"minValue\":0,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":true},\"gridPos\":{\"h\":4,\"w\":12,\"x\":0,\"y\":8},\"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\",\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"format\":\"Bps\",\"gauge\":{\"maxValue\":100,\"minValue\":0,\"show\":false,\"thresholdLabels\":false,\"thresholdMarkers\":true},\"gridPos\":{\"h\":4,\"w\":12,\"x\":12,\"y\":8},\"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\",\"type\":\"singlestat\",\"valueFontSize\":\"80%\",\"valueMaps\":[{\"op\":\"=\",\"text\":\"N/A\",\"value\":\"null\"}],\"valueName\":\"avg\"}],\"title\":\"General\",\"type\":\"row\"},{\"collapsed\":true,\"gridPos\":{\"h\":1,\"w\":24,\"x\":0,\"y\":1},\"id\":93,\"panels\":[{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>INBOUND WORKLOADS</span>\\n</div>\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"gridPos\":{\"h\":3,\"w\":24,\"x\":0,\"y\":13},\"id\":45,\"links\":[],\"mode\":\"html\",\"options\":{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>INBOUND WORKLOADS</span>\\n</div>\",\"mode\":\"html\"},\"pluginVersion\":\"7.1.0\",\"title\":\"\",\"transparent\":true,\"type\":\"text\"},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":0,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":0,\"y\":16},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 }} (\U0001F510mTLS)\",\"refId\":\"A\",\"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\":\"B\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":12,\"y\":16},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"pointradius\":5,\"points\":false,\"renderer\":\"flot\",\"seriesOverrides\":[],\"spaceLength\":10,\"stack\":false,\"steppedLine\":false,\"targets\":[{\"expr\":\"sum(irate(istio_requests_total{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_workload_namespace=~\\\"$namespace\\\",
|
|
destination_workload=~\\\"$workload\\\",response_code!~\\\"5.*\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[5m])) by (source_workload, source_workload_namespace)
|
|
/ sum(irate(istio_requests_total{reporter=\\\"destination\\\", connection_security_policy=\\\"mutual_tls\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", destination_workload=~\\\"$workload\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[5m]))
|
|
by (source_workload, source_workload_namespace)\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
source_workload }}.{{ source_workload_namespace }} (\U0001F510mTLS)\",\"refId\":\"A\",\"step\":2},{\"expr\":\"sum(irate(istio_requests_total{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_workload_namespace=~\\\"$namespace\\\",
|
|
destination_workload=~\\\"$workload\\\",response_code!~\\\"5.*\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[5m])) by (source_workload, source_workload_namespace)
|
|
/ sum(irate(istio_requests_total{reporter=\\\"destination\\\", connection_security_policy!=\\\"mutual_tls\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", destination_workload=~\\\"$workload\\\",
|
|
source_workload=~\\\"$srcwl\\\", source_workload_namespace=~\\\"$srcns\\\"}[5m]))
|
|
by (source_workload, source_workload_namespace)\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
source_workload }}.{{ source_workload_namespace }}\",\"refId\":\"B\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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\":\"\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":0,\"y\":22},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"pointradius\":5,\"points\":false,\"renderer\":\"flot\",\"seriesOverrides\":[],\"spaceLength\":10,\"stack\":false,\"steppedLine\":false,\"targets\":[{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P50 (\U0001F510mTLS)\",\"refId\":\"A\",\"step\":2},{\"expr\":\"(histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P90 (\U0001F510mTLS)\",\"refId\":\"B\",\"step\":2},{\"expr\":\"(histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P95 (\U0001F510mTLS)\",\"refId\":\"C\",\"step\":2},{\"expr\":\"(histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P99 (\U0001F510mTLS)\",\"refId\":\"D\",\"step\":2},{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P50\",\"refId\":\"E\",\"step\":2},{\"expr\":\"(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P90\",\"refId\":\"F\",\"step\":2},{\"expr\":\"(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P95\",\"refId\":\"G\",\"step\":2},{\"expr\":\"(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"destination\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", destination_workload=~\\\"$workload\\\",
|
|
destination_workload_namespace=~\\\"$namespace\\\", source_workload=~\\\"$srcwl\\\",
|
|
source_workload_namespace=~\\\"$srcns\\\"}[1m])) by (source_workload, source_workload_namespace,
|
|
le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{source_workload}}.{{source_workload_namespace}}
|
|
P99\",\"refId\":\"H\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":8,\"y\":22},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 (\U0001F510mTLS)\",\"refId\":\"A\",\"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 (\U0001F510mTLS)\",\"refId\":\"B\",\"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 (\U0001F510mTLS)\",\"refId\":\"C\",\"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 (\U0001F510mTLS)\",\"refId\":\"D\",\"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,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":16,\"y\":22},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 (\U0001F510mTLS)\",\"refId\":\"A\",\"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 (\U0001F510mTLS)\",\"refId\":\"B\",\"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 (\U0001F510mTLS)\",\"refId\":\"C\",\"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 (\U0001F510mTLS)\",\"refId\":\"D\",\"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,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":0,\"y\":28},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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}} (\U0001F510mTLS)\",\"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,\"timeRegions\":[],\"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\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":12,\"y\":28},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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}} (\U0001F510mTLS)\",\"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,\"timeRegions\":[],\"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}}],\"title\":\"Inbound
|
|
Workloads\",\"type\":\"row\"},{\"collapsed\":true,\"gridPos\":{\"h\":1,\"w\":24,\"x\":0,\"y\":2},\"id\":91,\"panels\":[{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>OUTBOUND SERVICES</span>\\n</div>\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"gridPos\":{\"h\":3,\"w\":24,\"x\":0,\"y\":14},\"id\":69,\"links\":[],\"mode\":\"html\",\"options\":{\"content\":\"<div
|
|
class=\\\"dashboard-header text-center\\\">\\n<span>OUTBOUND SERVICES</span>\\n</div>\",\"mode\":\"html\"},\"pluginVersion\":\"7.1.0\",\"title\":\"\",\"transparent\":true,\"type\":\"text\"},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":0,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":0,\"y\":17},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 }} (\U0001F510mTLS)\",\"refId\":\"A\",\"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\":\"B\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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}],\"yaxis\":{\"align\":false,\"alignLevel\":null}},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":12,\"y\":17},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 }} (\U0001F510mTLS)\",\"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,\"timeRegions\":[],\"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}],\"yaxis\":{\"align\":false,\"alignLevel\":null}},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"description\":\"\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":0,\"y\":23},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"pointradius\":5,\"points\":false,\"renderer\":\"flot\",\"seriesOverrides\":[],\"spaceLength\":10,\"stack\":false,\"steppedLine\":false,\"targets\":[{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_service }} P50 (\U0001F510mTLS)\",\"refId\":\"A\",\"step\":2},{\"expr\":\"(histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_service }} P90 (\U0001F510mTLS)\",\"refId\":\"B\",\"step\":2},{\"expr\":\"(histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_service }} P95 (\U0001F510mTLS)\",\"refId\":\"C\",\"step\":2},{\"expr\":\"(histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_service }} P99 (\U0001F510mTLS)\",\"refId\":\"D\",\"step\":2},{\"expr\":\"(histogram_quantile(0.50,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_service }} P50\",\"refId\":\"E\",\"step\":2},{\"expr\":\"(histogram_quantile(0.90,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_service }} P90\",\"refId\":\"F\",\"step\":2},{\"expr\":\"(histogram_quantile(0.95,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_service }} P95\",\"refId\":\"G\",\"step\":2},{\"expr\":\"(histogram_quantile(0.99,
|
|
sum(irate(istio_request_duration_milliseconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\\\"source\\\",
|
|
connection_security_policy!=\\\"mutual_tls\\\", source_workload=~\\\"$workload\\\",
|
|
source_workload_namespace=~\\\"$namespace\\\", destination_service=~\\\"$dstsvc\\\"}[1m]))
|
|
by (destination_service, le))\",\"format\":\"time_series\",\"hide\":false,\"intervalFactor\":1,\"legendFormat\":\"{{
|
|
destination_service }} P99\",\"refId\":\"H\",\"step\":2}],\"thresholds\":[],\"timeFrom\":null,\"timeRegions\":[],\"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}],\"yaxis\":{\"align\":false,\"alignLevel\":null}},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":8,\"y\":23},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 (\U0001F510mTLS)\",\"refId\":\"A\",\"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 (\U0001F510mTLS)\",\"refId\":\"B\",\"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 (\U0001F510mTLS)\",\"refId\":\"C\",\"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 (\U0001F510mTLS)\",\"refId\":\"D\",\"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,\"timeRegions\":[],\"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}],\"yaxis\":{\"align\":false,\"alignLevel\":null}},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":8,\"x\":16,\"y\":23},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 (\U0001F510mTLS)\",\"refId\":\"A\",\"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 (\U0001F510mTLS)\",\"refId\":\"B\",\"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 (\U0001F510mTLS)\",\"refId\":\"C\",\"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 (\U0001F510mTLS)\",\"refId\":\"D\",\"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,\"timeRegions\":[],\"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}],\"yaxis\":{\"align\":false,\"alignLevel\":null}},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":0,\"y\":29},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 }} (\U0001F510mTLS)\",\"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,\"timeRegions\":[],\"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}],\"yaxis\":{\"align\":false,\"alignLevel\":null}},{\"aliasColors\":{},\"bars\":false,\"dashLength\":10,\"dashes\":false,\"datasource\":\"Prometheus\",\"fieldConfig\":{\"defaults\":{\"custom\":{}},\"overrides\":[]},\"fill\":1,\"fillGradient\":0,\"gridPos\":{\"h\":6,\"w\":12,\"x\":12,\"y\":29},\"hiddenSeries\":false,\"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,\"pluginVersion\":\"7.1.0\",\"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 }} (\U0001F510mTLS)\",\"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,\"timeRegions\":[],\"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}],\"yaxis\":{\"align\":false,\"alignLevel\":null}}],\"title\":\"Outbound
|
|
Services\",\"type\":\"row\"}],\"refresh\":\"1m\",\"schemaVersion\":26,\"style\":\"dark\",\"tags\":[],\"templating\":{\"list\":[{\"current\":{\"selected\":true,\"text\":\"default\",\"value\":\"default\"},\"hide\":0,\"includeAll\":false,\"label\":null,\"multi\":false,\"name\":\"datasource\",\"options\":[],\"query\":\"prometheus\",\"queryValue\":\"\",\"refresh\":1,\"regex\":\"\",\"skipUrlSync\":false,\"type\":\"datasource\"},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"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=\\\"([^\\\"]*).*/\",\"skipUrlSync\":false,\"sort\":0,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"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=\\\"([^\\\"]*).*/\",\"skipUrlSync\":false,\"sort\":1,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"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=\\\"([^\\\"]*).*/\",\"skipUrlSync\":false,\"sort\":2,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"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=\\\"([^\\\"]*).*/\",\"skipUrlSync\":false,\"sort\":3,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false},{\"allValue\":null,\"current\":{},\"datasource\":\"Prometheus\",\"definition\":\"\",\"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=\\\"([^\\\"]*).*/\",\"skipUrlSync\":false,\"sort\":4,\"tagValuesQuery\":\"\",\"tags\":[],\"tagsQuery\":\"\",\"type\":\"query\",\"useTags\":false}]},\"time\":{\"from\":\"now-5m\",\"to\":\"now\"},\"timepicker\":{\"refresh_intervals\":[\"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}\n"
|
|
kind: ConfigMap
|
|
metadata:
|
|
creationTimestamp: null
|
|
name: istio-services-grafana-dashboards
|
|
namespace: istio-system
|
|
---
|
|
# Jaeger Starts Here, from the Istio Integrations
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: jaeger
|
|
namespace: istio-system
|
|
labels:
|
|
app: jaeger
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: jaeger
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: jaeger
|
|
annotations:
|
|
sidecar.istio.io/inject: "false"
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "14269"
|
|
spec:
|
|
containers:
|
|
- name: jaeger
|
|
image: "docker.io/jaegertracing/all-in-one:1.20"
|
|
env:
|
|
- name: BADGER_EPHEMERAL
|
|
value: "false"
|
|
- name: SPAN_STORAGE_TYPE
|
|
value: "badger"
|
|
- name: BADGER_DIRECTORY_VALUE
|
|
value: "/badger/data"
|
|
- name: BADGER_DIRECTORY_KEY
|
|
value: "/badger/key"
|
|
- name: COLLECTOR_ZIPKIN_HTTP_PORT
|
|
value: "9411"
|
|
- name: MEMORY_MAX_TRACES
|
|
value: "50000"
|
|
- name: QUERY_BASE_PATH
|
|
value: /jaeger
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: 14269
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: 14269
|
|
volumeMounts:
|
|
- name: data
|
|
mountPath: /badger
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
volumes:
|
|
- name: data
|
|
emptyDir: {}
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: tracing
|
|
namespace: istio-system
|
|
labels:
|
|
app: jaeger
|
|
spec:
|
|
type: NodePort
|
|
ports:
|
|
- name: http-query
|
|
port: 80
|
|
protocol: TCP
|
|
targetPort: 16686
|
|
nodePort: 31001
|
|
selector:
|
|
app: jaeger
|
|
---
|
|
# Jaeger implements the Zipkin API. To support swapping out the tracing backend, we use a Service named Zipkin.
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
labels:
|
|
name: zipkin
|
|
name: zipkin
|
|
namespace: istio-system
|
|
spec:
|
|
ports:
|
|
- port: 9411
|
|
targetPort: 9411
|
|
name: http-query
|
|
selector:
|
|
app: jaeger
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: jaeger-collector
|
|
namespace: istio-system
|
|
labels:
|
|
app: jaeger
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- name: jaeger-collector-http
|
|
port: 14268
|
|
targetPort: 14268
|
|
protocol: TCP
|
|
- name: jaeger-collector-grpc
|
|
port: 14250
|
|
targetPort: 14250
|
|
protocol: TCP
|
|
selector:
|
|
app: jaeger
|
|
---
|
|
# Kiali Starts Here, from the Istio Integrations
|
|
|
|
|
|
---
|
|
# Source: kiali-server/templates/serviceaccount.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: kiali
|
|
namespace: istio-system
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: kiali
|
|
namespace: istio-system
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
data:
|
|
config.yaml: |
|
|
auth:
|
|
openid: {}
|
|
openshift:
|
|
client_id_prefix: kiali
|
|
strategy: anonymous
|
|
deployment:
|
|
accessible_namespaces:
|
|
- '**'
|
|
additional_service_yaml: {}
|
|
affinity:
|
|
node: {}
|
|
pod: {}
|
|
pod_anti: {}
|
|
custom_dashboards:
|
|
excludes:
|
|
- ""
|
|
includes:
|
|
- '*'
|
|
image_name: quay.io/kiali/kiali
|
|
image_pull_policy: Always
|
|
image_pull_secrets: []
|
|
image_version: v1.26
|
|
ingress_enabled: false
|
|
namespace: istio-system
|
|
node_selector: {}
|
|
override_ingress_yaml:
|
|
metadata: {}
|
|
pod_annotations:
|
|
sidecar.istio.io/inject: "false"
|
|
pod_labels: {}
|
|
priority_class_name: ""
|
|
replicas: 1
|
|
resources: {}
|
|
secret_name: kiali
|
|
service_annotations: {}
|
|
service_type: ""
|
|
tolerations: []
|
|
verbose_mode: "3"
|
|
version_label: v1.26.0
|
|
view_only_mode: false
|
|
external_services:
|
|
custom_dashboards:
|
|
enabled: true
|
|
identity:
|
|
cert_file: ""
|
|
private_key_file: ""
|
|
istio_namespace: istio-system
|
|
login_token:
|
|
signing_key: CHANGEME
|
|
server:
|
|
metrics_enabled: true
|
|
metrics_port: 9090
|
|
port: 20001
|
|
web_root: /kiali
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/role-viewer.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: kiali-viewer
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources:
|
|
- configmaps
|
|
- endpoints
|
|
- namespaces
|
|
- nodes
|
|
- pods
|
|
- pods/log
|
|
- pods/proxy
|
|
- replicationcontrollers
|
|
- services
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups: ["extensions", "apps"]
|
|
resources:
|
|
- deployments
|
|
- replicasets
|
|
- statefulsets
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups: ["autoscaling"]
|
|
resources:
|
|
- horizontalpodautoscalers
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups: ["batch"]
|
|
resources:
|
|
- cronjobs
|
|
- jobs
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- networking.istio.io
|
|
- security.istio.io
|
|
resources: ["*"]
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups: ["apps.openshift.io"]
|
|
resources:
|
|
- deploymentconfigs
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups: ["project.openshift.io"]
|
|
resources:
|
|
- projects
|
|
verbs:
|
|
- get
|
|
- apiGroups: ["route.openshift.io"]
|
|
resources:
|
|
- routes
|
|
verbs:
|
|
- get
|
|
- apiGroups: ["monitoring.kiali.io"]
|
|
resources:
|
|
- monitoringdashboards
|
|
verbs:
|
|
- get
|
|
- list
|
|
- apiGroups: ["iter8.tools"]
|
|
resources:
|
|
- experiments
|
|
verbs:
|
|
- get
|
|
- list
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/role.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: kiali
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources:
|
|
- configmaps
|
|
- endpoints
|
|
- namespaces
|
|
- nodes
|
|
- pods
|
|
- pods/log
|
|
- pods/proxy
|
|
- replicationcontrollers
|
|
- services
|
|
verbs:
|
|
- get
|
|
- list
|
|
- patch
|
|
- watch
|
|
- apiGroups: ["extensions", "apps"]
|
|
resources:
|
|
- deployments
|
|
- replicasets
|
|
- statefulsets
|
|
verbs:
|
|
- get
|
|
- list
|
|
- patch
|
|
- watch
|
|
- apiGroups: ["autoscaling"]
|
|
resources:
|
|
- horizontalpodautoscalers
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups: ["batch"]
|
|
resources:
|
|
- cronjobs
|
|
- jobs
|
|
verbs:
|
|
- get
|
|
- list
|
|
- patch
|
|
- watch
|
|
- apiGroups:
|
|
- networking.istio.io
|
|
- security.istio.io
|
|
resources: ["*"]
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- watch
|
|
- apiGroups: ["apps.openshift.io"]
|
|
resources:
|
|
- deploymentconfigs
|
|
verbs:
|
|
- get
|
|
- list
|
|
- patch
|
|
- watch
|
|
- apiGroups: ["project.openshift.io"]
|
|
resources:
|
|
- projects
|
|
verbs:
|
|
- get
|
|
- apiGroups: ["route.openshift.io"]
|
|
resources:
|
|
- routes
|
|
verbs:
|
|
- get
|
|
- apiGroups: ["monitoring.kiali.io"]
|
|
resources:
|
|
- monitoringdashboards
|
|
verbs:
|
|
- get
|
|
- list
|
|
- apiGroups: ["iter8.tools"]
|
|
resources:
|
|
- experiments
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- watch
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/rolebinding.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: kiali
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: kiali
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: kiali
|
|
namespace: istio-system
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: kiali
|
|
namespace: istio-system
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
annotations:
|
|
kiali.io/api-spec: https://kiali.io/api
|
|
kiali.io/api-type: rest
|
|
spec:
|
|
ports:
|
|
- name: http
|
|
protocol: TCP
|
|
port: 20001
|
|
nodePort: 31000
|
|
- name: http-metrics
|
|
protocol: TCP
|
|
port: 9090
|
|
type: NodePort
|
|
selector:
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: kiali
|
|
namespace: istio-system
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
strategy:
|
|
rollingUpdate:
|
|
maxSurge: 1
|
|
maxUnavailable: 1
|
|
type: RollingUpdate
|
|
template:
|
|
metadata:
|
|
name: kiali
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9090"
|
|
kiali.io/runtimes: go,kiali
|
|
sidecar.istio.io/inject: "false"
|
|
spec:
|
|
serviceAccountName: kiali
|
|
containers:
|
|
- image: "quay.io/kiali/kiali:v1.23"
|
|
imagePullPolicy: Always
|
|
name: kiali
|
|
command:
|
|
- "/opt/kiali/kiali"
|
|
- "-config"
|
|
- "/kiali-configuration/config.yaml"
|
|
ports:
|
|
- name: api-port
|
|
containerPort: 20001
|
|
- name: http-metrics
|
|
containerPort: 9090
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /kiali/healthz
|
|
port: api-port
|
|
scheme: HTTP
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 30
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /kiali/healthz
|
|
port: api-port
|
|
scheme: HTTP
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 30
|
|
env:
|
|
- name: ACTIVE_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
volumeMounts:
|
|
- name: kiali-configuration
|
|
mountPath: "/kiali-configuration"
|
|
- name: kiali-cert
|
|
mountPath: "/kiali-cert"
|
|
- name: kiali-secret
|
|
mountPath: "/kiali-secret"
|
|
volumes:
|
|
- name: kiali-configuration
|
|
configMap:
|
|
name: kiali
|
|
- name: kiali-cert
|
|
secret:
|
|
secretName: istio.kiali-service-account
|
|
optional: true
|
|
- name: kiali-secret
|
|
secret:
|
|
secretName: kiali
|
|
optional: true
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/envoy.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: envoy
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
title: Envoy Metrics
|
|
# discoverOn: "envoy_server_uptime"
|
|
items:
|
|
- chart:
|
|
name: "Pods uptime"
|
|
spans: 4
|
|
metricName: "envoy_server_uptime"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Allocated memory"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "envoy_server_memory_allocated"
|
|
dataType: "raw"
|
|
min: 0
|
|
- chart:
|
|
name: "Heap size"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "envoy_server_memory_heap_size"
|
|
dataType: "raw"
|
|
min: 0
|
|
- chart:
|
|
name: "Upstream active connections"
|
|
spans: 6
|
|
metricName: "envoy_cluster_upstream_cx_active"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Upstream total requests"
|
|
spans: 6
|
|
metricName: "envoy_cluster_upstream_rq_total"
|
|
unit: "rps"
|
|
dataType: "rate"
|
|
- chart:
|
|
name: "Downstream active connections"
|
|
spans: 6
|
|
metricName: "envoy_listener_downstream_cx_active"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Downstream HTTP requests"
|
|
spans: 6
|
|
metricName: "envoy_listener_http_downstream_rq"
|
|
unit: "rps"
|
|
dataType: "rate"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/go.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: go
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
title: Go Metrics
|
|
runtime: Go
|
|
discoverOn: "go_info"
|
|
items:
|
|
- chart:
|
|
name: "CPU ratio"
|
|
spans: 6
|
|
metricName: "process_cpu_seconds_total"
|
|
dataType: "rate"
|
|
aggregations:
|
|
- label: "pod_name"
|
|
displayName: "Pod"
|
|
- chart:
|
|
name: "RSS Memory"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "process_resident_memory_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "pod_name"
|
|
displayName: "Pod"
|
|
- chart:
|
|
name: "Goroutines"
|
|
spans: 6
|
|
metricName: "go_goroutines"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "pod_name"
|
|
displayName: "Pod"
|
|
- chart:
|
|
name: "Heap allocation rate"
|
|
unit: "bytes/s"
|
|
spans: 6
|
|
metricName: "go_memstats_alloc_bytes_total"
|
|
dataType: "rate"
|
|
aggregations:
|
|
- label: "pod_name"
|
|
displayName: "Pod"
|
|
- chart:
|
|
name: "GC rate"
|
|
spans: 6
|
|
metricName: "go_gc_duration_seconds_count"
|
|
dataType: "rate"
|
|
aggregations:
|
|
- label: "pod_name"
|
|
displayName: "Pod"
|
|
- chart:
|
|
name: "Next GC"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "go_memstats_next_gc_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "pod_name"
|
|
displayName: "Pod"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/kiali.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: kiali
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
title: Kiali Internal Metrics
|
|
items:
|
|
- chart:
|
|
name: "API processing duration"
|
|
unit: "seconds"
|
|
spans: 6
|
|
metricName: "kiali_api_processing_duration_seconds"
|
|
dataType: "histogram"
|
|
aggregations:
|
|
- label: "route"
|
|
displayName: "Route"
|
|
- chart:
|
|
name: "Functions processing duration"
|
|
unit: "seconds"
|
|
spans: 6
|
|
metricName: "kiali_go_function_processing_duration_seconds"
|
|
dataType: "histogram"
|
|
aggregations:
|
|
- label: "function"
|
|
displayName: "Function"
|
|
- label: "package"
|
|
displayName: "Package"
|
|
- chart:
|
|
name: "Failures"
|
|
spans: 12
|
|
metricName: "kiali_go_function_failures_total"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "function"
|
|
displayName: "Function"
|
|
- label: "package"
|
|
displayName: "Package"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/micrometer-1.0.6-jvm-pool.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: micrometer-1.0.6-jvm-pool
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: JVM
|
|
title: JVM Pool Metrics
|
|
discoverOn: "jvm_buffer_total_capacity_bytes"
|
|
items:
|
|
- chart:
|
|
name: "Pool buffer memory used"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "jvm_buffer_memory_used_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "id"
|
|
displayName: "Pool"
|
|
- chart:
|
|
name: "Pool buffer capacity"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "jvm_buffer_total_capacity_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "id"
|
|
displayName: "Pool"
|
|
- chart:
|
|
name: "Pool buffer count"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "jvm_buffer_count"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "id"
|
|
displayName: "Pool"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/micrometer-1.0.6-jvm.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: micrometer-1.0.6-jvm
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: JVM
|
|
title: JVM Metrics
|
|
discoverOn: "jvm_threads_live"
|
|
items:
|
|
- chart:
|
|
name: "Total live threads"
|
|
spans: 4
|
|
metricName: "jvm_threads_live"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Daemon threads"
|
|
spans: 4
|
|
metricName: "jvm_threads_daemon"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Loaded classes"
|
|
spans: 4
|
|
metricName: "jvm_classes_loaded"
|
|
dataType: "raw"
|
|
|
|
- chart:
|
|
name: "Memory used"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "jvm_memory_used_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "area"
|
|
displayName: "Area"
|
|
- label: "id"
|
|
displayName: "Space"
|
|
- chart:
|
|
name: "Memory commited"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "jvm_memory_committed_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "area"
|
|
displayName: "Area"
|
|
- label: "id"
|
|
displayName: "Space"
|
|
- chart:
|
|
name: "Memory max"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "jvm_memory_max_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "area"
|
|
displayName: "Area"
|
|
- label: "id"
|
|
displayName: "Space"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/micrometer-1.1-jvm.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: micrometer-1.1-jvm
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: JVM
|
|
title: JVM Metrics
|
|
discoverOn: "jvm_threads_live_threads"
|
|
items:
|
|
- chart:
|
|
name: "Memory used"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "jvm_memory_used_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "area"
|
|
displayName: "Area"
|
|
- label: "id"
|
|
displayName: "Space"
|
|
- chart:
|
|
name: "Memory commited"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "jvm_memory_committed_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "area"
|
|
displayName: "Area"
|
|
- label: "id"
|
|
displayName: "Space"
|
|
- chart:
|
|
name: "Memory max"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "jvm_memory_max_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "area"
|
|
displayName: "Area"
|
|
- label: "id"
|
|
displayName: "Space"
|
|
|
|
- chart:
|
|
name: "Total live threads"
|
|
spans: 4
|
|
metricName: "jvm_threads_live_threads"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Daemon threads"
|
|
spans: 4
|
|
metricName: "jvm_threads_daemon_threads"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Threads states"
|
|
spans: 4
|
|
metricName: "jvm_threads_states_threads"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "state"
|
|
displayName: "State"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/microprofile-1.1.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: microprofile-1.1
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
title: MicroProfile Metrics
|
|
runtime: MicroProfile
|
|
discoverOn: "base:thread_count"
|
|
items:
|
|
- chart:
|
|
name: "Current loaded classes"
|
|
spans: 6
|
|
metricName: "base:classloader_current_loaded_class_count"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Unloaded classes"
|
|
spans: 6
|
|
metricName: "base:classloader_total_unloaded_class_count"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Thread count"
|
|
spans: 4
|
|
metricName: "base:thread_count"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Thread max count"
|
|
spans: 4
|
|
metricName: "base:thread_max_count"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Thread daemon count"
|
|
spans: 4
|
|
metricName: "base:thread_daemon_count"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Committed heap"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "base:memory_committed_heap_bytes"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Max heap"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "base:memory_max_heap_bytes"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Used heap"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "base:memory_used_heap_bytes"
|
|
dataType: "raw"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/microprofile-x.y.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: microprofile-x.y
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
title: MicroProfile Metrics
|
|
runtime: MicroProfile
|
|
discoverOn: "base:gc_complete_scavenger_count"
|
|
items:
|
|
- chart:
|
|
name: "Young GC time"
|
|
unit: "seconds"
|
|
spans: 3
|
|
metricName: "base:gc_young_generation_scavenger_time_seconds"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Young GC count"
|
|
spans: 3
|
|
metricName: "base:gc_young_generation_scavenger_count"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Total GC time"
|
|
unit: "seconds"
|
|
spans: 3
|
|
metricName: "base:gc_complete_scavenger_time_seconds"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Total GC count"
|
|
spans: 3
|
|
metricName: "base:gc_complete_scavenger_count"
|
|
dataType: "raw"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/nodejs.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: nodejs
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Node.js
|
|
title: Node.js Metrics
|
|
discoverOn: "nodejs_active_handles_total"
|
|
items:
|
|
- chart:
|
|
name: "Active handles"
|
|
spans: 4
|
|
metricName: "nodejs_active_handles_total"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Active requests"
|
|
spans: 4
|
|
metricName: "nodejs_active_requests_total"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Event loop lag"
|
|
unit: "seconds"
|
|
spans: 4
|
|
metricName: "nodejs_eventloop_lag_seconds"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Total heap size"
|
|
unit: "bytes"
|
|
spans: 12
|
|
metricName: "nodejs_heap_space_size_total_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "space"
|
|
displayName: "Space"
|
|
- chart:
|
|
name: "Used heap size"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "nodejs_heap_space_size_used_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "space"
|
|
displayName: "Space"
|
|
- chart:
|
|
name: "Available heap size"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "nodejs_heap_space_size_available_bytes"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "space"
|
|
displayName: "Space"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/quarkus.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: quarkus
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
title: Quarkus Metrics
|
|
runtime: Quarkus
|
|
items:
|
|
- chart:
|
|
name: "Thread count"
|
|
spans: 4
|
|
metricName: "vendor:thread_count"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Used heap"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "vendor:memory_heap_usage_bytes"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Used non-heap"
|
|
unit: "bytes"
|
|
spans: 4
|
|
metricName: "vendor:memory_non_heap_usage_bytes"
|
|
dataType: "raw"
|
|
- include: "microprofile-x.y"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/springboot-jvm-pool.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: springboot-jvm-pool
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Spring Boot
|
|
title: JVM Pool Metrics
|
|
items:
|
|
- include: "micrometer-1.0.6-jvm-pool"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/springboot-jvm.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: springboot-jvm
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Spring Boot
|
|
title: JVM Metrics
|
|
items:
|
|
- include: "micrometer-1.0.6-jvm"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/springboot-tomcat.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: springboot-tomcat
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Spring Boot
|
|
title: Tomcat Metrics
|
|
items:
|
|
- include: "tomcat"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/thorntail.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: thorntail
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Thorntail
|
|
title: Thorntail Metrics
|
|
discoverOn: "vendor:loaded_modules"
|
|
items:
|
|
- include: "microprofile-1.1"
|
|
- chart:
|
|
name: "Loaded modules"
|
|
spans: 6
|
|
metricName: "vendor:loaded_modules"
|
|
dataType: "raw"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/tomcat.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: tomcat
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Tomcat
|
|
title: Tomcat Metrics
|
|
discoverOn: "tomcat_sessions_created_total"
|
|
items:
|
|
- chart:
|
|
name: "Sessions created"
|
|
spans: 4
|
|
metricName: "tomcat_sessions_created_total"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Active sessions"
|
|
spans: 4
|
|
metricName: "tomcat_sessions_active_current"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Sessions rejected"
|
|
spans: 4
|
|
metricName: "tomcat_sessions_rejected_total"
|
|
dataType: "raw"
|
|
|
|
- chart:
|
|
name: "Bytes sent"
|
|
unit: "bitrate"
|
|
spans: 6
|
|
metricName: "tomcat_global_sent_bytes_total"
|
|
dataType: "rate"
|
|
aggregations:
|
|
- label: "name"
|
|
displayName: "Name"
|
|
- chart:
|
|
name: "Bytes received"
|
|
unit: "bitrate"
|
|
spans: 6
|
|
metricName: "tomcat_global_received_bytes_total"
|
|
dataType: "rate"
|
|
aggregations:
|
|
- label: "name"
|
|
displayName: "Name"
|
|
|
|
- chart:
|
|
name: "Global errors"
|
|
spans: 6
|
|
metricName: "tomcat_global_error_total"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "name"
|
|
displayName: "Name"
|
|
- chart:
|
|
name: "Servlet errors"
|
|
spans: 6
|
|
metricName: "tomcat_servlet_error_total"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "name"
|
|
displayName: "Name"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/vertx-client.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: vertx-client
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Vert.x
|
|
title: Vert.x Client Metrics
|
|
discoverOn: "vertx_http_client_connections"
|
|
items:
|
|
- chart:
|
|
name: "Client response time"
|
|
unit: "seconds"
|
|
spans: 6
|
|
metricName: "vertx_http_client_responseTime_seconds"
|
|
dataType: "histogram"
|
|
aggregations:
|
|
- label: "path"
|
|
displayName: "Path"
|
|
- label: "method"
|
|
displayName: "Method"
|
|
- chart:
|
|
name: "Client request count rate"
|
|
unit: "ops"
|
|
spans: 6
|
|
metricName: "vertx_http_client_requestCount_total"
|
|
dataType: "rate"
|
|
aggregations:
|
|
- label: "path"
|
|
displayName: "Path"
|
|
- label: "method"
|
|
displayName: "Method"
|
|
- chart:
|
|
name: "Client active connections"
|
|
spans: 6
|
|
metricName: "vertx_http_client_connections"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Client active websockets"
|
|
spans: 6
|
|
metricName: "vertx_http_client_wsConnections"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Client bytes sent"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "vertx_http_client_bytesSent"
|
|
dataType: "histogram"
|
|
- chart:
|
|
name: "Client bytes received"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "vertx_http_client_bytesReceived"
|
|
dataType: "histogram"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/vertx-eventbus.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: vertx-eventbus
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Vert.x
|
|
title: Vert.x Eventbus Metrics
|
|
discoverOn: "vertx_eventbus_handlers"
|
|
items:
|
|
- chart:
|
|
name: "Event bus handlers"
|
|
spans: 6
|
|
metricName: "vertx_eventbus_handlers"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "address"
|
|
displayName: "Eventbus address"
|
|
- chart:
|
|
name: "Event bus pending messages"
|
|
spans: 6
|
|
metricName: "vertx_eventbus_pending"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "address"
|
|
displayName: "Eventbus address"
|
|
- chart:
|
|
name: "Event bus processing time"
|
|
unit: "seconds"
|
|
spans: 6
|
|
metricName: "vertx_eventbus_processingTime_seconds"
|
|
dataType: "histogram"
|
|
aggregations:
|
|
- label: "address"
|
|
displayName: "Eventbus address"
|
|
- chart:
|
|
name: "Event bus bytes read"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "vertx_eventbus_bytesRead"
|
|
dataType: "histogram"
|
|
aggregations:
|
|
- label: "address"
|
|
displayName: "Eventbus address"
|
|
- chart:
|
|
name: "Event bus bytes written"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "vertx_eventbus_bytesWritten"
|
|
dataType: "histogram"
|
|
aggregations:
|
|
- label: "address"
|
|
displayName: "Eventbus address"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/vertx-jvm.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: vertx-jvm
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Vert.x
|
|
title: JVM Metrics
|
|
items:
|
|
- include: "micrometer-1.1-jvm"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/vertx-pool.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: vertx-pool
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Vert.x
|
|
title: Vert.x Pools Metrics
|
|
discoverOn: "vertx_pool_ratio"
|
|
items:
|
|
- chart:
|
|
name: "Usage duration"
|
|
unit: "seconds"
|
|
spans: 6
|
|
metricName: "vertx_pool_usage_seconds"
|
|
dataType: "histogram"
|
|
aggregations:
|
|
- label: "pool_name"
|
|
displayName: "Name"
|
|
- label: "pool_type"
|
|
displayName: "Type"
|
|
- chart:
|
|
name: "Usage ratio"
|
|
spans: 6
|
|
metricName: "vertx_pool_ratio"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "pool_name"
|
|
displayName: "Name"
|
|
- label: "pool_type"
|
|
displayName: "Type"
|
|
- chart:
|
|
name: "Queue size"
|
|
spans: 6
|
|
metricName: "vertx_pool_queue_size"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "pool_name"
|
|
displayName: "Name"
|
|
- label: "pool_type"
|
|
displayName: "Type"
|
|
- chart:
|
|
name: "Time in queue"
|
|
unit: "seconds"
|
|
spans: 6
|
|
metricName: "vertx_pool_queue_delay_seconds"
|
|
dataType: "histogram"
|
|
aggregations:
|
|
- label: "pool_name"
|
|
displayName: "Name"
|
|
- label: "pool_type"
|
|
displayName: "Type"
|
|
- chart:
|
|
name: "Resources used"
|
|
spans: 6
|
|
metricName: "vertx_pool_inUse"
|
|
dataType: "raw"
|
|
aggregations:
|
|
- label: "pool_name"
|
|
displayName: "Name"
|
|
- label: "pool_type"
|
|
displayName: "Type"
|
|
...
|
|
---
|
|
# Source: kiali-server/templates/dashboards/vertx-server.yaml
|
|
apiVersion: "monitoring.kiali.io/v1alpha1"
|
|
kind: MonitoringDashboard
|
|
metadata:
|
|
name: vertx-server
|
|
labels:
|
|
helm.sh/chart: kiali-server-1.26.0
|
|
app: kiali
|
|
app.kubernetes.io/name: kiali
|
|
app.kubernetes.io/instance: kiali-server
|
|
version: "v1.26.0"
|
|
app.kubernetes.io/version: "v1.26.0"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
runtime: Vert.x
|
|
title: Vert.x Server Metrics
|
|
discoverOn: "vertx_http_server_connections"
|
|
items:
|
|
- chart:
|
|
name: "Server response time"
|
|
unit: "seconds"
|
|
spans: 6
|
|
metricName: "vertx_http_server_responseTime_seconds"
|
|
dataType: "histogram"
|
|
aggregations:
|
|
- label: "path"
|
|
displayName: "Path"
|
|
- label: "method"
|
|
displayName: "Method"
|
|
- chart:
|
|
name: "Server request count rate"
|
|
unit: "ops"
|
|
spans: 6
|
|
metricName: "vertx_http_server_requestCount_total"
|
|
dataType: "rate"
|
|
aggregations:
|
|
- label: "code"
|
|
displayName: "Error code"
|
|
- label: "path"
|
|
displayName: "Path"
|
|
- label: "method"
|
|
displayName: "Method"
|
|
- chart:
|
|
name: "Server active connections"
|
|
spans: 6
|
|
metricName: "vertx_http_server_connections"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Server active websockets"
|
|
spans: 6
|
|
metricName: "vertx_http_server_wsConnections"
|
|
dataType: "raw"
|
|
- chart:
|
|
name: "Server bytes sent"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "vertx_http_server_bytesSent"
|
|
dataType: "histogram"
|
|
- chart:
|
|
name: "Server bytes received"
|
|
unit: "bytes"
|
|
spans: 6
|
|
metricName: "vertx_http_server_bytesReceived"
|
|
dataType: "histogram"
|
|
...
|