diff --git a/packages/gui/public/meshconfig.yaml b/packages/gui/public/meshconfig.yaml index 6c1adca..17a9d05 100644 --- a/packages/gui/public/meshconfig.yaml +++ b/packages/gui/public/meshconfig.yaml @@ -12,7 +12,7 @@ osm: # -- Container image pull policy for control plane containers pullPolicy: IfNotPresent # -- Container image tag for control plane images - tag: "1.2.0" + tag: "1.3.0" # -- Image name defaults name: # -- osm-controller's image name @@ -57,7 +57,7 @@ osm: sidecarDrivers: - sidecarName: pipy # -- Sidecar image for Linux workloads - sidecarImage: flomesh/pipy:0.70.0-2 + sidecarImage: flomesh/pipy:0.90.0-18 # -- Remote destination port on which the Discovery Service listens for new connections from Sidecars. proxyServerPort: 6060 - sidecarName: envoy @@ -69,8 +69,74 @@ osm: proxyServerPort: 15128 # -- Curl image for control plane init container curlImage: curlimages/curl - # -- Pipy repo image for Pipy sidecar's proxy control plane container - pipyRepoImage: flomesh/pipy-repo:0.70.0-2 + + # -- Pipy RepoServer + repoServer: + # -- Image used for Pipy RepoServer + image: flomesh/pipy-repo:0.90.0-18 + # -- if false , Pipy RepoServer is installed within osmController pod. + standalone: false + # -- ipaddr of host/service where Pipy RepoServer is installed + ipaddr: "127.0.0.1" + # -- codebase is the folder used by osmController. + codebase: "" + + pluginChains: + inbound-tcp: + - plugin: modules/inbound-tls-termination + priority: 130 + disable: false + - plugin: modules/inbound-tcp-routing + priority: 120 + disable: false + - plugin: modules/inbound-tcp-load-balancing + priority: 110 + disable: false + - plugin: modules/inbound-tcp-default + priority: 100 + disable: false + inbound-http: + - plugin: modules/inbound-tls-termination + priority: 180 + - plugin: modules/inbound-http-routing + priority: 170 + - plugin: modules/inbound-metrics-http + priority: 160 + - plugin: modules/inbound-tracing-http + priority: 150 + - plugin: modules/inbound-logging-http + priority: 140 + - plugin: modules/inbound-throttle-service + priority: 130 + - plugin: modules/inbound-throttle-route + priority: 120 + - plugin: modules/inbound-http-load-balancing + priority: 110 + - plugin: modules/inbound-http-default + priority: 100 + outbound-tcp: + - plugin: modules/outbound-tcp-routing + priority: 120 + - plugin: modules/outbound-tcp-load-balancing + priority: 110 + - plugin: modules/outbound-tcp-default + priority: 100 + outbound-http: + - plugin: modules/outbound-http-routing + priority: 160 + - plugin: modules/outbound-metrics-http + priority: 150 + - plugin: modules/outbound-tracing-http + priority: 140 + - plugin: modules/outbound-logging-http + priority: 130 + - plugin: modules/outbound-circuit-breaker + priority: 120 + - plugin: modules/outbound-http-load-balancing + priority: 110 + - plugin: modules/outbound-http-default + priority: 100 + # # -- OSM controller parameters osmController: @@ -272,6 +338,9 @@ osm: # -- Enable permissive traffic policy mode enablePermissiveTrafficPolicy: true + # -- Traffic interception mode in the mesh + trafficInterceptionMode: iptables + # -- Enable egress in the mesh enableEgress: true @@ -323,11 +392,15 @@ osm: # -- Proxy mode for the proxy sidecar. Acceptable values are ['Localhost', 'PodIP'] localProxyMode: Localhost + # -- Local DNS Proxy improves the performance of your computer by caching the responses coming from your DNS servers + localDNSProxy: + enable: false + # -- Sets the max data plane connections allowed for an instance of osm-controller, set to 0 to not enforce limits maxDataPlaneConnections: 0 # -- Sets the resync interval for regular proxy broadcast updates, set to 0s to not enforce any resync - configResyncInterval: "0s" + configResyncInterval: "90s" # -- Controller log verbosity controllerLogLevel: info @@ -356,6 +429,8 @@ osm: port: 9411 # -- Tracing collector's API path where the spans will be sent to endpoint: "/api/v2/spans" + # -- Sampled Fraction + sampledFraction: "1.0" # -- Image used for tracing image: jaegertracing/all-in-one @@ -402,6 +477,8 @@ osm: endpoint: "" # -- The authorization for remote logging service authorization: "" + # -- Sampled Fraction + sampledFraction: "1.0" # -- Specifies a global list of IP ranges to exclude from outbound traffic interception by the sidecar proxy. # If specified, must be a list of IP ranges of the form a.b.c.d/x. @@ -499,7 +576,7 @@ osm: # -- Feature flags for experimental features featureFlags: # -- Enable extra Envoy statistics generated by a custom WASM extension - enableWASMStats: true + enableWASMStats: false # -- Enable OSM's Egress policy API. # When enabled, fine grained control over Egress (external) traffic is enforced enableEgressPolicy: true @@ -519,6 +596,8 @@ osm: enableSnapshotCacheMode: false # -- Enable Retry Policy for automatic request retries enableRetryPolicy: false + # -- Enable Plugin Policy for extend + enablePluginPolicy: false # -- Enable the MeshRootCertificate to configure the OSM certificate provider enableMeshRootCertificate: false diff --git a/packages/server/api/mesh/services/mesh.js b/packages/server/api/mesh/services/mesh.js index 1cfd7de..b2ec59e 100644 --- a/packages/server/api/mesh/services/mesh.js +++ b/packages/server/api/mesh/services/mesh.js @@ -129,7 +129,7 @@ module.exports = { }); if (result.mcsEnable) { - let helmFsmCmd = `helm repo add fsm https://charts.flomesh.io && helm install --namespace ${result.namespace.name} --kubeconfig ${kubeconfigPath} --set fsm.logLevel=5 --version=0.2.0-beta.3 fsm fsm/fsm --create-namespace`; + let helmFsmCmd = `helm repo add fsm https://charts.flomesh.io && helm install --namespace ${result.namespace.name} --kubeconfig ${kubeconfigPath} --set fsm.logLevel=5 --version=0.2.0 fsm fsm/fsm --create-namespace`; if (result.timeout) { helmFsmCmd += ' --timeout ${result.timeout}'; @@ -160,9 +160,6 @@ module.exports = { result.namespace.name ); const name = "cluster" + registry.id; - const ca = registry.content.certificate; - const token = registry.content.credit; - const server = registry.address; const cluster = { apiVersion: 'flomesh.io/v1alpha1', kind: 'Cluster', @@ -172,7 +169,7 @@ module.exports = { spec: { gatewayHost: res.body.status.loadBalancer.ingress[0].ip, gatewayPort: res.body.spec.ports[0].port, - kubeconfig: `apiVersion: v1\nclusters:\n- cluster:\n certificate-authority-data: ${ca}\n server: ${server}\n name: fsm-${name}\ncontexts:\n- context:\n cluster: fsm-${name}\n user: admin@fsm-${name}\n name: fsm-${name}\ncurrent-context: fsm-${name}\nkind: Config\npreferences: {}\nusers:\n- name: admin@fsm-${name}\n user:\n token: ${token}`, + kubeconfig: registry.config, }, }; diff --git a/packages/server/charts/osm/Chart.lock b/packages/server/charts/osm/Chart.lock index ffef339..95a1cd8 100644 --- a/packages/server/charts/osm/Chart.lock +++ b/packages/server/charts/osm/Chart.lock @@ -4,6 +4,6 @@ dependencies: version: 8.0.4 - name: fsm repository: https://charts.flomesh.io - version: 0.1.7 -digest: sha256:e799592467e9b95fbd540922c1d388061da59be79fc7865244a864f72adfbf6b -generated: "2022-09-17T10:20:22.129884+08:00" + version: 0.2.0 +digest: sha256:be8ced3d604a29b0ba0238a3e5ce023e0481f3a4dbedb72addaa49eed1d9c665 +generated: "2023-01-26T22:30:29.607702+08:00" diff --git a/packages/server/charts/osm/Chart.yaml b/packages/server/charts/osm/Chart.yaml index bfb2b78..454d10d 100644 --- a/packages/server/charts/osm/Chart.yaml +++ b/packages/server/charts/osm/Chart.yaml @@ -14,11 +14,11 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 1.2.0 +version: 1.3.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: v1.2.0 +appVersion: v1.3.0 # This specifies the minimum Kubernetes version OSM is compatible with. kubeVersion: ">= 1.19.0-0" @@ -29,6 +29,6 @@ dependencies: repository: https://charts.bitnami.com/bitnami condition: contour.enabled - name: fsm - version: 0.1.7 + version: 0.2.0 repository: https://charts.flomesh.io condition: fsm.enabled diff --git a/packages/server/charts/osm/README.md b/packages/server/charts/osm/README.md index db44935..362f2d7 100644 --- a/packages/server/charts/osm/README.md +++ b/packages/server/charts/osm/README.md @@ -1,6 +1,6 @@ # Open Service Mesh Edge Helm Chart -![Version: 1.2.0](https://img.shields.io/badge/Version-1.2.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.2.0](https://img.shields.io/badge/AppVersion-v1.2.0-informational?style=flat-square) +![Version: 1.3.0](https://img.shields.io/badge/Version-1.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.3.0](https://img.shields.io/badge/AppVersion-v1.3.0-informational?style=flat-square) A Helm chart to install the [osm-edge](https://github.com/flomesh-io/osm-edge) control plane on Kubernetes. @@ -79,7 +79,7 @@ The following table lists the configurable parameters of the osm chart and their | osm.cleanup.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[1].values[1] | string | `"arm64"` | | | osm.cleanup.nodeSelector | object | `{}` | | | osm.cleanup.tolerations | list | `[]` | Node tolerations applied to control plane pods. The specified tolerations allow pods to schedule onto nodes with matching taints. | -| osm.configResyncInterval | string | `"0s"` | Sets the resync interval for regular proxy broadcast updates, set to 0s to not enforce any resync | +| osm.configResyncInterval | string | `"90s"` | Sets the resync interval for regular proxy broadcast updates, set to 0s to not enforce any resync | | osm.controlPlaneTolerations | list | `[]` | Node tolerations applied to control plane pods. The specified tolerations allow pods to schedule onto nodes with matching taints. | | osm.controllerLogLevel | string | `"info"` | Controller log verbosity | | osm.curlImage | string | `"curlimages/curl"` | Curl image for control plane init container | @@ -99,10 +99,11 @@ The following table lists the configurable parameters of the osm chart and their | osm.featureFlags.enableEgressPolicy | bool | `true` | Enable OSM's Egress policy API. When enabled, fine grained control over Egress (external) traffic is enforced | | osm.featureFlags.enableIngressBackendPolicy | bool | `true` | Enables OSM's IngressBackend policy API. When enabled, OSM will use the IngressBackend API allow ingress traffic to mesh backends | | osm.featureFlags.enableMeshRootCertificate | bool | `false` | Enable the MeshRootCertificate to configure the OSM certificate provider | +| osm.featureFlags.enablePluginPolicy | bool | `false` | Enable Plugin Policy for extend | | osm.featureFlags.enableRetryPolicy | bool | `false` | Enable Retry Policy for automatic request retries | | osm.featureFlags.enableSidecarActiveHealthChecks | bool | `false` | Enable Sidecar active health checks | | osm.featureFlags.enableSnapshotCacheMode | bool | `false` | Enables SnapshotCache feature for Sidecar xDS server. | -| osm.featureFlags.enableWASMStats | bool | `true` | Enable extra Envoy statistics generated by a custom WASM extension | +| osm.featureFlags.enableWASMStats | bool | `false` | Enable extra Envoy statistics generated by a custom WASM extension | | osm.fluentBit.enableProxySupport | bool | `false` | Enable proxy support toggle for Fluent Bit | | osm.fluentBit.httpProxy | string | `""` | Optional HTTP proxy endpoint for Fluent Bit | | osm.fluentBit.httpsProxy | string | `""` | Optional HTTPS proxy endpoint for Fluent Bit | @@ -147,7 +148,7 @@ The following table lists the configurable parameters of the osm chart and their | osm.image.name.osmSidecarInit | string | `"osm-edge-sidecar-init"` | Sidecar init container's image name | | osm.image.pullPolicy | string | `"IfNotPresent"` | Container image pull policy for control plane containers | | osm.image.registry | string | `"flomesh"` | Container image registry for control plane images | -| osm.image.tag | string | `"1.2.0"` | Container image tag for control plane images | +| osm.image.tag | string | `"1.3.0"` | Container image tag for control plane images | | osm.imagePullSecrets | list | `[]` | `osm-controller` image pull secret | | osm.inboundPortExclusionList | list | `[]` | Specifies a global list of ports to exclude from inbound traffic interception by the sidecar proxy. If specified, must be a list of positive integers. | | osm.injector.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].key | string | `"kubernetes.io/os"` | | @@ -175,6 +176,7 @@ The following table lists the configurable parameters of the osm chart and their | osm.injector.resource | object | `{"limits":{"cpu":"0.5","memory":"64M"},"requests":{"cpu":"0.3","memory":"64M"}}` | Sidecar injector's container resource parameters | | osm.injector.tolerations | list | `[]` | Node tolerations applied to control plane pods. The specified tolerations allow pods to schedule onto nodes with matching taints. | | osm.injector.webhookTimeoutSeconds | int | `20` | Mutating webhook timeout | +| osm.localDNSProxy | object | `{"enable":false}` | Local DNS Proxy improves the performance of your computer by caching the responses coming from your DNS servers | | osm.localProxyMode | string | `"Localhost"` | Proxy mode for the proxy sidecar. Acceptable values are ['Localhost', 'PodIP'] | | osm.maxDataPlaneConnections | int | `0` | Sets the max data plane connections allowed for an instance of osm-controller, set to 0 to not enforce limits | | osm.meshName | string | `"osm"` | Identifier for the instance of a service mesh within a cluster | @@ -223,7 +225,56 @@ The following table lists the configurable parameters of the osm chart and their | osm.outboundIPRangeExclusionList | list | `[]` | Specifies a global list of IP ranges to exclude from outbound traffic interception by the sidecar proxy. If specified, must be a list of IP ranges of the form a.b.c.d/x. | | osm.outboundIPRangeInclusionList | list | `[]` | Specifies a global list of IP ranges to include for outbound traffic interception by the sidecar proxy. If specified, must be a list of IP ranges of the form a.b.c.d/x. | | osm.outboundPortExclusionList | list | `[]` | Specifies a global list of ports to exclude from outbound traffic interception by the sidecar proxy. If specified, must be a list of positive integers. | -| osm.pipyRepoImage | string | `"flomesh/pipy-repo-nightly:latest"` | Pipy repo image for Pipy sidecar's proxy control plane container | +| osm.pluginChains.inbound-http[0].plugin | string | `"modules/inbound-tls-termination"` | | +| osm.pluginChains.inbound-http[0].priority | int | `180` | | +| osm.pluginChains.inbound-http[1].plugin | string | `"modules/inbound-http-routing"` | | +| osm.pluginChains.inbound-http[1].priority | int | `170` | | +| osm.pluginChains.inbound-http[2].plugin | string | `"modules/inbound-metrics-http"` | | +| osm.pluginChains.inbound-http[2].priority | int | `160` | | +| osm.pluginChains.inbound-http[3].plugin | string | `"modules/inbound-tracing-http"` | | +| osm.pluginChains.inbound-http[3].priority | int | `150` | | +| osm.pluginChains.inbound-http[4].plugin | string | `"modules/inbound-logging-http"` | | +| osm.pluginChains.inbound-http[4].priority | int | `140` | | +| osm.pluginChains.inbound-http[5].plugin | string | `"modules/inbound-throttle-service"` | | +| osm.pluginChains.inbound-http[5].priority | int | `130` | | +| osm.pluginChains.inbound-http[6].plugin | string | `"modules/inbound-throttle-route"` | | +| osm.pluginChains.inbound-http[6].priority | int | `120` | | +| osm.pluginChains.inbound-http[7].plugin | string | `"modules/inbound-http-load-balancing"` | | +| osm.pluginChains.inbound-http[7].priority | int | `110` | | +| osm.pluginChains.inbound-http[8].plugin | string | `"modules/inbound-http-default"` | | +| osm.pluginChains.inbound-http[8].priority | int | `100` | | +| osm.pluginChains.inbound-tcp[0].disable | bool | `false` | | +| osm.pluginChains.inbound-tcp[0].plugin | string | `"modules/inbound-tls-termination"` | | +| osm.pluginChains.inbound-tcp[0].priority | int | `130` | | +| osm.pluginChains.inbound-tcp[1].disable | bool | `false` | | +| osm.pluginChains.inbound-tcp[1].plugin | string | `"modules/inbound-tcp-routing"` | | +| osm.pluginChains.inbound-tcp[1].priority | int | `120` | | +| osm.pluginChains.inbound-tcp[2].disable | bool | `false` | | +| osm.pluginChains.inbound-tcp[2].plugin | string | `"modules/inbound-tcp-load-balancing"` | | +| osm.pluginChains.inbound-tcp[2].priority | int | `110` | | +| osm.pluginChains.inbound-tcp[3].disable | bool | `false` | | +| osm.pluginChains.inbound-tcp[3].plugin | string | `"modules/inbound-tcp-default"` | | +| osm.pluginChains.inbound-tcp[3].priority | int | `100` | | +| osm.pluginChains.outbound-http[0].plugin | string | `"modules/outbound-http-routing"` | | +| osm.pluginChains.outbound-http[0].priority | int | `160` | | +| osm.pluginChains.outbound-http[1].plugin | string | `"modules/outbound-metrics-http"` | | +| osm.pluginChains.outbound-http[1].priority | int | `150` | | +| osm.pluginChains.outbound-http[2].plugin | string | `"modules/outbound-tracing-http"` | | +| osm.pluginChains.outbound-http[2].priority | int | `140` | | +| osm.pluginChains.outbound-http[3].plugin | string | `"modules/outbound-logging-http"` | | +| osm.pluginChains.outbound-http[3].priority | int | `130` | | +| osm.pluginChains.outbound-http[4].plugin | string | `"modules/outbound-circuit-breaker"` | | +| osm.pluginChains.outbound-http[4].priority | int | `120` | | +| osm.pluginChains.outbound-http[5].plugin | string | `"modules/outbound-http-load-balancing"` | | +| osm.pluginChains.outbound-http[5].priority | int | `110` | | +| osm.pluginChains.outbound-http[6].plugin | string | `"modules/outbound-http-default"` | | +| osm.pluginChains.outbound-http[6].priority | int | `100` | | +| osm.pluginChains.outbound-tcp[0].plugin | string | `"modules/outbound-tcp-routing"` | | +| osm.pluginChains.outbound-tcp[0].priority | int | `120` | | +| osm.pluginChains.outbound-tcp[1].plugin | string | `"modules/outbound-tcp-load-balancing"` | | +| osm.pluginChains.outbound-tcp[1].priority | int | `110` | | +| osm.pluginChains.outbound-tcp[2].plugin | string | `"modules/outbound-tcp-default"` | | +| osm.pluginChains.outbound-tcp[2].priority | int | `100` | | | osm.preinstall.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].key | string | `"kubernetes.io/os"` | | | osm.preinstall.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].operator | string | `"In"` | | | osm.preinstall.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].values[0] | string | `"linux"` | | @@ -255,10 +306,16 @@ The following table lists the configurable parameters of the osm chart and their | osm.remoteLogging.enable | bool | `false` | Toggles Sidecar's remote logging functionality on/off for all sidecar proxies in the mesh | | osm.remoteLogging.endpoint | string | `""` | Remote logging's API path where the spans will be sent to | | osm.remoteLogging.port | int | `30514` | Port of the remote logging service | +| osm.remoteLogging.sampledFraction | string | `"1.0"` | Sampled Fraction | +| osm.repoServer | object | `{"codebase":"","image":"flomesh/pipy-repo:0.90.0-18","ipaddr":"127.0.0.1","standalone":false}` | Pipy RepoServer | +| osm.repoServer.codebase | string | `""` | codebase is the folder used by osmController. | +| osm.repoServer.image | string | `"flomesh/pipy-repo:0.90.0-18"` | Image used for Pipy RepoServer | +| osm.repoServer.ipaddr | string | `"127.0.0.1"` | ipaddr of host/service where Pipy RepoServer is installed | +| osm.repoServer.standalone | bool | `false` | if false , Pipy RepoServer is installed within osmController pod. | | osm.sidecarClass | string | `"pipy"` | The class of the OSM Sidecar Driver | -| osm.sidecarDrivers | list | `[{"proxyServerPort":6060,"sidecarImage":"flomesh/pipy-nightly:latest","sidecarName":"pipy"},{"proxyServerPort":15128,"sidecarImage":"envoyproxy/envoy:v1.19.3","sidecarName":"envoy","sidecarWindowsImage":"envoyproxy/envoy-windows:latest"}]` | Sidecar drivers supported by osm-edge | +| osm.sidecarDrivers | list | `[{"proxyServerPort":6060,"sidecarImage":"flomesh/pipy:0.90.0-18","sidecarName":"pipy"},{"proxyServerPort":15128,"sidecarImage":"envoyproxy/envoy:v1.19.3","sidecarName":"envoy","sidecarWindowsImage":"envoyproxy/envoy-windows:latest"}]` | Sidecar drivers supported by osm-edge | | osm.sidecarDrivers[0].proxyServerPort | int | `6060` | Remote destination port on which the Discovery Service listens for new connections from Sidecars. | -| osm.sidecarDrivers[0].sidecarImage | string | `"flomesh/pipy-nightly:latest"` | Sidecar image for Linux workloads | +| osm.sidecarDrivers[0].sidecarImage | string | `"flomesh/pipy:0.90.0-18"` | Sidecar image for Linux workloads | | osm.sidecarDrivers[1].proxyServerPort | int | `15128` | Remote destination port on which the Discovery Service listens for new connections from Sidecars. | | osm.sidecarDrivers[1].sidecarImage | string | `"envoyproxy/envoy:v1.19.3"` | Sidecar image for Linux workloads | | osm.sidecarDrivers[1].sidecarWindowsImage | string | `"envoyproxy/envoy-windows:latest"` | Sidecar image for Windows workloads | @@ -279,7 +336,9 @@ The following table lists the configurable parameters of the osm chart and their | osm.tracing.image | string | `"jaegertracing/all-in-one"` | Image used for tracing | | osm.tracing.nodeSelector | object | `{}` | | | osm.tracing.port | int | `9411` | Port of the tracing collector service | +| osm.tracing.sampledFraction | string | `"1.0"` | Sampled Fraction | | osm.tracing.tolerations | list | `[]` | Node tolerations applied to control plane pods. The specified tolerations allow pods to schedule onto nodes with matching taints. | +| osm.trafficInterceptionMode | string | `"iptables"` | Traffic interception mode in the mesh | | osm.trustDomain | string | `"cluster.local"` | The trust domain to use as part of the common name when requesting new certificates. | | osm.validatorWebhook.webhookConfigurationName | string | `""` | Name of the ValidatingWebhookConfiguration | | osm.vault.host | string | `""` | Hashicorp Vault host/service - where Vault is installed | diff --git a/packages/server/charts/osm/charts/fsm-0.1.7.tgz b/packages/server/charts/osm/charts/fsm-0.1.7.tgz deleted file mode 100644 index c53ae13..0000000 Binary files a/packages/server/charts/osm/charts/fsm-0.1.7.tgz and /dev/null differ diff --git a/packages/server/charts/osm/charts/fsm-0.2.0.tgz b/packages/server/charts/osm/charts/fsm-0.2.0.tgz new file mode 100644 index 0000000..40ea711 Binary files /dev/null and b/packages/server/charts/osm/charts/fsm-0.2.0.tgz differ diff --git a/packages/server/charts/osm/grafana/envoy/dashboards/osm-control-plane.json b/packages/server/charts/osm/grafana/envoy/dashboards/osm-control-plane.json index 9743fc7..ddb1707 100755 --- a/packages/server/charts/osm/grafana/envoy/dashboards/osm-control-plane.json +++ b/packages/server/charts/osm/grafana/envoy/dashboards/osm-control-plane.json @@ -47,679 +47,679 @@ "version": "" } ], - "annotations": { - "list": [ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "title": "OSM Control Plane Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard provides traffic metrics from the given service to OSM’s control plane.", + "uid": "OSMControlPlaneMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 6, + "iteration": 1591749761183, + "links": [], + "panels": [ { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Control Plane Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard provides traffic metrics from the given service to OSM’s control plane.", - "uid": "OSMControlPlaneMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 6, - "iteration": 1591749761183, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 22, + "panels": [], + "title": "Request Count - HTTP", + "type": "row" }, - "id": 22, - "panels": [], - "title": "Request Count - HTTP", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m])", + "interval": "1m", + "legendFormat": "Time (per minute)", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m])", - "interval": "1m", - "legendFormat": "Time (per minute)", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Success Count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class!=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m])", + "interval": "1m", + "legendFormat": "Time (per minute)", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failure Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "hiddenSeries": false, - "id": 25, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class!=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m])", - "interval": "1m", - "legendFormat": "Time (per minute)", - "refId": "A" + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Failure Count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 18 }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": false, - "datasource": "${DS_PROMETHEUS}", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 18 + "id": 10, + "panels": [], + "title": "Traffic", + "type": "row" }, - "id": 10, - "panels": [], - "title": "Traffic", - "type": "row" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } + "overrides": [] }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 19 - }, - "id": 4, - "interval": "", - "options": { - "dataLinks": [] - }, - "pluginVersion": "8.2.2", - "targets": [ - { - "expr": "sum(envoy_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"})", - "legendFormat": "Connections", - "refId": "A" - } - ], - "title": "Active Connections to Control Plane", - "type": "timeseries", - "timeFrom": null, - "timeShift": null, - "renderer": "flot", - "yaxes": [ - { - "label": null, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 19 + }, + "id": 4, + "interval": "", + "options": { + "dataLinks": [] + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "expr": "sum(envoy_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"})", + "legendFormat": "Connections", + "refId": "A" + } + ], + "title": "Active Connections to Control Plane", + "type": "timeseries", + "timeFrom": null, + "timeShift": null, + "renderer": "flot", + "yaxes": [ + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + }, + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + } + ], + "xaxis": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "mode": "time", + "name": null, + "values": [], + "buckets": null }, - { - "label": null, + "yaxis": { + "align": false, + "alignLevel": null + }, + "lines": true, + "fill": 1, + "fillGradient": 0, + "linewidth": 1, + "dashes": false, + "hiddenSeries": false, + "dashLength": 10, + "spaceLength": 10, + "points": false, + "pointradius": 2, + "bars": false, + "stack": false, + "percentage": false, + "legend": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "fillGradient": 0, - "linewidth": 1, - "dashes": false, - "hiddenSeries": false, - "dashLength": 10, - "spaceLength": 10, - "points": false, - "pointradius": 2, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "null", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 0 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 19 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(envoy_cluster_upstream_cx_tx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Bytes sent", - "refId": "A" + "nullPointMode": "null", + "steppedLine": false, + "tooltip": { + "value_type": "individual", + "shared": true, + "sort": 0 }, - { - "expr": "sum(irate(envoy_cluster_upstream_cx_rx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Bytes received", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Traffic to Control Plane", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] + "aliasColors": {}, + "seriesOverrides": [], + "thresholds": [], + "timeRegions": [] }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 19 + }, + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(envoy_cluster_upstream_cx_tx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Bytes sent", + "refId": "A" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_cx_rx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Bytes received", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Traffic to Control Plane", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 19 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": 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(irate(envoy_cluster_upstream_cx_destroy_remote_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Connection destroyed by the client", - "refId": "A" - }, - { - "expr": "sum(irate(envoy_cluster_upstream_cx_connect_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Connection timeout", - "refId": "B" + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "expr": "sum(irate(envoy_cluster_upstream_cx_destroy_local_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Connection destroyed by local Sidecar", - "refId": "C" + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 19 }, - { - "expr": "sum(irate(envoy_cluster_upstream_rq_pending_failure_eject{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Pending failure ejection", - "refId": "D" + "hiddenSeries": false, + "id": 26, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false }, - { - "expr": "sum(irate(envoy_cluster_upstream_rq_pending_overflow{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Pending overflow", - "refId": "E" + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - { - "expr": "sum(irate(envoy_cluster_upstream_rq_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Request timeout", - "refId": "F" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(envoy_cluster_upstream_cx_destroy_remote_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Connection destroyed by the client", + "refId": "A" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_cx_connect_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Connection timeout", + "refId": "B" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_cx_destroy_local_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Connection destroyed by local Sidecar", + "refId": "C" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_pending_failure_eject{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Pending failure ejection", + "refId": "D" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_pending_overflow{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Pending overflow", + "refId": "E" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Request timeout", + "refId": "F" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_rx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Response reset", + "refId": "G" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_tx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Request reset", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Connection/Requests errors to Control Plane", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - { - "expr": "sum(irate(envoy_cluster_upstream_rq_rx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Response reset", - "refId": "G" + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "expr": "sum(irate(envoy_cluster_upstream_rq_tx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Request reset", - "refId": "H" + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Connection/Requests errors to Control Plane", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + } + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(envoy_server_live{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_service)", + "hide": 0, + "includeAll": false, + "label": "Source service", + "multi": false, + "name": "source_service", + "options": [], + "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_service)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(envoy_server_live{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_service)", - "hide": 0, - "includeAll": false, - "label": "Source service", - "multi": false, - "name": "source_service", - "options": [], - "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_service)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } diff --git a/packages/server/charts/osm/grafana/envoy/dashboards/osm-data-plane-performance.json b/packages/server/charts/osm/grafana/envoy/dashboards/osm-data-plane-performance.json index 4e68e0b..d45360c 100644 --- a/packages/server/charts/osm/grafana/envoy/dashboards/osm-data-plane-performance.json +++ b/packages/server/charts/osm/grafana/envoy/dashboards/osm-data-plane-performance.json @@ -47,537 +47,537 @@ "version": "" } ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Data Plane Performance Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard lets you view the performance of OSM’s data plane.", - "uid": "OSMDataPlanePerformanceMetrics", - "version": 3, - "editable": true, - "gnetId": null, - "graphTooltip": 0, - "id": 8, - "iteration": 1632179652682, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 5, - "panels": [], - "title": "Sidecar", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 3, - "legend": { - "avg": false, - "current": 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": [ + "annotations": { + "list": [ { - "expr": "irate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", pod=~\"$pod\", container=\"envoy\"}[1m])", - "interval": "", - "legendFormat": "{{pod}}:{{container}}", - "refId": "A" + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Sidecar CPU usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "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": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "title": "OSM Data Plane Performance Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard lets you view the performance of OSM’s data plane.", + "uid": "OSMDataPlanePerformanceMetrics", + "version": 3, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 8, + "iteration": 1632179652682, + "links": [], + "panels": [ + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 1 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "container_memory_rss{namespace=~\"$namespace\", pod=~\"$pod\", container=\"envoy\"}", - "interval": "", - "legendFormat": "{{pod}}:{{container}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Sidecar RSS usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] + "id": 5, + "panels": [], + "title": "Sidecar", + "type": "row" }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": true, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 10 - }, - "id": 7, - "panels": [], - "title": "Other containers", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 1 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 11 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", pod=~\"$pod\", container=~\"$container\"}[1m])", - "interval": "", - "legendFormat": "{{pod}}:{{container}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Container CPU usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "hiddenSeries": false, + "id": 3, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false }, - { - "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": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 11 - }, - "hiddenSeries": false, - "id": 9, - "legend": { - "avg": false, - "current": 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": "container_memory_rss{namespace=~\"$namespace\", pod=~\"$pod\", container=~\"$container\"}", - "interval": "", - "legendFormat": "{{pod}}:{{container}}", - "refId": "A" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", pod=~\"$pod\", container=\"envoy\"}[1m])", + "interval": "", + "legendFormat": "{{pod}}:{{container}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Sidecar CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Container RSS usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 1 + }, + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "container_memory_rss{namespace=~\"$namespace\", pod=~\"$pod\", container=\"envoy\"}", + "interval": "", + "legendFormat": "{{pod}}:{{container}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Sidecar RSS usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ + }, { - "allValue": null, - "current": { - "selected": false, - "text": "redis-c9e6-client", - "value": "redis-c9e6-client" + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 }, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(source_namespace)", - "hide": 0, - "includeAll": true, - "label": "Namespace", - "multi": false, - "name": "namespace", - "options": [], - "query": "label_values(source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false + "id": 7, + "panels": [], + "title": "Other containers", + "type": "row" }, { - "allValue": null, - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{source_namespace=~\"$namespace\"}, source_pod_name)", - "hide": 0, - "includeAll": true, - "label": "Pod", - "multi": false, - "name": "pod", - "options": [], - "query": "label_values(envoy_server_live{source_namespace=~\"$namespace\"}, source_pod_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 11 + }, + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", pod=~\"$pod\", container=~\"$container\"}[1m])", + "interval": "", + "legendFormat": "{{pod}}:{{container}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 + } }, { - "allValue": null, - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{source_namespace=~\"$namespace\", source_pod_name=~\"$pod\"}, source_workload_name)", - "hide": 0, - "includeAll": true, - "label": "Container", - "multi": false, - "name": "container", - "options": [], - "query": "label_values(envoy_server_live{source_namespace=~\"$namespace\", source_pod_name=~\"$pod\"}, source_workload_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 11 + }, + "hiddenSeries": false, + "id": 9, + "legend": { + "avg": false, + "current": 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": "container_memory_rss{namespace=~\"$namespace\", pod=~\"$pod\", container=~\"$container\"}", + "interval": "", + "legendFormat": "{{pod}}:{{container}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container RSS usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 + } } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": { + "selected": false, + "text": "redis-c9e6-client", + "value": "redis-c9e6-client" + }, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(source_namespace)", + "hide": 0, + "includeAll": true, + "label": "Namespace", + "multi": false, + "name": "namespace", + "options": [], + "query": "label_values(source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{source_namespace=~\"$namespace\"}, source_pod_name)", + "hide": 0, + "includeAll": true, + "label": "Pod", + "multi": false, + "name": "pod", + "options": [], + "query": "label_values(envoy_server_live{source_namespace=~\"$namespace\"}, source_pod_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{source_namespace=~\"$namespace\", source_pod_name=~\"$pod\"}, source_workload_name)", + "hide": 0, + "includeAll": true, + "label": "Container", + "multi": false, + "name": "container", + "options": [], + "query": "label_values(envoy_server_live{source_namespace=~\"$namespace\", source_pod_name=~\"$pod\"}, source_workload_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } \ No newline at end of file diff --git a/packages/server/charts/osm/grafana/envoy/dashboards/osm-mesh-sidecar-details.json b/packages/server/charts/osm/grafana/envoy/dashboards/osm-mesh-sidecar-details.json index b103d90..22891b6 100644 --- a/packages/server/charts/osm/grafana/envoy/dashboards/osm-mesh-sidecar-details.json +++ b/packages/server/charts/osm/grafana/envoy/dashboards/osm-mesh-sidecar-details.json @@ -122,7 +122,9 @@ "justifyMode": "center", "orientation": "auto", "reduceOptions": { - "calcs": ["last"], + "calcs": [ + "last" + ], "values": false } }, @@ -685,7 +687,9 @@ "options": { "reduceOptions": { "values": false, - "calcs": ["lastNotNull"], + "calcs": [ + "lastNotNull" + ], "fields": "" }, "orientation": "auto", @@ -744,7 +748,9 @@ "options": { "reduceOptions": { "values": false, - "calcs": ["lastNotNull"], + "calcs": [ + "lastNotNull" + ], "fields": "" }, "orientation": "auto", @@ -1421,7 +1427,9 @@ "current": { "selected": true, "text": "All", - "value": ["$__all"] + "value": [ + "$__all" + ] }, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(osm_proxy_connect_count, source_pod_name)", @@ -1447,7 +1455,9 @@ "current": { "selected": true, "text": "All", - "value": ["$__all"] + "value": [ + "$__all" + ] }, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(osm_cert_issued_count, source_pod_name)", @@ -1499,7 +1509,9 @@ "current": { "selected": true, "text": "All", - "value": ["$__all"] + "value": [ + "$__all" + ] }, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(osm_error_err_code_count, err_code)", @@ -1540,4 +1552,4 @@ ] }, "timezone": "" -} +} \ No newline at end of file diff --git a/packages/server/charts/osm/grafana/envoy/dashboards/osm-pod-to-service.json b/packages/server/charts/osm/grafana/envoy/dashboards/osm-pod-to-service.json index 523ce11..0eb47b2 100644 --- a/packages/server/charts/osm/grafana/envoy/dashboards/osm-pod-to-service.json +++ b/packages/server/charts/osm/grafana/envoy/dashboards/osm-pod-to-service.json @@ -47,864 +47,864 @@ "version": "" } ], - "annotations": { - "list": [ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "title": "OSM Pod to Service Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard lets you investigate the traffic metrics from a pod to all the services it connects/talks to.", + "uid": "OSMPodToServiceMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 5, + "iteration": 1591749611164, + "links": [], + "panels": [ { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Pod to Service Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard lets you investigate the traffic metrics from a pod to all the services it connects/talks to.", - "uid": "OSMPodToServiceMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 5, - "iteration": 1591749611164, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 22, + "panels": [], + "title": "Request Count - HTTP", + "type": "row" }, - "id": 22, - "panels": [], - "title": "Request Count - HTTP", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class=\"2\",source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success Count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class=\"2\",source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Success Count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "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": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true } - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "hiddenSeries": false, - "id": 25, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class!=\"2\",source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "interval": "", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "A" + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Failure Count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "dashLength": 10, - "datasource": "Prometheus", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 9 - }, - "id": 28, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "pointradius": 2, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_rq_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{envoy_cluster_name}}", - "interval": "", - "refId": "A", - "format": "time_series" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "All types of requests count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 }, - { - "format": "Misc", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class!=\"2\",source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "interval": "", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failure Count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - }, - "bars": false, - "dashes": false, - "description": "", - "fillGradient": 0, - "hiddenSeries": false, - "percentage": false, - "points": false, - "stack": false, - "steppedLine": false, - "timeFrom": null, - "timeShift": null - }, - { - "collapsed": false, - "datasource": "${DS_PROMETHEUS}", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 26 }, - "id": 10, - "panels": [], - "title": "Traffic", - "type": "row" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "dashLength": 10, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 9 + }, + "id": 28, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "pointradius": 2, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_rq_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{envoy_cluster_name}}", + "interval": "", + "refId": "A", + "format": "time_series" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "All types of requests count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + { + "format": "Misc", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true } + ], + "yaxis": { + "align": false, + "alignLevel": null }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 27 + "bars": false, + "dashes": false, + "description": "", + "fillGradient": 0, + "hiddenSeries": false, + "percentage": false, + "points": false, + "stack": false, + "steppedLine": false, + "timeFrom": null, + "timeShift": null }, - "id": 4, - "interval": "", - "options": { - "dataLinks": [] + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 26 + }, + "id": 10, + "panels": [], + "title": "Traffic", + "type": "row" }, - "pluginVersion": "8.2.2", - "targets": [ - { - "expr": "envoy_cluster_upstream_cx_active{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "A" - } - ], - "title": "Active Connections to other services", - "type": "timeseries", - "timeFrom": null, - "timeShift": null, - "renderer": "flot", - "yaxes": [ - { - "label": null, + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 + }, + "id": 4, + "interval": "", + "options": { + "dataLinks": [] + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "expr": "envoy_cluster_upstream_cx_active{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "A" + } + ], + "title": "Active Connections to other services", + "type": "timeseries", + "timeFrom": null, + "timeShift": null, + "renderer": "flot", + "yaxes": [ + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + }, + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + } + ], + "xaxis": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "mode": "time", + "name": null, + "values": [], + "buckets": null }, - { - "label": null, + "yaxis": { + "align": false, + "alignLevel": null + }, + "lines": true, + "fill": 1, + "fillGradient": 0, + "linewidth": 1, + "dashes": false, + "hiddenSeries": false, + "dashLength": 10, + "spaceLength": 10, + "points": false, + "pointradius": 2, + "bars": false, + "stack": false, + "percentage": false, + "legend": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "fillGradient": 0, - "linewidth": 1, - "dashes": false, - "hiddenSeries": false, - "dashLength": 10, - "spaceLength": 10, - "points": false, - "pointradius": 2, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "null", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 0 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 27 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": 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": "irate(envoy_cluster_upstream_cx_destroy_remote_with_active_rq{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection destroyed by the client - {{envoy_cluster_name}}", - "refId": "A" + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false }, - { - "expr": "irate(envoy_cluster_upstream_cx_connect_timeout{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection timeout - {{envoy_cluster_name}}", - "refId": "B" + "nullPointMode": "null", + "steppedLine": false, + "tooltip": { + "value_type": "individual", + "shared": true, + "sort": 0 }, - { - "expr": "irate(envoy_cluster_upstream_cx_destroy_local_with_active_rq{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection destroyed by local Sidecar - {{envoy_cluster_name}}", - "refId": "C" + "aliasColors": {}, + "seriesOverrides": [], + "thresholds": [], + "timeRegions": [] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "expr": "irate(envoy_cluster_upstream_rq_pending_failure_eject{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Pending failure ejection - {{envoy_cluster_name}}", - "refId": "D" + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 }, - { - "expr": "irate(envoy_cluster_upstream_rq_pending_overflow{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Pending overflow - {{envoy_cluster_name}}", - "refId": "E" + "hiddenSeries": false, + "id": 26, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false }, - { - "expr": "irate(envoy_cluster_upstream_rq_timeout{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Request timeout - {{envoy_cluster_name}}", - "refId": "F" + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - { - "expr": "irate(envoy_cluster_upstream_rq_rx_reset{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Response reset - {{envoy_cluster_name}}", - "refId": "G" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_cx_destroy_remote_with_active_rq{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection destroyed by the client - {{envoy_cluster_name}}", + "refId": "A" + }, + { + "expr": "irate(envoy_cluster_upstream_cx_connect_timeout{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection timeout - {{envoy_cluster_name}}", + "refId": "B" + }, + { + "expr": "irate(envoy_cluster_upstream_cx_destroy_local_with_active_rq{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection destroyed by local Sidecar - {{envoy_cluster_name}}", + "refId": "C" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_pending_failure_eject{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Pending failure ejection - {{envoy_cluster_name}}", + "refId": "D" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_pending_overflow{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Pending overflow - {{envoy_cluster_name}}", + "refId": "E" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_timeout{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Request timeout - {{envoy_cluster_name}}", + "refId": "F" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_rx_reset{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Response reset - {{envoy_cluster_name}}", + "refId": "G" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_tx_reset{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Request reset - {{envoy_cluster_name}}", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Connection/Requests errors", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - { - "expr": "irate(envoy_cluster_upstream_rq_tx_reset{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Request reset - {{envoy_cluster_name}}", - "refId": "H" + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Connection/Requests errors", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "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": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 35 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 35 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_cx_rx_bytes_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "B" + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_cx_rx_bytes_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Bytes sent to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Bytes sent to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "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": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 35 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 35 - }, - "hiddenSeries": false, - "id": 27, - "legend": { - "avg": false, - "current": 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": "irate(envoy_cluster_upstream_cx_tx_bytes_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "interval": "", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "A" + "hiddenSeries": false, + "id": 27, + "legend": { + "avg": false, + "current": 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": "irate(envoy_cluster_upstream_cx_tx_bytes_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "interval": "", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Bytes received to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Bytes received to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + } + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(envoy_server_live{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_pod_name)", + "hide": 0, + "includeAll": false, + "label": "Source Pod", + "multi": false, + "name": "source_pod", + "options": [], + "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_pod_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(envoy_server_live{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_pod_name)", - "hide": 0, - "includeAll": false, - "label": "Source Pod", - "multi": false, - "name": "source_pod", - "options": [], - "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_pod_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } diff --git a/packages/server/charts/osm/grafana/envoy/dashboards/osm-service-to-service.json b/packages/server/charts/osm/grafana/envoy/dashboards/osm-service-to-service.json index 6822df2..a94421d 100644 --- a/packages/server/charts/osm/grafana/envoy/dashboards/osm-service-to-service.json +++ b/packages/server/charts/osm/grafana/envoy/dashboards/osm-service-to-service.json @@ -47,700 +47,700 @@ "version": "" } ], - "annotations": { - "list": [ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "title": "OSM Service to Service Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard lets you view the traffic metrics from a given source service to a given destination service.", + "uid": "OSMServiceToServiceMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 6, + "iteration": 1591749761183, + "links": [], + "panels": [ { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Service to Service Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard lets you view the traffic metrics from a given source service to a given destination service.", - "uid": "OSMServiceToServiceMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 6, - "iteration": 1591749761183, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 22, + "panels": [], + "title": "Request Count - HTTP", + "type": "row" }, - "id": 22, - "panels": [], - "title": "Request Count - HTTP", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m])", + "legendFormat": "Time (per minute)", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m])", - "legendFormat": "Time (per minute)", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Success Count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class!=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m])", + "interval": "", + "legendFormat": "Time (per minute)", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failure Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "hiddenSeries": false, - "id": 25, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class!=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m])", - "interval": "", - "legendFormat": "Time (per minute)", - "refId": "A" + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Failure Count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 18 }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": false, - "datasource": "${DS_PROMETHEUS}", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 18 + "id": 10, + "panels": [], + "title": "Traffic", + "type": "row" }, - "id": 10, - "panels": [], - "title": "Traffic", - "type": "row" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } + "overrides": [] }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 19 - }, - "id": 4, - "interval": "", - "options": { - "dataLinks": [] - }, - "pluginVersion": "8.2.2", - "targets": [ - { - "expr": "sum(envoy_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"})", - "legendFormat": "Connections", - "refId": "A" - } - ], - "title": "Active Connections between services", - "type": "timeseries", - "timeFrom": null, - "timeShift": null, - "renderer": "flot", - "yaxes": [ - { - "label": null, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 19 + }, + "id": 4, + "interval": "", + "options": { + "dataLinks": [] + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "expr": "sum(envoy_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"})", + "legendFormat": "Connections", + "refId": "A" + } + ], + "title": "Active Connections between services", + "type": "timeseries", + "timeFrom": null, + "timeShift": null, + "renderer": "flot", + "yaxes": [ + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + }, + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + } + ], + "xaxis": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "mode": "time", + "name": null, + "values": [], + "buckets": null }, - { - "label": null, + "yaxis": { + "align": false, + "alignLevel": null + }, + "lines": true, + "fill": 1, + "fillGradient": 0, + "linewidth": 1, + "dashes": false, + "hiddenSeries": false, + "dashLength": 10, + "spaceLength": 10, + "points": false, + "pointradius": 2, + "bars": false, + "stack": false, + "percentage": false, + "legend": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "fillGradient": 0, - "linewidth": 1, - "dashes": false, - "hiddenSeries": false, - "dashLength": 10, - "spaceLength": 10, - "points": false, - "pointradius": 2, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "null", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 0 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 19 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(envoy_cluster_upstream_cx_tx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Bytes sent", - "refId": "A" + "nullPointMode": "null", + "steppedLine": false, + "tooltip": { + "value_type": "individual", + "shared": true, + "sort": 0 }, - { - "expr": "sum(irate(envoy_cluster_upstream_cx_rx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Bytes received", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Traffic from source service perspective", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] + "aliasColors": {}, + "seriesOverrides": [], + "thresholds": [], + "timeRegions": [] }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 19 + }, + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(envoy_cluster_upstream_cx_tx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Bytes sent", + "refId": "A" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_cx_rx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Bytes received", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Traffic from source service perspective", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 19 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": 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(irate(envoy_cluster_upstream_cx_destroy_remote_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Connection destroyed by the client", - "refId": "A" + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "expr": "sum(irate(envoy_cluster_upstream_cx_connect_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Connection timeout", - "refId": "B" + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 19 }, - { - "expr": "sum(irate(envoy_cluster_upstream_cx_destroy_local_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Connection destroyed by local Sidecar", - "refId": "C" + "hiddenSeries": false, + "id": 26, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false }, - { - "expr": "sum(irate(envoy_cluster_upstream_rq_pending_failure_eject{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Pending failure ejection", - "refId": "D" + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - { - "expr": "sum(irate(envoy_cluster_upstream_rq_pending_overflow{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Pending overflow", - "refId": "E" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(envoy_cluster_upstream_cx_destroy_remote_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Connection destroyed by the client", + "refId": "A" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_cx_connect_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Connection timeout", + "refId": "B" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_cx_destroy_local_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Connection destroyed by local Sidecar", + "refId": "C" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_pending_failure_eject{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Pending failure ejection", + "refId": "D" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_pending_overflow{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Pending overflow", + "refId": "E" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Request timeout", + "refId": "F" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_rx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Response reset", + "refId": "G" + }, + { + "expr": "sum(irate(envoy_cluster_upstream_rq_tx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Request reset", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Connection/Requests errors from source service perspective", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - { - "expr": "sum(irate(envoy_cluster_upstream_rq_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Request timeout", - "refId": "F" + "type": "timeseries", + "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": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ { - "expr": "sum(irate(envoy_cluster_upstream_rq_rx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Response reset", - "refId": "G" + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(envoy_server_live{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "expr": "sum(irate(envoy_cluster_upstream_rq_tx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Request reset", - "refId": "H" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Connection/Requests errors from source service perspective", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_service)", + "hide": 0, + "includeAll": false, + "label": "Source service", + "multi": false, + "name": "source_service", + "options": [], + "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_service)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|.*-local|envoy-tracing-cluster|passthrough-outbound\"}, envoy_cluster_name)", + "hide": 0, + "includeAll": false, + "label": "Destination Service", + "multi": false, + "name": "destination_service", + "options": [], + "query": "label_values(envoy_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|.*-local|envoy-tracing-cluster|passthrough-outbound\"}, envoy_cluster_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(envoy_server_live{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_service)", - "hide": 0, - "includeAll": false, - "label": "Source service", - "multi": false, - "name": "source_service", - "options": [], - "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_service)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|.*-local|envoy-tracing-cluster|passthrough-outbound\"}, envoy_cluster_name)", - "hide": 0, - "includeAll": false, - "label": "Destination Service", - "multi": false, - "name": "destination_service", - "options": [], - "query": "label_values(envoy_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|.*-local|envoy-tracing-cluster|passthrough-outbound\"}, envoy_cluster_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } diff --git a/packages/server/charts/osm/grafana/envoy/dashboards/osm-workload-to-service.json b/packages/server/charts/osm/grafana/envoy/dashboards/osm-workload-to-service.json index 9cb7ffe..d6bb1f8 100644 --- a/packages/server/charts/osm/grafana/envoy/dashboards/osm-workload-to-service.json +++ b/packages/server/charts/osm/grafana/envoy/dashboards/osm-workload-to-service.json @@ -47,790 +47,790 @@ "version": "" } ], - "annotations": { - "list": [ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "title": "OSM Workload to Service Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard provides the traffic metrics from a workload (deployment, replicaSet) to all the services it connects/talks to.", + "uid": "OSMWorkloadToServiceMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 5, + "iteration": 1591749611164, + "links": [], + "panels": [ { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Workload to Service Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard provides the traffic metrics from a workload (deployment, replicaSet) to all the services it connects/talks to.", - "uid": "OSMWorkloadToServiceMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 5, - "iteration": 1591749611164, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 22, + "panels": [], + "title": "Request Count - HTTP", + "type": "row" }, - "id": 22, - "panels": [], - "title": "Request Count - HTTP", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class=\"2\",source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success Count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class=\"2\",source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Success Count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class!=\"2\",source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "interval": "", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failure Count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "hiddenSeries": false, - "id": 25, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_rq_xx{envoy_response_code_class!=\"2\",source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "interval": "", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "A" + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Failure Count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 18 }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": false, - "datasource": "${DS_PROMETHEUS}", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 18 + "id": 10, + "panels": [], + "title": "Traffic", + "type": "row" }, - "id": 10, - "panels": [], - "title": "Traffic", - "type": "row" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 19 + }, + "id": 4, + "interval": "", + "options": { + "dataLinks": [] + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "expr": "envoy_cluster_upstream_cx_active{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "A" } + ], + "title": "Active Connections to other services", + "type": "timeseries", + "timeFrom": null, + "timeShift": null, + "renderer": "flot", + "yaxes": [ + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + }, + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + } + ], + "xaxis": { + "show": true, + "mode": "time", + "name": null, + "values": [], + "buckets": null }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 19 - }, - "id": 4, - "interval": "", - "options": { - "dataLinks": [] + "yaxis": { + "align": false, + "alignLevel": null + }, + "lines": true, + "fill": 1, + "fillGradient": 0, + "linewidth": 1, + "dashes": false, + "hiddenSeries": false, + "dashLength": 10, + "spaceLength": 10, + "points": false, + "pointradius": 2, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false + }, + "nullPointMode": "null", + "steppedLine": false, + "tooltip": { + "value_type": "individual", + "shared": true, + "sort": 0 + }, + "aliasColors": {}, + "seriesOverrides": [], + "thresholds": [], + "timeRegions": [] }, - "pluginVersion": "8.2.2", - "targets": [ - { - "expr": "envoy_cluster_upstream_cx_active{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "A" - } - ], - "title": "Active Connections to other services", - "type": "timeseries", - "timeFrom": null, - "timeShift": null, - "renderer": "flot", - "yaxes": [ - { - "label": null, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 19 + }, + "hiddenSeries": false, + "id": 26, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "total": false, + "values": false }, - { - "label": null, + "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": "irate(envoy_cluster_upstream_cx_destroy_remote_with_active_rq{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection destroyed by the client - {{envoy_cluster_name}}", + "refId": "A" + }, + { + "expr": "irate(envoy_cluster_upstream_cx_connect_timeout{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection timeout - {{envoy_cluster_name}}", + "refId": "B" + }, + { + "expr": "irate(envoy_cluster_upstream_cx_destroy_local_with_active_rq{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection destroyed by local Sidecar - {{envoy_cluster_name}}", + "refId": "C" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_pending_failure_eject{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Pending failure ejection - {{envoy_cluster_name}}", + "refId": "D" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_pending_overflow{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Pending overflow - {{envoy_cluster_name}}", + "refId": "E" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_timeout{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Request timeout - {{envoy_cluster_name}}", + "refId": "F" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_rx_reset{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Response reset - {{envoy_cluster_name}}", + "refId": "G" + }, + { + "expr": "irate(envoy_cluster_upstream_rq_tx_reset{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Request reset - {{envoy_cluster_name}}", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Connection/Requests errors", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "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 } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "fillGradient": 0, - "linewidth": 1, - "dashes": false, - "hiddenSeries": false, - "dashLength": 10, - "spaceLength": 10, - "points": false, - "pointradius": 2, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "null", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 0 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 19 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": 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": "irate(envoy_cluster_upstream_cx_destroy_remote_with_active_rq{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection destroyed by the client - {{envoy_cluster_name}}", - "refId": "A" - }, - { - "expr": "irate(envoy_cluster_upstream_cx_connect_timeout{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection timeout - {{envoy_cluster_name}}", - "refId": "B" + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "expr": "irate(envoy_cluster_upstream_cx_destroy_local_with_active_rq{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection destroyed by local Sidecar - {{envoy_cluster_name}}", - "refId": "C" + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 }, - { - "expr": "irate(envoy_cluster_upstream_rq_pending_failure_eject{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Pending failure ejection - {{envoy_cluster_name}}", - "refId": "D" + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false }, - { - "expr": "irate(envoy_cluster_upstream_rq_pending_overflow{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Pending overflow - {{envoy_cluster_name}}", - "refId": "E" + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - { - "expr": "irate(envoy_cluster_upstream_rq_timeout{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Request timeout - {{envoy_cluster_name}}", - "refId": "F" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(envoy_cluster_upstream_cx_rx_bytes_total{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Bytes sent to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - { - "expr": "irate(envoy_cluster_upstream_rq_rx_reset{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Response reset - {{envoy_cluster_name}}", - "refId": "G" + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "expr": "irate(envoy_cluster_upstream_rq_tx_reset{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Request reset - {{envoy_cluster_name}}", - "refId": "H" + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Connection/Requests errors", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "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": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 27 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(envoy_cluster_upstream_cx_rx_bytes_total{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Bytes sent to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "hiddenSeries": false, + "id": 27, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "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": "irate(envoy_cluster_upstream_cx_tx_bytes_total{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "interval": "", + "legendFormat": "{{envoy_cluster_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Bytes received to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "yaxis": { - "align": false, - "alignLevel": null } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 27 - }, - "hiddenSeries": false, - "id": 27, - "legend": { - "avg": false, - "current": 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": [ + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ { - "expr": "irate(envoy_cluster_upstream_cx_tx_bytes_total{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",envoy_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "interval": "", - "legendFormat": "{{envoy_cluster_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Bytes received to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(envoy_server_live{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_workload_kind)", + "hide": 0, + "includeAll": false, + "label": "Source Workload Kind", + "multi": false, + "name": "source_workload_kind", + "options": [], + "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_workload_kind)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\",source_namespace=\"$source_namespace\"}, source_workload_name)", + "hide": 0, + "includeAll": false, + "label": "Source Workload Name", + "multi": false, + "name": "source_workload_name", + "options": [], + "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\", source_workload_kind=\"$source_workload_kind\"}, source_workload_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(envoy_server_live{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_workload_kind)", - "hide": 0, - "includeAll": false, - "label": "Source Workload Kind", - "multi": false, - "name": "source_workload_kind", - "options": [], - "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\"}, source_workload_kind)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(envoy_server_live{source_namespace=\"$source_namespace\",source_namespace=\"$source_namespace\"}, source_workload_name)", - "hide": 0, - "includeAll": false, - "label": "Source Workload Name", - "multi": false, - "name": "source_workload_name", - "options": [], - "query": "label_values(envoy_server_live{source_namespace=\"$source_namespace\", source_workload_kind=\"$source_workload_kind\"}, source_workload_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } diff --git a/packages/server/charts/osm/grafana/envoy/dashboards/osm-workload-to-workload.json b/packages/server/charts/osm/grafana/envoy/dashboards/osm-workload-to-workload.json index fae39d7..7c3e371 100644 --- a/packages/server/charts/osm/grafana/envoy/dashboards/osm-workload-to-workload.json +++ b/packages/server/charts/osm/grafana/envoy/dashboards/osm-workload-to-workload.json @@ -47,452 +47,452 @@ "version": "" } ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Workload to Workload Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard displays the latencies of requests in the mesh from workload to workload.", - "uid": "OSMWorkloadToWorkloadMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 5, - "iteration": 1591749611164, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 20, - "panels": [], - "title": "Request Latency", - "type": "row" + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "title": "OSM Workload to Workload Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard displays the latencies of requests in the mesh from workload to workload.", + "uid": "OSMWorkloadToWorkloadMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 5, + "iteration": 1591749611164, + "links": [], + "panels": [ + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 1 + "id": 20, + "panels": [], + "title": "Request Latency", + "type": "row" }, - "hiddenSeries": false, - "id": 6, - "legend": { - "avg": false, - "current": false, - "hideEmpty": true, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "exemplar": true, - "expr": "histogram_quantile(0.99,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", - "interval": "", - "legendFormat": "{{destination_namespace}}/{{destination_name}}", - "refId": "A" + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 6, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "histogram_quantile(0.99,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", + "interval": "", + "legendFormat": "{{destination_namespace}}/{{destination_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Request Latency (P99)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": "", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Request Latency (P99)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] }, - "yaxes": [ - { - "format": "ms", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "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": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 1 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 1 - }, - "hiddenSeries": false, - "id": 16, - "legend": { - "avg": false, - "current": false, - "hideEmpty": true, - "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": [ - { - "exemplar": true, - "expr": "histogram_quantile(0.90,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", - "interval": "", - "legendFormat": "{{destination_namespace}}/{{destination_name}}", - "refId": "A" + "hiddenSeries": false, + "id": 16, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "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": [ + { + "exemplar": true, + "expr": "histogram_quantile(0.90,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", + "interval": "", + "legendFormat": "{{destination_namespace}}/{{destination_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Request Latency (P90)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Request Latency (P90)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 1 + }, + "hiddenSeries": false, + "id": 18, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "histogram_quantile(0.50,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", + "interval": "", + "legendFormat": "{{destination_namespace}}/{{destination_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Request Latency (P50)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "yaxis": { - "align": false, - "alignLevel": null } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": {}, + "datasource": "Prometheus", + "definition": "label_values(osm_request_duration_ms_sum{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(osm_request_duration_ms_sum{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 1 - }, - "hiddenSeries": false, - "id": 18, - "legend": { - "avg": false, - "current": false, - "hideEmpty": true, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ { - "exemplar": true, - "expr": "histogram_quantile(0.50,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", - "interval": "", - "legendFormat": "{{destination_namespace}}/{{destination_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Request Latency (P50)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "allValue": null, + "current": { + "selected": false, + "text": "Deployment", + "value": "Deployment" + }, + "datasource": "Prometheus", + "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\"},source_kind)", + "hide": 0, + "includeAll": false, + "label": "Source Workload Kind", + "multi": false, + "name": "source_workload_kind", + "options": [], + "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\"},source_kind)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, { - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true + "allValue": null, + "current": {}, + "datasource": "Prometheus", + "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\"}, source_name)", + "hide": 0, + "includeAll": false, + "label": "Source Workload Name", + "multi": false, + "name": "source_workload_name", + "options": [], + "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\"}, source_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "Prometheus", + "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\"}, source_pod) ", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Source Pod", + "multi": false, + "name": "source_pod", + "options": [], + "query": { + "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\"}, source_pod) ", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "Prometheus", - "definition": "label_values(osm_request_duration_ms_sum{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(osm_request_duration_ms_sum{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": { - "selected": false, - "text": "Deployment", - "value": "Deployment" - }, - "datasource": "Prometheus", - "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\"},source_kind)", - "hide": 0, - "includeAll": false, - "label": "Source Workload Kind", - "multi": false, - "name": "source_workload_kind", - "options": [], - "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\"},source_kind)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "Prometheus", - "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\"}, source_name)", - "hide": 0, - "includeAll": false, - "label": "Source Workload Name", - "multi": false, - "name": "source_workload_name", - "options": [], - "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\"}, source_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "Prometheus", - "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\"}, source_pod) ", - "description": null, - "error": null, - "hide": 0, - "includeAll": true, - "label": "Source Pod", - "multi": false, - "name": "source_pod", - "options": [], - "query": { - "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\"}, source_pod) ", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" +} \ No newline at end of file diff --git a/packages/server/charts/osm/grafana/pipy/dashboards/osm-control-plane.json b/packages/server/charts/osm/grafana/pipy/dashboards/osm-control-plane.json index 83af56f..db60430 100755 --- a/packages/server/charts/osm/grafana/pipy/dashboards/osm-control-plane.json +++ b/packages/server/charts/osm/grafana/pipy/dashboards/osm-control-plane.json @@ -47,679 +47,679 @@ "version": "" } ], - "annotations": { - "list": [ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "title": "OSM Control Plane Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard provides traffic metrics from the given service to OSM’s control plane.", + "uid": "OSMControlPlaneMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 6, + "iteration": 1591749761183, + "links": [], + "panels": [ { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Control Plane Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard provides traffic metrics from the given service to OSM’s control plane.", - "uid": "OSMControlPlaneMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 6, - "iteration": 1591749761183, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 22, + "panels": [], + "title": "Request Count - HTTP", + "type": "row" }, - "id": 22, - "panels": [], - "title": "Request Count - HTTP", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m])", + "interval": "1m", + "legendFormat": "Time (per minute)", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m])", - "interval": "1m", - "legendFormat": "Time (per minute)", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Success Count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class!=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m])", + "interval": "1m", + "legendFormat": "Time (per minute)", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failure Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "hiddenSeries": false, - "id": 25, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class!=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m])", - "interval": "1m", - "legendFormat": "Time (per minute)", - "refId": "A" + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Failure Count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 18 }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": false, - "datasource": "${DS_PROMETHEUS}", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 18 + "id": 10, + "panels": [], + "title": "Traffic", + "type": "row" }, - "id": 10, - "panels": [], - "title": "Traffic", - "type": "row" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } + "overrides": [] }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 19 - }, - "id": 4, - "interval": "", - "options": { - "dataLinks": [] - }, - "pluginVersion": "8.2.2", - "targets": [ - { - "expr": "sum(sidecar_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"})", - "legendFormat": "Connections", - "refId": "A" - } - ], - "title": "Active Connections to Control Plane", - "type": "timeseries", - "timeFrom": null, - "timeShift": null, - "renderer": "flot", - "yaxes": [ - { - "label": null, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 19 + }, + "id": 4, + "interval": "", + "options": { + "dataLinks": [] + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "expr": "sum(sidecar_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"})", + "legendFormat": "Connections", + "refId": "A" + } + ], + "title": "Active Connections to Control Plane", + "type": "timeseries", + "timeFrom": null, + "timeShift": null, + "renderer": "flot", + "yaxes": [ + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + }, + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + } + ], + "xaxis": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "mode": "time", + "name": null, + "values": [], + "buckets": null }, - { - "label": null, + "yaxis": { + "align": false, + "alignLevel": null + }, + "lines": true, + "fill": 1, + "fillGradient": 0, + "linewidth": 1, + "dashes": false, + "hiddenSeries": false, + "dashLength": 10, + "spaceLength": 10, + "points": false, + "pointradius": 2, + "bars": false, + "stack": false, + "percentage": false, + "legend": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "fillGradient": 0, - "linewidth": 1, - "dashes": false, - "hiddenSeries": false, - "dashLength": 10, - "spaceLength": 10, - "points": false, - "pointradius": 2, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "null", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 0 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 19 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(sidecar_cluster_upstream_cx_tx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Bytes sent", - "refId": "A" + "nullPointMode": "null", + "steppedLine": false, + "tooltip": { + "value_type": "individual", + "shared": true, + "sort": 0 }, - { - "expr": "sum(irate(sidecar_cluster_upstream_cx_rx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Bytes received", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Traffic to Control Plane", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] + "aliasColors": {}, + "seriesOverrides": [], + "thresholds": [], + "timeRegions": [] }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 19 + }, + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_tx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Bytes sent", + "refId": "A" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_rx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Bytes received", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Traffic to Control Plane", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 19 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": 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(irate(sidecar_cluster_upstream_cx_destroy_remote_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Connection destroyed by the client", - "refId": "A" - }, - { - "expr": "sum(irate(sidecar_cluster_upstream_cx_connect_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Connection timeout", - "refId": "B" + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "expr": "sum(irate(sidecar_cluster_upstream_cx_destroy_local_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Connection destroyed by local Sidecar", - "refId": "C" + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 19 }, - { - "expr": "sum(irate(sidecar_cluster_upstream_rq_pending_failure_eject{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Pending failure ejection", - "refId": "D" + "hiddenSeries": false, + "id": 26, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false }, - { - "expr": "sum(irate(sidecar_cluster_upstream_rq_pending_overflow{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Pending overflow", - "refId": "E" + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - { - "expr": "sum(irate(sidecar_cluster_upstream_rq_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Request timeout", - "refId": "F" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_destroy_remote_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Connection destroyed by the client", + "refId": "A" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_connect_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Connection timeout", + "refId": "B" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_destroy_local_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Connection destroyed by local Sidecar", + "refId": "C" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_pending_failure_eject{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Pending failure ejection", + "refId": "D" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_pending_overflow{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Pending overflow", + "refId": "E" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Request timeout", + "refId": "F" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_rx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Response reset", + "refId": "G" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_tx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", + "legendFormat": "Request reset", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Connection/Requests errors to Control Plane", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - { - "expr": "sum(irate(sidecar_cluster_upstream_rq_rx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Response reset", - "refId": "G" + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "expr": "sum(irate(sidecar_cluster_upstream_rq_tx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"osm-controller\"}[1m]))", - "legendFormat": "Request reset", - "refId": "H" + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Connection/Requests errors to Control Plane", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + } + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(sidecar_server_live{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_service)", + "hide": 0, + "includeAll": false, + "label": "Source service", + "multi": false, + "name": "source_service", + "options": [], + "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_service)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(sidecar_server_live{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_service)", - "hide": 0, - "includeAll": false, - "label": "Source service", - "multi": false, - "name": "source_service", - "options": [], - "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_service)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } diff --git a/packages/server/charts/osm/grafana/pipy/dashboards/osm-data-plane-performance.json b/packages/server/charts/osm/grafana/pipy/dashboards/osm-data-plane-performance.json index ae47a3f..0502beb 100644 --- a/packages/server/charts/osm/grafana/pipy/dashboards/osm-data-plane-performance.json +++ b/packages/server/charts/osm/grafana/pipy/dashboards/osm-data-plane-performance.json @@ -47,537 +47,537 @@ "version": "" } ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Data Plane Performance Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard lets you view the performance of OSM’s data plane.", - "uid": "OSMDataPlanePerformanceMetrics", - "version": 3, - "editable": true, - "gnetId": null, - "graphTooltip": 0, - "id": 8, - "iteration": 1632179652682, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 5, - "panels": [], - "title": "Sidecar", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 3, - "legend": { - "avg": false, - "current": 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": [ + "annotations": { + "list": [ { - "expr": "irate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", pod=~\"$pod\", container=\"sidecar\"}[1m])", - "interval": "", - "legendFormat": "{{pod}}:{{container}}", - "refId": "A" + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Sidecar CPU usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "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": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "title": "OSM Data Plane Performance Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard lets you view the performance of OSM’s data plane.", + "uid": "OSMDataPlanePerformanceMetrics", + "version": 3, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 8, + "iteration": 1632179652682, + "links": [], + "panels": [ + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 1 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "container_memory_rss{namespace=~\"$namespace\", pod=~\"$pod\", container=\"sidecar\"}", - "interval": "", - "legendFormat": "{{pod}}:{{container}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Sidecar RSS usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] + "id": 5, + "panels": [], + "title": "Sidecar", + "type": "row" }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": true, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 10 - }, - "id": 7, - "panels": [], - "title": "Other containers", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 1 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 11 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", pod=~\"$pod\", container=~\"$container\"}[1m])", - "interval": "", - "legendFormat": "{{pod}}:{{container}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Container CPU usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "hiddenSeries": false, + "id": 3, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false }, - { - "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": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 11 - }, - "hiddenSeries": false, - "id": 9, - "legend": { - "avg": false, - "current": 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": "container_memory_rss{namespace=~\"$namespace\", pod=~\"$pod\", container=~\"$container\"}", - "interval": "", - "legendFormat": "{{pod}}:{{container}}", - "refId": "A" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", pod=~\"$pod\", container=\"sidecar\"}[1m])", + "interval": "", + "legendFormat": "{{pod}}:{{container}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Sidecar CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Container RSS usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 1 + }, + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "container_memory_rss{namespace=~\"$namespace\", pod=~\"$pod\", container=\"sidecar\"}", + "interval": "", + "legendFormat": "{{pod}}:{{container}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Sidecar RSS usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ + }, { - "allValue": null, - "current": { - "selected": false, - "text": "redis-c9e6-client", - "value": "redis-c9e6-client" + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 10 }, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(source_namespace)", - "hide": 0, - "includeAll": true, - "label": "Namespace", - "multi": false, - "name": "namespace", - "options": [], - "query": "label_values(source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false + "id": 7, + "panels": [], + "title": "Other containers", + "type": "row" }, { - "allValue": null, - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{source_namespace=~\"$namespace\"}, source_pod_name)", - "hide": 0, - "includeAll": true, - "label": "Pod", - "multi": false, - "name": "pod", - "options": [], - "query": "label_values(sidecar_server_live{source_namespace=~\"$namespace\"}, source_pod_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 11 + }, + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(container_cpu_usage_seconds_total{namespace=~\"$namespace\", pod=~\"$pod\", container=~\"$container\"}[1m])", + "interval": "", + "legendFormat": "{{pod}}:{{container}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 + } }, { - "allValue": null, - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{source_namespace=~\"$namespace\", source_pod_name=~\"$pod\"}, source_workload_name)", - "hide": 0, - "includeAll": true, - "label": "Container", - "multi": false, - "name": "container", - "options": [], - "query": "label_values(sidecar_server_live{source_namespace=~\"$namespace\", source_pod_name=~\"$pod\"}, source_workload_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 11 + }, + "hiddenSeries": false, + "id": 9, + "legend": { + "avg": false, + "current": 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": "container_memory_rss{namespace=~\"$namespace\", pod=~\"$pod\", container=~\"$container\"}", + "interval": "", + "legendFormat": "{{pod}}:{{container}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container RSS usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 + } } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": { + "selected": false, + "text": "redis-c9e6-client", + "value": "redis-c9e6-client" + }, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(source_namespace)", + "hide": 0, + "includeAll": true, + "label": "Namespace", + "multi": false, + "name": "namespace", + "options": [], + "query": "label_values(source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{source_namespace=~\"$namespace\"}, source_pod_name)", + "hide": 0, + "includeAll": true, + "label": "Pod", + "multi": false, + "name": "pod", + "options": [], + "query": "label_values(sidecar_server_live{source_namespace=~\"$namespace\"}, source_pod_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{source_namespace=~\"$namespace\", source_pod_name=~\"$pod\"}, source_workload_name)", + "hide": 0, + "includeAll": true, + "label": "Container", + "multi": false, + "name": "container", + "options": [], + "query": "label_values(sidecar_server_live{source_namespace=~\"$namespace\", source_pod_name=~\"$pod\"}, source_workload_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } \ No newline at end of file diff --git a/packages/server/charts/osm/grafana/pipy/dashboards/osm-mesh-sidecar-details.json b/packages/server/charts/osm/grafana/pipy/dashboards/osm-mesh-sidecar-details.json index 14b36f9..0dab281 100644 --- a/packages/server/charts/osm/grafana/pipy/dashboards/osm-mesh-sidecar-details.json +++ b/packages/server/charts/osm/grafana/pipy/dashboards/osm-mesh-sidecar-details.json @@ -122,7 +122,9 @@ "justifyMode": "center", "orientation": "auto", "reduceOptions": { - "calcs": ["last"], + "calcs": [ + "last" + ], "values": false } }, @@ -685,7 +687,9 @@ "options": { "reduceOptions": { "values": false, - "calcs": ["lastNotNull"], + "calcs": [ + "lastNotNull" + ], "fields": "" }, "orientation": "auto", @@ -744,7 +748,9 @@ "options": { "reduceOptions": { "values": false, - "calcs": ["lastNotNull"], + "calcs": [ + "lastNotNull" + ], "fields": "" }, "orientation": "auto", @@ -1421,7 +1427,9 @@ "current": { "selected": true, "text": "All", - "value": ["$__all"] + "value": [ + "$__all" + ] }, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(osm_proxy_connect_count, source_pod_name)", @@ -1447,7 +1455,9 @@ "current": { "selected": true, "text": "All", - "value": ["$__all"] + "value": [ + "$__all" + ] }, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(osm_cert_issued_count, source_pod_name)", @@ -1499,7 +1509,9 @@ "current": { "selected": true, "text": "All", - "value": ["$__all"] + "value": [ + "$__all" + ] }, "datasource": "${DS_PROMETHEUS}", "definition": "label_values(osm_error_err_code_count, err_code)", @@ -1540,4 +1552,4 @@ ] }, "timezone": "" -} +} \ No newline at end of file diff --git a/packages/server/charts/osm/grafana/pipy/dashboards/osm-pod-to-service.json b/packages/server/charts/osm/grafana/pipy/dashboards/osm-pod-to-service.json index a0930a8..bd60348 100644 --- a/packages/server/charts/osm/grafana/pipy/dashboards/osm-pod-to-service.json +++ b/packages/server/charts/osm/grafana/pipy/dashboards/osm-pod-to-service.json @@ -47,864 +47,864 @@ "version": "" } ], - "annotations": { - "list": [ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "title": "OSM Pod to Service Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard lets you investigate the traffic metrics from a pod to all the services it connects/talks to.", + "uid": "OSMPodToServiceMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 5, + "iteration": 1591749611164, + "links": [], + "panels": [ { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Pod to Service Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard lets you investigate the traffic metrics from a pod to all the services it connects/talks to.", - "uid": "OSMPodToServiceMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 5, - "iteration": 1591749611164, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 22, + "panels": [], + "title": "Request Count - HTTP", + "type": "row" }, - "id": 22, - "panels": [], - "title": "Request Count - HTTP", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class=\"2\",source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success Count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class=\"2\",source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Success Count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "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": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true } - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "hiddenSeries": false, - "id": 25, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class!=\"2\",source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "interval": "", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "A" + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Failure Count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "dashLength": 10, - "datasource": "Prometheus", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 9 - }, - "id": 28, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "pointradius": 2, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_rq_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{sidecar_cluster_name}}", - "interval": "", - "refId": "A", - "format": "time_series" - } - ], - "thresholds": [], - "timeRegions": [], - "title": "All types of requests count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 }, - { - "format": "Misc", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class!=\"2\",source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "interval": "", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failure Count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - }, - "bars": false, - "dashes": false, - "description": "", - "fillGradient": 0, - "hiddenSeries": false, - "percentage": false, - "points": false, - "stack": false, - "steppedLine": false, - "timeFrom": null, - "timeShift": null - }, - { - "collapsed": false, - "datasource": "${DS_PROMETHEUS}", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 26 }, - "id": 10, - "panels": [], - "title": "Traffic", - "type": "row" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "dashLength": 10, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 9 + }, + "id": 28, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "pointradius": 2, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_rq_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{sidecar_cluster_name}}", + "interval": "", + "refId": "A", + "format": "time_series" + } + ], + "thresholds": [], + "timeRegions": [], + "title": "All types of requests count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + { + "format": "Misc", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true } + ], + "yaxis": { + "align": false, + "alignLevel": null }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 27 + "bars": false, + "dashes": false, + "description": "", + "fillGradient": 0, + "hiddenSeries": false, + "percentage": false, + "points": false, + "stack": false, + "steppedLine": false, + "timeFrom": null, + "timeShift": null }, - "id": 4, - "interval": "", - "options": { - "dataLinks": [] + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 26 + }, + "id": 10, + "panels": [], + "title": "Traffic", + "type": "row" }, - "pluginVersion": "8.2.2", - "targets": [ - { - "expr": "sidecar_cluster_upstream_cx_active{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "A" - } - ], - "title": "Active Connections to other services", - "type": "timeseries", - "timeFrom": null, - "timeShift": null, - "renderer": "flot", - "yaxes": [ - { - "label": null, + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 + }, + "id": 4, + "interval": "", + "options": { + "dataLinks": [] + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "expr": "sidecar_cluster_upstream_cx_active{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "A" + } + ], + "title": "Active Connections to other services", + "type": "timeseries", + "timeFrom": null, + "timeShift": null, + "renderer": "flot", + "yaxes": [ + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + }, + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + } + ], + "xaxis": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "mode": "time", + "name": null, + "values": [], + "buckets": null }, - { - "label": null, + "yaxis": { + "align": false, + "alignLevel": null + }, + "lines": true, + "fill": 1, + "fillGradient": 0, + "linewidth": 1, + "dashes": false, + "hiddenSeries": false, + "dashLength": 10, + "spaceLength": 10, + "points": false, + "pointradius": 2, + "bars": false, + "stack": false, + "percentage": false, + "legend": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "fillGradient": 0, - "linewidth": 1, - "dashes": false, - "hiddenSeries": false, - "dashLength": 10, - "spaceLength": 10, - "points": false, - "pointradius": 2, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "null", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 0 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 27 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": 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": "irate(sidecar_cluster_upstream_cx_destroy_remote_with_active_rq{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection destroyed by the client - {{sidecar_cluster_name}}", - "refId": "A" + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false }, - { - "expr": "irate(sidecar_cluster_upstream_cx_connect_timeout{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection timeout - {{sidecar_cluster_name}}", - "refId": "B" + "nullPointMode": "null", + "steppedLine": false, + "tooltip": { + "value_type": "individual", + "shared": true, + "sort": 0 }, - { - "expr": "irate(sidecar_cluster_upstream_cx_destroy_local_with_active_rq{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection destroyed by local Sidecar - {{sidecar_cluster_name}}", - "refId": "C" + "aliasColors": {}, + "seriesOverrides": [], + "thresholds": [], + "timeRegions": [] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "expr": "irate(sidecar_cluster_upstream_rq_pending_failure_eject{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Pending failure ejection - {{sidecar_cluster_name}}", - "refId": "D" + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 }, - { - "expr": "irate(sidecar_cluster_upstream_rq_pending_overflow{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Pending overflow - {{sidecar_cluster_name}}", - "refId": "E" + "hiddenSeries": false, + "id": 26, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false }, - { - "expr": "irate(sidecar_cluster_upstream_rq_timeout{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Request timeout - {{sidecar_cluster_name}}", - "refId": "F" + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - { - "expr": "irate(sidecar_cluster_upstream_rq_rx_reset{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Response reset - {{sidecar_cluster_name}}", - "refId": "G" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_cx_destroy_remote_with_active_rq{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection destroyed by the client - {{sidecar_cluster_name}}", + "refId": "A" + }, + { + "expr": "irate(sidecar_cluster_upstream_cx_connect_timeout{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection timeout - {{sidecar_cluster_name}}", + "refId": "B" + }, + { + "expr": "irate(sidecar_cluster_upstream_cx_destroy_local_with_active_rq{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection destroyed by local Sidecar - {{sidecar_cluster_name}}", + "refId": "C" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_pending_failure_eject{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Pending failure ejection - {{sidecar_cluster_name}}", + "refId": "D" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_pending_overflow{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Pending overflow - {{sidecar_cluster_name}}", + "refId": "E" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_timeout{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Request timeout - {{sidecar_cluster_name}}", + "refId": "F" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_rx_reset{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Response reset - {{sidecar_cluster_name}}", + "refId": "G" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_tx_reset{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Request reset - {{sidecar_cluster_name}}", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Connection/Requests errors", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - { - "expr": "irate(sidecar_cluster_upstream_rq_tx_reset{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Request reset - {{sidecar_cluster_name}}", - "refId": "H" + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Connection/Requests errors", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "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": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 35 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 35 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_cx_rx_bytes_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "B" + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_cx_rx_bytes_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Bytes sent to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Bytes sent to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "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": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 35 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 35 - }, - "hiddenSeries": false, - "id": 27, - "legend": { - "avg": false, - "current": 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": "irate(sidecar_cluster_upstream_cx_tx_bytes_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "interval": "", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "A" + "hiddenSeries": false, + "id": 27, + "legend": { + "avg": false, + "current": 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": "irate(sidecar_cluster_upstream_cx_tx_bytes_total{source_pod_name=\"$source_pod\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "interval": "", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Bytes received to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Bytes received to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + } + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(sidecar_server_live{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_pod_name)", + "hide": 0, + "includeAll": false, + "label": "Source Pod", + "multi": false, + "name": "source_pod", + "options": [], + "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_pod_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(sidecar_server_live{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_pod_name)", - "hide": 0, - "includeAll": false, - "label": "Source Pod", - "multi": false, - "name": "source_pod", - "options": [], - "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_pod_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } diff --git a/packages/server/charts/osm/grafana/pipy/dashboards/osm-service-to-service.json b/packages/server/charts/osm/grafana/pipy/dashboards/osm-service-to-service.json index 21f6ffe..ad61b03 100644 --- a/packages/server/charts/osm/grafana/pipy/dashboards/osm-service-to-service.json +++ b/packages/server/charts/osm/grafana/pipy/dashboards/osm-service-to-service.json @@ -47,700 +47,700 @@ "version": "" } ], - "annotations": { - "list": [ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "title": "OSM Service to Service Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard lets you view the traffic metrics from a given source service to a given destination service.", + "uid": "OSMServiceToServiceMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 6, + "iteration": 1591749761183, + "links": [], + "panels": [ { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Service to Service Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard lets you view the traffic metrics from a given source service to a given destination service.", - "uid": "OSMServiceToServiceMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 6, - "iteration": 1591749761183, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 22, + "panels": [], + "title": "Request Count - HTTP", + "type": "row" }, - "id": 22, - "panels": [], - "title": "Request Count - HTTP", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m])", + "legendFormat": "Time (per minute)", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m])", - "legendFormat": "Time (per minute)", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Success Count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class!=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m])", + "interval": "", + "legendFormat": "Time (per minute)", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failure Count", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "hiddenSeries": false, - "id": 25, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class!=\"2\",source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m])", - "interval": "", - "legendFormat": "Time (per minute)", - "refId": "A" + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Failure Count", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 18 }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": false, - "datasource": "${DS_PROMETHEUS}", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 18 + "id": 10, + "panels": [], + "title": "Traffic", + "type": "row" }, - "id": 10, - "panels": [], - "title": "Traffic", - "type": "row" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } + "overrides": [] }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 19 - }, - "id": 4, - "interval": "", - "options": { - "dataLinks": [] - }, - "pluginVersion": "8.2.2", - "targets": [ - { - "expr": "sum(sidecar_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"})", - "legendFormat": "Connections", - "refId": "A" - } - ], - "title": "Active Connections between services", - "type": "timeseries", - "timeFrom": null, - "timeShift": null, - "renderer": "flot", - "yaxes": [ - { - "label": null, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 19 + }, + "id": 4, + "interval": "", + "options": { + "dataLinks": [] + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "expr": "sum(sidecar_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"})", + "legendFormat": "Connections", + "refId": "A" + } + ], + "title": "Active Connections between services", + "type": "timeseries", + "timeFrom": null, + "timeShift": null, + "renderer": "flot", + "yaxes": [ + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + }, + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + } + ], + "xaxis": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "mode": "time", + "name": null, + "values": [], + "buckets": null }, - { - "label": null, + "yaxis": { + "align": false, + "alignLevel": null + }, + "lines": true, + "fill": 1, + "fillGradient": 0, + "linewidth": 1, + "dashes": false, + "hiddenSeries": false, + "dashLength": 10, + "spaceLength": 10, + "points": false, + "pointradius": 2, + "bars": false, + "stack": false, + "percentage": false, + "legend": { "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" - } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "fillGradient": 0, - "linewidth": 1, - "dashes": false, - "hiddenSeries": false, - "dashLength": 10, - "spaceLength": 10, - "points": false, - "pointradius": 2, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "null", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 0 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 19 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(sidecar_cluster_upstream_cx_tx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Bytes sent", - "refId": "A" + "nullPointMode": "null", + "steppedLine": false, + "tooltip": { + "value_type": "individual", + "shared": true, + "sort": 0 }, - { - "expr": "sum(irate(sidecar_cluster_upstream_cx_rx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Bytes received", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Traffic from source service perspective", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] + "aliasColors": {}, + "seriesOverrides": [], + "thresholds": [], + "timeRegions": [] }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 19 + }, + "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": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_tx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Bytes sent", + "refId": "A" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_rx_bytes_total{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Bytes received", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Traffic from source service perspective", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 19 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": 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(irate(sidecar_cluster_upstream_cx_destroy_remote_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Connection destroyed by the client", - "refId": "A" + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "expr": "sum(irate(sidecar_cluster_upstream_cx_connect_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Connection timeout", - "refId": "B" + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 19 }, - { - "expr": "sum(irate(sidecar_cluster_upstream_cx_destroy_local_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Connection destroyed by local Sidecar", - "refId": "C" + "hiddenSeries": false, + "id": 26, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false }, - { - "expr": "sum(irate(sidecar_cluster_upstream_rq_pending_failure_eject{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Pending failure ejection", - "refId": "D" + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - { - "expr": "sum(irate(sidecar_cluster_upstream_rq_pending_overflow{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Pending overflow", - "refId": "E" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_destroy_remote_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Connection destroyed by the client", + "refId": "A" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_connect_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Connection timeout", + "refId": "B" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_cx_destroy_local_with_active_rq{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Connection destroyed by local Sidecar", + "refId": "C" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_pending_failure_eject{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Pending failure ejection", + "refId": "D" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_pending_overflow{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Pending overflow", + "refId": "E" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Request timeout", + "refId": "F" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_rx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Response reset", + "refId": "G" + }, + { + "expr": "sum(irate(sidecar_cluster_upstream_rq_tx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", + "legendFormat": "Request reset", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Connection/Requests errors from source service perspective", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - { - "expr": "sum(irate(sidecar_cluster_upstream_rq_timeout{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Request timeout", - "refId": "F" + "type": "timeseries", + "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": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ { - "expr": "sum(irate(sidecar_cluster_upstream_rq_rx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Response reset", - "refId": "G" + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(sidecar_server_live{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "expr": "sum(irate(sidecar_cluster_upstream_rq_tx_reset{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name=\"$destination_service\"}[1m]))", - "legendFormat": "Request reset", - "refId": "H" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Connection/Requests errors from source service perspective", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_service)", + "hide": 0, + "includeAll": false, + "label": "Source service", + "multi": false, + "name": "source_service", + "options": [], + "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_service)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|.*-local|envoy-tracing-cluster|passthrough-outbound\"}, sidecar_cluster_name)", + "hide": 0, + "includeAll": false, + "label": "Destination Service", + "multi": false, + "name": "destination_service", + "options": [], + "query": "label_values(sidecar_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|.*-local|envoy-tracing-cluster|passthrough-outbound\"}, sidecar_cluster_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(sidecar_server_live{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_service)", - "hide": 0, - "includeAll": false, - "label": "Source service", - "multi": false, - "name": "source_service", - "options": [], - "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_service)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|.*-local|envoy-tracing-cluster|passthrough-outbound\"}, sidecar_cluster_name)", - "hide": 0, - "includeAll": false, - "label": "Destination Service", - "multi": false, - "name": "destination_service", - "options": [], - "query": "label_values(sidecar_cluster_upstream_cx_active{source_service=\"$source_service\",source_namespace=\"$source_namespace\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|.*-local|envoy-tracing-cluster|passthrough-outbound\"}, sidecar_cluster_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } diff --git a/packages/server/charts/osm/grafana/pipy/dashboards/osm-workload-to-service.json b/packages/server/charts/osm/grafana/pipy/dashboards/osm-workload-to-service.json index 17f356b..990348b 100644 --- a/packages/server/charts/osm/grafana/pipy/dashboards/osm-workload-to-service.json +++ b/packages/server/charts/osm/grafana/pipy/dashboards/osm-workload-to-service.json @@ -47,790 +47,790 @@ "version": "" } ], - "annotations": { - "list": [ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "title": "OSM Workload to Service Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard provides the traffic metrics from a workload (deployment, replicaSet) to all the services it connects/talks to.", + "uid": "OSMWorkloadToServiceMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 5, + "iteration": 1591749611164, + "links": [], + "panels": [ { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Workload to Service Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard provides the traffic metrics from a workload (deployment, replicaSet) to all the services it connects/talks to.", - "uid": "OSMWorkloadToServiceMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 5, - "iteration": 1591749611164, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 22, + "panels": [], + "title": "Request Count - HTTP", + "type": "row" }, - "id": 22, - "panels": [], - "title": "Request Count - HTTP", - "type": "row" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class=\"2\",source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success Count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class=\"2\",source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Success Count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "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 } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 1 + }, + "hiddenSeries": false, + "id": 25, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class!=\"2\",source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "interval": "", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "A" } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failure Count to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, - "hiddenSeries": false, - "id": 25, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_rq_xx{sidecar_response_code_class!=\"2\",source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "interval": "", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "A" + "type": "timeseries", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Failure Count to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 18 }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "collapsed": false, - "datasource": "${DS_PROMETHEUS}", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 18 + "id": 10, + "panels": [], + "title": "Traffic", + "type": "row" }, - "id": 10, - "panels": [], - "title": "Traffic", - "type": "row" - }, - { - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": { - "align": null + { + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 19 + }, + "id": 4, + "interval": "", + "options": { + "dataLinks": [] + }, + "pluginVersion": "8.2.2", + "targets": [ + { + "expr": "sidecar_cluster_upstream_cx_active{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "A" } + ], + "title": "Active Connections to other services", + "type": "timeseries", + "timeFrom": null, + "timeShift": null, + "renderer": "flot", + "yaxes": [ + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + }, + { + "label": null, + "show": true, + "logBase": 1, + "min": null, + "max": null, + "format": "short" + } + ], + "xaxis": { + "show": true, + "mode": "time", + "name": null, + "values": [], + "buckets": null }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 19 - }, - "id": 4, - "interval": "", - "options": { - "dataLinks": [] + "yaxis": { + "align": false, + "alignLevel": null + }, + "lines": true, + "fill": 1, + "fillGradient": 0, + "linewidth": 1, + "dashes": false, + "hiddenSeries": false, + "dashLength": 10, + "spaceLength": 10, + "points": false, + "pointradius": 2, + "bars": false, + "stack": false, + "percentage": false, + "legend": { + "show": true, + "values": false, + "min": false, + "max": false, + "current": false, + "total": false, + "avg": false + }, + "nullPointMode": "null", + "steppedLine": false, + "tooltip": { + "value_type": "individual", + "shared": true, + "sort": 0 + }, + "aliasColors": {}, + "seriesOverrides": [], + "thresholds": [], + "timeRegions": [] }, - "pluginVersion": "8.2.2", - "targets": [ - { - "expr": "sidecar_cluster_upstream_cx_active{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "A" - } - ], - "title": "Active Connections to other services", - "type": "timeseries", - "timeFrom": null, - "timeShift": null, - "renderer": "flot", - "yaxes": [ - { - "label": null, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 19 + }, + "hiddenSeries": false, + "id": 26, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "total": false, + "values": false }, - { - "label": null, + "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": "irate(sidecar_cluster_upstream_cx_destroy_remote_with_active_rq{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection destroyed by the client - {{sidecar_cluster_name}}", + "refId": "A" + }, + { + "expr": "irate(sidecar_cluster_upstream_cx_connect_timeout{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection timeout - {{sidecar_cluster_name}}", + "refId": "B" + }, + { + "expr": "irate(sidecar_cluster_upstream_cx_destroy_local_with_active_rq{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Connection destroyed by local Sidecar - {{sidecar_cluster_name}}", + "refId": "C" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_pending_failure_eject{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Pending failure ejection - {{sidecar_cluster_name}}", + "refId": "D" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_pending_overflow{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Pending overflow - {{sidecar_cluster_name}}", + "refId": "E" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_timeout{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Request timeout - {{sidecar_cluster_name}}", + "refId": "F" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_rx_reset{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Response reset - {{sidecar_cluster_name}}", + "refId": "G" + }, + { + "expr": "irate(sidecar_cluster_upstream_rq_tx_reset{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "Request reset - {{sidecar_cluster_name}}", + "refId": "H" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Connection/Requests errors", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, "show": true, - "logBase": 1, - "min": null, - "max": null, - "format": "short" + "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 } - ], - "xaxis": { - "show": true, - "mode": "time", - "name": null, - "values": [], - "buckets": null - }, - "yaxis": { - "align": false, - "alignLevel": null - }, - "lines": true, - "fill": 1, - "fillGradient": 0, - "linewidth": 1, - "dashes": false, - "hiddenSeries": false, - "dashLength": 10, - "spaceLength": 10, - "points": false, - "pointradius": 2, - "bars": false, - "stack": false, - "percentage": false, - "legend": { - "show": true, - "values": false, - "min": false, - "max": false, - "current": false, - "total": false, - "avg": false - }, - "nullPointMode": "null", - "steppedLine": false, - "tooltip": { - "value_type": "individual", - "shared": true, - "sort": 0 - }, - "aliasColors": {}, - "seriesOverrides": [], - "thresholds": [], - "timeRegions": [] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 19 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": 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": "irate(sidecar_cluster_upstream_cx_destroy_remote_with_active_rq{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection destroyed by the client - {{sidecar_cluster_name}}", - "refId": "A" - }, - { - "expr": "irate(sidecar_cluster_upstream_cx_connect_timeout{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection timeout - {{sidecar_cluster_name}}", - "refId": "B" + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "expr": "irate(sidecar_cluster_upstream_cx_destroy_local_with_active_rq{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Connection destroyed by local Sidecar - {{sidecar_cluster_name}}", - "refId": "C" + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 }, - { - "expr": "irate(sidecar_cluster_upstream_rq_pending_failure_eject{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Pending failure ejection - {{sidecar_cluster_name}}", - "refId": "D" + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false }, - { - "expr": "irate(sidecar_cluster_upstream_rq_pending_overflow{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Pending overflow - {{sidecar_cluster_name}}", - "refId": "E" + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] }, - { - "expr": "irate(sidecar_cluster_upstream_rq_timeout{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Request timeout - {{sidecar_cluster_name}}", - "refId": "F" + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(sidecar_cluster_upstream_cx_rx_bytes_total{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Bytes sent to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" }, - { - "expr": "irate(sidecar_cluster_upstream_rq_rx_reset{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Response reset - {{sidecar_cluster_name}}", - "refId": "G" + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] }, - { - "expr": "irate(sidecar_cluster_upstream_rq_tx_reset{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "Request reset - {{sidecar_cluster_name}}", - "refId": "H" + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Connection/Requests errors", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "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": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 27 - }, - "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": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "irate(sidecar_cluster_upstream_cx_rx_bytes_total{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Bytes sent to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "hiddenSeries": false, + "id": 27, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "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": "irate(sidecar_cluster_upstream_cx_tx_bytes_total{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", + "interval": "", + "legendFormat": "{{sidecar_cluster_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Bytes received to other services", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "timeseries", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "yaxis": { - "align": false, - "alignLevel": null } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "description": "", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 27 - }, - "hiddenSeries": false, - "id": 27, - "legend": { - "avg": false, - "current": 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": [ + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ { - "expr": "irate(sidecar_cluster_upstream_cx_tx_bytes_total{source_namespace=\"$source_namespace\",source_workload_kind=\"$source_workload_kind\",source_workload_name=\"$source_workload_name\",sidecar_cluster_name!~\"osm-controller|envoy-metrics-cluster|envoy-tracing-cluster|passthrough-outbound\"}[1m])", - "interval": "", - "legendFormat": "{{sidecar_cluster_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Bytes received to other services", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "timeseries", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(sidecar_server_live{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_workload_kind)", + "hide": 0, + "includeAll": false, + "label": "Source Workload Kind", + "multi": false, + "name": "source_workload_kind", + "options": [], + "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_workload_kind)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\",source_namespace=\"$source_namespace\"}, source_workload_name)", + "hide": 0, + "includeAll": false, + "label": "Source Workload Name", + "multi": false, + "name": "source_workload_name", + "options": [], + "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\", source_workload_kind=\"$source_workload_kind\"}, source_workload_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(sidecar_server_live{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_workload_kind)", - "hide": 0, - "includeAll": false, - "label": "Source Workload Kind", - "multi": false, - "name": "source_workload_kind", - "options": [], - "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\"}, source_workload_kind)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_PROMETHEUS}", - "definition": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\",source_namespace=\"$source_namespace\"}, source_workload_name)", - "hide": 0, - "includeAll": false, - "label": "Source Workload Name", - "multi": false, - "name": "source_workload_name", - "options": [], - "query": "label_values(sidecar_server_live{source_namespace=\"$source_namespace\", source_workload_kind=\"$source_workload_kind\"}, source_workload_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" + } diff --git a/packages/server/charts/osm/grafana/pipy/dashboards/osm-workload-to-workload.json b/packages/server/charts/osm/grafana/pipy/dashboards/osm-workload-to-workload.json index fae39d7..7c3e371 100644 --- a/packages/server/charts/osm/grafana/pipy/dashboards/osm-workload-to-workload.json +++ b/packages/server/charts/osm/grafana/pipy/dashboards/osm-workload-to-workload.json @@ -47,452 +47,452 @@ "version": "" } ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "title": "OSM Workload to Workload Metrics", - "description": "Compatible with OSM v1.0.0. This dashboard displays the latencies of requests in the mesh from workload to workload.", - "uid": "OSMWorkloadToWorkloadMetrics", - "version": 2, - "editable": true, - "gnetId": 11776, - "graphTooltip": 0, - "id": 5, - "iteration": 1591749611164, - "links": [], - "panels": [ - { - "collapsed": false, - "datasource": null, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 20, - "panels": [], - "title": "Request Latency", - "type": "row" + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "title": "OSM Workload to Workload Metrics", + "description": "Compatible with OSM v1.0.0. This dashboard displays the latencies of requests in the mesh from workload to workload.", + "uid": "OSMWorkloadToWorkloadMetrics", + "version": 2, + "editable": true, + "gnetId": 11776, + "graphTooltip": 0, + "id": 5, + "iteration": 1591749611164, + "links": [], + "panels": [ + { + "collapsed": false, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 1 + "id": 20, + "panels": [], + "title": "Request Latency", + "type": "row" }, - "hiddenSeries": false, - "id": 6, - "legend": { - "avg": false, - "current": false, - "hideEmpty": true, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "exemplar": true, - "expr": "histogram_quantile(0.99,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", - "interval": "", - "legendFormat": "{{destination_namespace}}/{{destination_name}}", - "refId": "A" + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 6, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "histogram_quantile(0.99,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", + "interval": "", + "legendFormat": "{{destination_namespace}}/{{destination_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Request Latency (P99)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": "", + "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 } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Request Latency (P99)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] }, - "yaxes": [ - { - "format": "ms", - "label": "", - "logBase": 1, - "max": null, - "min": "0", - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "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": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 1 }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 1 - }, - "hiddenSeries": false, - "id": 16, - "legend": { - "avg": false, - "current": false, - "hideEmpty": true, - "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": [ - { - "exemplar": true, - "expr": "histogram_quantile(0.90,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", - "interval": "", - "legendFormat": "{{destination_namespace}}/{{destination_name}}", - "refId": "A" + "hiddenSeries": false, + "id": 16, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "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": [ + { + "exemplar": true, + "expr": "histogram_quantile(0.90,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", + "interval": "", + "legendFormat": "{{destination_namespace}}/{{destination_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Request Latency (P90)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Request Latency (P90)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": 0, - "show": true + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 1 + }, + "hiddenSeries": false, + "id": 18, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "8.2.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "histogram_quantile(0.50,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", + "interval": "", + "legendFormat": "{{destination_namespace}}/{{destination_name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Request Latency (P50)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null } - ], - "yaxis": { - "align": false, - "alignLevel": null } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_PROMETHEUS}", - "fieldConfig": { - "defaults": { - "custom": {} + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": {}, + "datasource": "Prometheus", + "definition": "label_values(osm_request_duration_ms_sum{}, source_namespace)", + "hide": 0, + "includeAll": false, + "label": "Source Namespace", + "multi": false, + "name": "source_namespace", + "options": [], + "query": "label_values(osm_request_duration_ms_sum{}, source_namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 1 - }, - "hiddenSeries": false, - "id": 18, - "legend": { - "avg": false, - "current": false, - "hideEmpty": true, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "8.2.2", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ { - "exemplar": true, - "expr": "histogram_quantile(0.50,sum(irate(osm_request_duration_ms_bucket{source_namespace=\"$source_namespace\",source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\",source_pod=\"$source_pod\"}[1m])) by (le, destination_namespace, destination_name))", - "interval": "", - "legendFormat": "{{destination_namespace}}/{{destination_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Request Latency (P50)", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ + "allValue": null, + "current": { + "selected": false, + "text": "Deployment", + "value": "Deployment" + }, + "datasource": "Prometheus", + "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\"},source_kind)", + "hide": 0, + "includeAll": false, + "label": "Source Workload Kind", + "multi": false, + "name": "source_workload_kind", + "options": [], + "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\"},source_kind)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, { - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true + "allValue": null, + "current": {}, + "datasource": "Prometheus", + "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\"}, source_name)", + "hide": 0, + "includeAll": false, + "label": "Source Workload Name", + "multi": false, + "name": "source_workload_name", + "options": [], + "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\"}, source_name)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false }, { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true + "allValue": null, + "current": {}, + "datasource": "Prometheus", + "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\"}, source_pod) ", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Source Pod", + "multi": false, + "name": "source_pod", + "options": [], + "query": { + "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\"}, source_pod) ", + "refId": "StandardVariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "type": "query" } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": false, - "schemaVersion": 25, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "Prometheus", - "definition": "label_values(osm_request_duration_ms_sum{}, source_namespace)", - "hide": 0, - "includeAll": false, - "label": "Source Namespace", - "multi": false, - "name": "source_namespace", - "options": [], - "query": "label_values(osm_request_duration_ms_sum{}, source_namespace)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": { - "selected": false, - "text": "Deployment", - "value": "Deployment" - }, - "datasource": "Prometheus", - "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\"},source_kind)", - "hide": 0, - "includeAll": false, - "label": "Source Workload Kind", - "multi": false, - "name": "source_workload_kind", - "options": [], - "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\"},source_kind)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "Prometheus", - "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\"}, source_name)", - "hide": 0, - "includeAll": false, - "label": "Source Workload Name", - "multi": false, - "name": "source_workload_name", - "options": [], - "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\"}, source_name)", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "Prometheus", - "definition": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\"}, source_pod) ", - "description": null, - "error": null, - "hide": 0, - "includeAll": true, - "label": "Source Pod", - "multi": false, - "name": "source_pod", - "options": [], - "query": { - "query": "label_values(osm_request_duration_ms_sum{source_namespace=\"$source_namespace\", source_kind=\"$source_workload_kind\",source_name=\"$source_workload_name\"}, source_pod) ", - "refId": "StandardVariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "" -} + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "" +} \ No newline at end of file diff --git a/packages/server/charts/osm/templates/osm-deployment.yaml b/packages/server/charts/osm/templates/osm-deployment.yaml index d1dafb3..78841cc 100644 --- a/packages/server/charts/osm/templates/osm-deployment.yaml +++ b/packages/server/charts/osm/templates/osm-deployment.yaml @@ -15,11 +15,13 @@ spec: selector: matchLabels: app: osm-controller + codebase: "{{ .Values.osm.repoServer.codebase }}" template: metadata: labels: {{- include "osm.labels" . | nindent 8 }} app: osm-controller + codebase: "{{ .Values.osm.repoServer.codebase }}" {{- if .Values.osm.osmController.podLabels }} {{- toYaml .Values.osm.osmController.podLabels | nindent 8 }} {{- end }} @@ -44,8 +46,9 @@ spec: {{- range .Values.osm.sidecarDrivers }} {{- if eq .sidecarName $.Values.osm.sidecarClass }} {{- if eq .sidecarName "pipy" }} + {{- if not $.Values.osm.repoServer.standalone }} - name: osm-pipy-repo - image: {{ $.Values.osm.pipyRepoImage }} + image: {{ $.Values.osm.repoServer.image }} imagePullPolicy: {{ $.Values.osm.image.pullPolicy }} ports: - name: "pipy-admin-port" @@ -57,6 +60,7 @@ spec: {{- end }} {{- end }} {{- end }} + {{- end }} - name: osm-controller image: "{{ include "osmController.image" . }}" imagePullPolicy: {{ .Values.osm.image.pullPolicy }} diff --git a/packages/server/charts/osm/templates/osm-injector-deployment.yaml b/packages/server/charts/osm/templates/osm-injector-deployment.yaml index 09e09e3..8dffdd5 100644 --- a/packages/server/charts/osm/templates/osm-injector-deployment.yaml +++ b/packages/server/charts/osm/templates/osm-injector-deployment.yaml @@ -96,6 +96,8 @@ spec: path: /healthz port: 9091 env: + - name: CONTROLLER_SVC_NAME + value: osm-controller # The INJECTOR_POD_NAME env variable sets pod name dynamically, used by osm-injector to register events - name: INJECTOR_POD_NAME valueFrom: diff --git a/packages/server/charts/osm/templates/osm-interceptor-hpa.yaml b/packages/server/charts/osm/templates/osm-interceptor-hpa.yaml new file mode 100644 index 0000000..7406143 --- /dev/null +++ b/packages/server/charts/osm/templates/osm-interceptor-hpa.yaml @@ -0,0 +1,130 @@ +{{- if eq .Values.osm.trafficInterceptionMode "ebpf" }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: osm-interceptor + namespace: {{ include "osm.namespace" . }} + labels: + {{- include "osm.labels" . | nindent 4 }} + app: osm-interceptor +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: osm-interceptor + labels: + {{- include "osm.labels" . | nindent 4 }} + app: osm-interceptor +rules: +- apiGroups: + - "" + resources: + - pods + verbs: + - list + - get + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: osm-interceptor + labels: + {{- include "osm.labels" . | nindent 4 }} + app: osm-interceptor +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: osm-interceptor +subjects: +- kind: ServiceAccount + name: osm-interceptor + namespace: osm-system +--- +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: osm-interceptor + namespace: {{ include "osm.namespace" . }} + labels: + {{- include "osm.labels" . | nindent 4 }} + app: osm-interceptor +spec: + revisionHistoryLimit: 10 + selector: + matchLabels: + app: osm-interceptor + template: + metadata: + labels: + app: osm-interceptor + spec: + hostNetwork: true + containers: + - image: "cybwan/osm-edge-interceptor:latest" + imagePullPolicy: Always + name: osm-interceptor + args: + - /app/mbctl + - -m + - osm + - --use-reconnect=true + - --cni-mode=true + - --kind=true + - --debug=true + lifecycle: + preStop: + exec: + command: + - make + - -k + - clean + resources: + requests: + cpu: 100m + memory: 200Mi + limits: + cpu: 300m + memory: 200Mi + securityContext: + privileged: true + volumeMounts: + - mountPath: /sys/fs/cgroup + name: sys-fs-cgroup + - mountPath: /host/opt/cni/bin + name: cni-bin-dir + - mountPath: /host/etc/cni/net.d + name: cni-config-dir + - mountPath: /host/proc + name: host-proc + - mountPath: /host/var/run + name: host-var-run + mountPropagation: Bidirectional + dnsPolicy: ClusterFirst + nodeSelector: + kubernetes.io/os: linux + priorityClassName: system-node-critical + restartPolicy: Always + serviceAccount: osm-interceptor + serviceAccountName: osm-interceptor + tolerations: + - key: CriticalAddonsOnly + operator: Exists + - operator: Exists + volumes: + - hostPath: + path: /sys/fs/cgroup + name: sys-fs-cgroup + - hostPath: + path: /proc + name: host-proc + - hostPath: + path: /opt/cni/bin + name: cni-bin-dir + - hostPath: + path: /etc/cni/net.d + name: cni-config-dir + - hostPath: + path: /var/run + name: host-var-run +{{- end }} \ No newline at end of file diff --git a/packages/server/charts/osm/templates/osm-rbac.yaml b/packages/server/charts/osm/templates/osm-rbac.yaml index f242b5b..597403f 100644 --- a/packages/server/charts/osm/templates/osm-rbac.yaml +++ b/packages/server/charts/osm/templates/osm-rbac.yaml @@ -9,7 +9,7 @@ rules: resources: ["daemonsets", "deployments", "replicasets", "statefulsets"] verbs: ["list", "get", "watch"] - apiGroups: ["networking.k8s.io"] - resources: ["ingresses"] + resources: ["ingresses", "ingressclasses"] verbs: ["list", "get", "watch"] - apiGroups: ["batch"] resources: ["jobs"] @@ -64,6 +64,19 @@ rules: resources: ["ingressbackends/status", "accesscontrols/status", "accesscerts/status", "upstreamtrafficsettings/status"] verbs: ["update"] + # FSM's custom resource API + - apiGroups: ["flomesh.io"] + resources: ["serviceexports", "serviceimports", "globaltrafficpolicies"] + verbs: ["list", "get", "watch"] + + # OSM Edge's custom plugin API + - apiGroups: ["plugin.flomesh.io"] + resources: ["plugins", "pluginchains", "pluginconfigs"] + verbs: ["list", "get", "watch"] + - apiGroups: ["plugin.flomesh.io"] + resources: ["plugins/status", "pluginchains/status", "pluginconfigs/status"] + verbs: ["update"] + # Used for interacting with cert-manager CertificateRequest resources. - apiGroups: ["cert-manager.io"] resources: ["certificaterequests"] diff --git a/packages/server/charts/osm/templates/preset-mesh-config.yaml b/packages/server/charts/osm/templates/preset-mesh-config.yaml index 13eb670..aa19da8 100644 --- a/packages/server/charts/osm/templates/preset-mesh-config.yaml +++ b/packages/server/charts/osm/templates/preset-mesh-config.yaml @@ -6,6 +6,9 @@ metadata: data: preset-mesh-config.json: | { + "clusterSet": { + "properties": [] + }, "sidecar": { "enablePrivilegedInitContainer": {{.Values.osm.enablePrivilegedInitContainer | mustToJson}}, "logLevel": {{.Values.osm.sidecarLogLevel | mustToJson}}, @@ -14,9 +17,11 @@ data: "sidecarClass": {{.Values.osm.sidecarClass | mustToJson }}, "sidecarImage": {{.Values.osm.sidecarImage | mustToJson }}, "sidecarDrivers": {{.Values.osm.sidecarDrivers | mustToJson }}, - "localProxyMode": {{.Values.osm.localProxyMode | mustToJson}} + "localProxyMode": {{.Values.osm.localProxyMode | mustToJson}}, + "localDNSProxy": {{.Values.osm.localDNSProxy | mustToJson}} }, "traffic": { + "interceptionMode": {{.Values.osm.trafficInterceptionMode | mustToJson}}, "enableEgress": {{.Values.osm.enableEgress | mustToJson}}, "enablePermissiveTrafficPolicyMode": {{.Values.osm.enablePermissiveTrafficPolicy | mustToJson}}, "outboundPortExclusionList": {{.Values.osm.outboundPortExclusionList | mustToJson}}, @@ -32,8 +37,9 @@ data: "enable": {{.Values.osm.tracing.enable | mustToJson}}{{- if .Values.osm.tracing.enable }},{{- end }} {{- if .Values.osm.tracing.enable }} "port": {{.Values.osm.tracing.port | mustToJson}}, - "address": {{include "osm.tracingAddress" . | mustToJson}}, - "endpoint": {{.Values.osm.tracing.endpoint | mustToJson}} + "address": {{.Values.osm.tracing.address | mustToJson}}, + "endpoint": {{.Values.osm.tracing.endpoint | mustToJson}}, + "sampledFraction": {{.Values.osm.tracing.sampledFraction | mustToJson}} {{- end }} }, "remoteLogging": { @@ -42,7 +48,8 @@ data: "port": {{.Values.osm.remoteLogging.port | mustToJson}}, "address": {{.Values.osm.remoteLogging.address | mustToJson}}, "endpoint": {{.Values.osm.remoteLogging.endpoint | mustToJson}}, - "authorization": {{.Values.osm.remoteLogging.authorization | mustToJson}} + "authorization": {{.Values.osm.remoteLogging.authorization | mustToJson}}, + "sampledFraction": {{.Values.osm.remoteLogging.sampledFraction | mustToJson}} {{- end }} } }, @@ -60,6 +67,10 @@ data: {{- end }} "certKeyBitSize": {{.Values.osm.certificateProvider.certKeyBitSize | mustToJson}} }, + "repoServer": { + "ipaddr": {{.Values.osm.repoServer.ipaddr | mustToJson}}, + "codebase": {{.Values.osm.repoServer.codebase | mustToJson}} + }, "featureFlags": { "enableWASMStats": {{.Values.osm.featureFlags.enableWASMStats | mustToJson}}, "enableEgressPolicy": {{.Values.osm.featureFlags.enableEgressPolicy | mustToJson}}, @@ -69,6 +80,8 @@ data: "enableAccessControlPolicy": {{.Values.osm.featureFlags.enableAccessControlPolicy | mustToJson}}, "enableAccessCertPolicy": {{.Values.osm.featureFlags.enableAccessCertPolicy | mustToJson}}, "enableSidecarActiveHealthChecks": {{.Values.osm.featureFlags.enableSidecarActiveHealthChecks | mustToJson}}, - "enableRetryPolicy": {{.Values.osm.featureFlags.enableRetryPolicy | mustToJson}} - } + "enableRetryPolicy": {{.Values.osm.featureFlags.enableRetryPolicy | mustToJson}}, + "enablePluginPolicy": {{.Values.osm.featureFlags.enablePluginPolicy | mustToJson}} + }, + "pluginChains": {{.Values.osm.pluginChains | mustToJson }} } diff --git a/packages/server/charts/osm/values.schema.json b/packages/server/charts/osm/values.schema.json index 85b1231..d1c9c33 100644 --- a/packages/server/charts/osm/values.schema.json +++ b/packages/server/charts/osm/values.schema.json @@ -1,1422 +1,1908 @@ { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "title": "The OSM Helm chart values schema", - "required": ["osm", "contour", "smi", "fsm"], - "definitions": { - "containerResources": { - "$id": "#/properties/definitions/properties/containerResources", - "type": "object", - "title": "The containerResources schema definition", - "description": "The container's resource configuration", - "required": ["limits", "requests"], - "properties": { - "limits": { - "$id": "#/properties/definitions/properties/containerResources/properties/limits", - "type": "object", - "title": "The containerResources' limits schema", - "description": "The container's resource limits", - "required": ["cpu", "memory"], - "properties": { - "cpu": { - "$id": "#/properties/definitions/properties/containerResources/properties/limits/properties/cpu", - "type": "string", - "title": "The containerResources' CPU limit schema", - "description": "The container's CPU limit" - }, - "memory": { - "$id": "#/properties/definitions/properties/containerResources/properties/limits/properties/memory", - "type": "string", - "title": "The containerResources' memory limit schema", - "description": "The container's memory limit" + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "title": "The OSM Helm chart values schema", + "required": [ + "osm", + "contour", + "smi", + "fsm" + ], + "definitions": { + "containerResources": { + "$id": "#/properties/definitions/properties/containerResources", + "type": "object", + "title": "The containerResources schema definition", + "description": "The container's resource configuration", + "required": [ + "limits", + "requests" + ], + "properties": { + "limits": { + "$id": "#/properties/definitions/properties/containerResources/properties/limits", + "type": "object", + "title": "The containerResources' limits schema", + "description": "The container's resource limits", + "required": [ + "cpu", + "memory" + ], + "properties": { + "cpu": { + "$id": "#/properties/definitions/properties/containerResources/properties/limits/properties/cpu", + "type": "string", + "title": "The containerResources' CPU limit schema", + "description": "The container's CPU limit" + }, + "memory": { + "$id": "#/properties/definitions/properties/containerResources/properties/limits/properties/memory", + "type": "string", + "title": "The containerResources' memory limit schema", + "description": "The container's memory limit" + } + }, + "additionalProperties": false + }, + "requests": { + "$id": "#/properties/definitions/properties/containerResources/properties/requests", + "type": "object", + "title": "The containerResources' requests schema", + "description": "The container's request limits", + "required": [ + "cpu", + "memory" + ], + "properties": { + "cpu": { + "$id": "#/properties/definitions/properties/containerResources/properties/requests/properties/cpu", + "type": "string", + "title": "The containerResources' CPU request schema", + "description": "The container's CPU request limit" + }, + "memory": { + "$id": "#/properties/definitions/properties/containerResources/properties/requests/properties/memory", + "type": "string", + "title": "The containerResources' memory request schema", + "description": "The container's memory request limit" + } + }, + "additionalProperties": false + } } - }, - "additionalProperties": false }, - "requests": { - "$id": "#/properties/definitions/properties/containerResources/properties/requests", - "type": "object", - "title": "The containerResources' requests schema", - "description": "The container's request limits", - "required": ["cpu", "memory"], - "properties": { - "cpu": { - "$id": "#/properties/definitions/properties/containerResources/properties/requests/properties/cpu", - "type": "string", - "title": "The containerResources' CPU request schema", - "description": "The container's CPU request limit" - }, - "memory": { - "$id": "#/properties/definitions/properties/containerResources/properties/requests/properties/memory", - "type": "string", - "title": "The containerResources' memory request schema", - "description": "The container's memory request limit" + "autoScale": { + "$id": "#/properties/definitions/properties/autoScale", + "type": "object", + "title": "The autoScale schema", + "description": "Autoscale configuration parameters", + "required": [ + "enable" + ], + "properties": { + "enable": { + "$id": "#/properties/definitions/properties/autoScale/properties/enable", + "type": "boolean", + "title": "Autoscale enable", + "description": "Indicates whether autoscale should be enabled or not.", + "examples": [ + false + ] + }, + "minReplicas": { + "$id": "#/properties/definitions/properties/autoScale/properties/minReplicas", + "type": "integer", + "title": "Autoscale minimum replicas", + "description": "Indicates the minimum replicas for autoscale.", + "minimum": 1, + "maximum": 10, + "examples": [ + 1 + ] + }, + "maxReplicas": { + "$id": "#/properties/definitions/properties/autoScale/properties/maxReplicas", + "type": "integer", + "title": "Autoscale maximum replicase", + "description": "Indicates the maximum replicas for autoscale.", + "minimum": 1, + "maximum": 10, + "examples": [ + 5 + ] + }, + "cpu": { + "$id": "#/properties/definitions/properties/autoScale/properties/cpu", + "type": "object", + "title": "Autoscale CPU resource schema", + "description": "Autoscale CPU configuration", + "required": [ + "targetAverageUtilization" + ], + "properties": { + "targetAverageUtilization": { + "$id": "#/properties/definitions/properties/autoScale/properties/cpu/properties/targetAverageUtilization", + "type": "integer", + "title": "Autoscale cpu targetAverageUtilization", + "description": "Indicates average target cpu utilization (percentage) for autoscale.", + "minimum": 0, + "maximum": 100, + "examples": [ + 80 + ] + } + }, + "additionalProperties": false + }, + "memory": { + "$id": "#/properties/definitions/properties/autoScale/properties/memory", + "type": "object", + "title": "Autoscale memory resource schema", + "description": "Autoscale memory configuration", + "required": [ + "targetAverageUtilization" + ], + "properties": { + "targetAverageUtilization": { + "$id": "#/properties/definitions/properties/autoScale/properties/memory/properties/targetAverageUtilization", + "type": "integer", + "title": "Autoscale memory targetAverageUtilization", + "description": "Indicates average target memory utilization (percentage) for autoscale.", + "minimum": 0, + "maximum": 100, + "examples": [ + 80 + ] + } + }, + "additionalProperties": false + } } - }, - "additionalProperties": false } - } }, - "autoScale": { - "$id": "#/properties/definitions/properties/autoScale", - "type": "object", - "title": "The autoScale schema", - "description": "Autoscale configuration parameters", - "required": ["enable"], - "properties": { - "enable": { - "$id": "#/properties/definitions/properties/autoScale/properties/enable", - "type": "boolean", - "title": "Autoscale enable", - "description": "Indicates whether autoscale should be enabled or not.", - "examples": [false] - }, - "minReplicas": { - "$id": "#/properties/definitions/properties/autoScale/properties/minReplicas", - "type": "integer", - "title": "Autoscale minimum replicas", - "description": "Indicates the minimum replicas for autoscale.", - "minimum": 1, - "maximum": 10, - "examples": [1] - }, - "maxReplicas": { - "$id": "#/properties/definitions/properties/autoScale/properties/maxReplicas", - "type": "integer", - "title": "Autoscale maximum replicase", - "description": "Indicates the maximum replicas for autoscale.", - "minimum": 1, - "maximum": 10, - "examples": [5] - }, - "cpu": { - "$id": "#/properties/definitions/properties/autoScale/properties/cpu", - "type": "object", - "title": "Autoscale CPU resource schema", - "description": "Autoscale CPU configuration", - "required": ["targetAverageUtilization"], - "properties": { - "targetAverageUtilization": { - "$id": "#/properties/definitions/properties/autoScale/properties/cpu/properties/targetAverageUtilization", - "type": "integer", - "title": "Autoscale cpu targetAverageUtilization", - "description": "Indicates average target cpu utilization (percentage) for autoscale.", - "minimum": 0, - "maximum": 100, - "examples": [80] - } - }, - "additionalProperties": false - }, - "memory": { - "$id": "#/properties/definitions/properties/autoScale/properties/memory", - "type": "object", - "title": "Autoscale memory resource schema", - "description": "Autoscale memory configuration", - "required": ["targetAverageUtilization"], - "properties": { - "targetAverageUtilization": { - "$id": "#/properties/definitions/properties/autoScale/properties/memory/properties/targetAverageUtilization", - "type": "integer", - "title": "Autoscale memory targetAverageUtilization", - "description": "Indicates average target memory utilization (percentage) for autoscale.", - "minimum": 0, - "maximum": 100, - "examples": [80] - } - }, - "additionalProperties": false - } - } - } - }, - "properties": { - "osm": { - "$id": "#/properties/osm", - "type": "object", - "title": "The OpenServiceMesh schema", - "description": "The top level required key in the values file.", - "required": [ - "image", - "sidecarClass", - "curlImage", - "caBundleSecretName", - "enableDebugServer", - "enablePermissiveTrafficPolicy", - "enableEgress", - "enableReconciler", - "deployPrometheus", - "deployGrafana", - "enableFluentbit", - "fluentBit", - "meshName", - "maxDataPlaneConnections", - "sidecarLogLevel", - "controllerLogLevel", - "enforceSingleMesh", - "deployJaeger", - "tracing", - "remoteLogging", - "webhookConfigNamePrefix", - "osmController", - "enablePrivilegedInitContainer", - "injector", - "osmBootstrap", - "featureFlags" - ], - "properties": { - "osmController": { - "$id": "#/properties/osm/properties/osmController", - "type": "object", - "title": "The osmController schema", - "description": "The details of the osmController.", - "required": ["resource"], - "properties": { - "replicaCount": { - "$id": "#/properties/osm/properties/osmController/properties/replicaCount", - "type": "integer", - "title": "The replicaCount schema", - "description": "The number of replicas of the osm-controller pod", - "examples": [1] - }, - "resource": { - "$ref": "#/definitions/containerResources" - }, - "podLabels": { - "$id": "#/properties/osm/properties/osmController/properties/podLabels", - "type": "object", - "title": "The podLabels schema", - "description": "Labels for the osmController pod.", - "default": {} - }, - "enablePodDisruptionBudget": { - "$id": "#/properties/osm/properties/osmController/properties/enablePodDisruptionBudget", - "type": "boolean", - "title": "The enablePodDisruptionBudget schema", - "description": "Indicates whether Pod Disruption Budget should be enabled or not.", - "examples": [false] - }, - "autoScale": { - "$ref": "#/definitions/autoScale" - }, - "affinity": { - "type": "object" - }, - "tolerations": { - "type": "array" - } - }, - "additionalProperties": false - }, - "image": { - "$id": "#/properties/osm/properties/image", - "type": "object", - "title": "The image schema", - "description": "The details of the images to run.", - "examples": [ - { - "registry": "openservicemesh", - "pullPolicy": "IfNotPresent", - "tag": "v0.4.2" - } - ], - "required": ["registry", "name", "pullPolicy", "tag", "digest"], - "properties": { - "registry": { - "$id": "#/properties/osm/properties/image/properties/registry", - "type": "string", - "title": "The registry schema", - "description": "The registry of the images to run.", - "examples": ["openservicemesh"] - }, - "name": { - "$id": "#/properties/osm/properties/image/properties/name", - "type": "object", - "title": "Default image names", - "description": "Default image names for control plane.", - "required": [ + "properties": { + "osm": { + "$id": "#/properties/osm", + "type": "object", + "title": "The OpenServiceMesh schema", + "description": "The top level required key in the values file.", + "required": [ + "image", + "sidecarClass", + "sidecarDrivers", + "pluginChains", + "curlImage", + "caBundleSecretName", + "enableDebugServer", + "enablePermissiveTrafficPolicy", + "trafficInterceptionMode", + "enableEgress", + "enableReconciler", + "deployPrometheus", + "deployGrafana", + "enableFluentbit", + "fluentBit", + "meshName", + "maxDataPlaneConnections", + "sidecarLogLevel", + "controllerLogLevel", + "enforceSingleMesh", + "deployJaeger", + "tracing", + "remoteLogging", + "webhookConfigNamePrefix", "osmController", - "osmInjector", - "osmSidecarInit", + "enablePrivilegedInitContainer", + "injector", "osmBootstrap", - "osmCRDs", - "osmPreinstall", - "osmHealthcheck" - ], - "properties": { + "featureFlags" + ], + "properties": { "osmController": { - "$id": "#/properties/osm/properties/image/properties/name/properties/osmController", - "type": "string", - "title": "osm-controller's image names", - "description": "osm-controller container's image names." + "$id": "#/properties/osm/properties/osmController", + "type": "object", + "title": "The osmController schema", + "description": "The details of the osmController.", + "required": [ + "resource" + ], + "properties": { + "replicaCount": { + "$id": "#/properties/osm/properties/osmController/properties/replicaCount", + "type": "integer", + "title": "The replicaCount schema", + "description": "The number of replicas of the osm-controller pod", + "examples": [ + 1 + ] + }, + "resource": { + "$ref": "#/definitions/containerResources" + }, + "podLabels": { + "$id": "#/properties/osm/properties/osmController/properties/podLabels", + "type": "object", + "title": "The podLabels schema", + "description": "Labels for the osmController pod.", + "default": {} + }, + "enablePodDisruptionBudget": { + "$id": "#/properties/osm/properties/osmController/properties/enablePodDisruptionBudget", + "type": "boolean", + "title": "The enablePodDisruptionBudget schema", + "description": "Indicates whether Pod Disruption Budget should be enabled or not.", + "examples": [ + false + ] + }, + "autoScale": { + "$ref": "#/definitions/autoScale" + }, + "affinity": { + "type": "object" + }, + "tolerations": { + "type": "array" + } + }, + "additionalProperties": false }, - "osmInjector": { - "$id": "#/properties/osm/properties/image/properties/name/properties/osmInjector", - "type": "string", - "title": "osm-injector's image name", - "description": "osm-injector container's image name." + "image": { + "$id": "#/properties/osm/properties/image", + "type": "object", + "title": "The image schema", + "description": "The details of the images to run.", + "examples": [ + { + "registry": "openservicemesh", + "pullPolicy": "IfNotPresent", + "tag": "v0.4.2" + } + ], + "required": [ + "registry", + "name", + "pullPolicy", + "tag", + "digest" + ], + "properties": { + "registry": { + "$id": "#/properties/osm/properties/image/properties/registry", + "type": "string", + "title": "The registry schema", + "description": "The registry of the images to run.", + "examples": [ + "openservicemesh" + ] + }, + "name": { + "$id": "#/properties/osm/properties/image/properties/name", + "type": "object", + "title": "Default image names", + "description": "Default image names for control plane.", + "required": [ + "osmController", + "osmInjector", + "osmSidecarInit", + "osmBootstrap", + "osmCRDs", + "osmPreinstall", + "osmHealthcheck" + ], + "properties": { + "osmController": { + "$id": "#/properties/osm/properties/image/properties/name/properties/osmController", + "type": "string", + "title": "osm-controller's image names", + "description": "osm-controller container's image names." + }, + "osmInjector": { + "$id": "#/properties/osm/properties/image/properties/name/properties/osmInjector", + "type": "string", + "title": "osm-injector's image name", + "description": "osm-injector container's image name." + }, + "osmSidecarInit": { + "$id": "#/properties/osm/properties/image/properties/name/properties/osmSidecarInit", + "type": "string", + "title": "osm-osmSidecarInit's image name", + "description": "osm-osmSidecarInit container's image name." + }, + "osmBootstrap": { + "$id": "#/properties/osm/properties/image/properties/name/properties/osmBootstrap", + "type": "string", + "title": "osm-boostrap's image name", + "description": "osm-bootstrap container's image name." + }, + "osmCRDs": { + "$id": "#/properties/osm/properties/image/properties/name/properties/osmCRDs", + "type": "string", + "title": "osm-crds' image name", + "description": "osm-crds container's image name." + }, + "osmPreinstall": { + "$id": "#/properties/osm/properties/image/properties/name/properties/osmPreinstall", + "type": "string", + "title": "osm-preinstall's image name", + "description": "osm-preinstall container's image name." + }, + "osmHealthcheck": { + "$id": "#/properties/osm/properties/image/properties/name/properties/osmHealthcheck", + "type": "string", + "title": "osm-healthcheck's image name", + "description": "osm-healthcheck container's image name." + } + } + }, + "pullPolicy": { + "$id": "#/properties/osm/properties/image/properties/pullPolicy", + "type": "string", + "title": "The pullPolicy schema", + "description": "The image pull policy.", + "pattern": "^(Always|Never|IfNotPresent)?$", + "examples": [ + "IfNotPresent" + ] + }, + "tag": { + "$id": "#/properties/osm/properties/image/properties/tag", + "type": "string", + "title": "The tag schema", + "description": "The image tag to run.", + "examples": [ + "v0.4.2" + ] + }, + "digest": { + "$id": "#/properties/osm/properties/image/properties/digest", + "type": "object", + "title": "Default image digests", + "description": "Default image digests for control plane.", + "required": [ + "osmController", + "osmInjector", + "osmSidecarInit", + "osmCRDs", + "osmBootstrap", + "osmPreinstall", + "osmHealthcheck" + ], + "properties": { + "osmController": { + "$id": "#/properties/osm/properties/image/properties/digest/properties/osmController", + "type": "string", + "title": "osm-controller's image digest", + "description": "osm-controller container's image digest." + }, + "osmInjector": { + "$id": "#/properties/osm/properties/image/properties/digest/properties/osmInjector", + "type": "string", + "title": "osm-injector's image digest", + "description": "osm-injector container's image digest." + }, + "osmSidecarInit": { + "$id": "#/properties/osm/properties/image/properties/digest/properties/osmSidecarInit", + "type": "string", + "title": "osm-osmSidecarInit's image digest", + "description": "osm-osmSidecarInit container's image digest." + }, + "osmCRDs": { + "$id": "#/properties/osm/properties/image/properties/digest/properties/osmCRDs", + "type": "string", + "title": "osm-crds' image digest", + "description": "osm-crds container's image digest." + }, + "osmBootstrap": { + "$id": "#/properties/osm/properties/image/properties/digest/properties/osmBootstrap", + "type": "string", + "title": "osm-boostrap's image digest", + "description": "osm-bootstrap container's image digest." + }, + "osmPreinstall": { + "$id": "#/properties/osm/properties/image/properties/digest/properties/osmPreinstall", + "type": "string", + "title": "osm-preinstall's image digest", + "description": "osm-preinstall container's image digest." + }, + "osmHealthcheck": { + "$id": "#/properties/osm/properties/image/properties/digest/properties/osmHealthcheck", + "type": "string", + "title": "osm-healthcheck's image digest", + "description": "osm-healthcheck container's image digest." + } + } + } + }, + "additionalProperties": false }, - "osmSidecarInit": { - "$id": "#/properties/osm/properties/image/properties/name/properties/osmSidecarInit", - "type": "string", - "title": "osm-osmSidecarInit's image name", - "description": "osm-osmSidecarInit container's image name." + "sidecarClass": { + "$id": "#/properties/osm/properties/sidecarClass", + "type": "string", + "title": "The sidecarClass schema", + "description": "The class of the OSM Sidecar.", + "examples": [ + "pipy | envoy" + ] }, - "osmBootstrap": { - "$id": "#/properties/osm/properties/image/properties/name/properties/osmBootstrap", - "type": "string", - "title": "osm-boostrap's image name", - "description": "osm-bootstrap container's image name." + "sidecarImage": { + "$id": "#/properties/osm/properties/sidecarImage", + "type": "string", + "title": "The sidecarImage schema", + "description": "The proxy side car image to run.", + "examples": [ + "flomesh/pipy-nightly:latest" + ] }, - "osmCRDs": { - "$id": "#/properties/osm/properties/image/properties/name/properties/osmCRDs", - "type": "string", - "title": "osm-crds' image name", - "description": "osm-crds container's image name." + "sidecarWindowsImage": { + "$id": "#/properties/osm/properties/sidecarWindowsImage", + "type": "string", + "title": "The sidecarWindowsImage schema", + "description": "The proxy side car image to run on Windows payloads.", + "examples": [ + "flomesh/pipy-windows-nightly:latest" + ] }, - "osmPreinstall": { - "$id": "#/properties/osm/properties/image/properties/name/properties/osmPreinstall", - "type": "string", - "title": "osm-preinstall's image name", - "description": "osm-preinstall container's image name." + "sidecarDrivers": { + "$id": "#/properties/osm/properties/sidecarDrivers", + "type": "array", + "title": "The sidecarDriver schema", + "description": "The class of the OSM Sidecar Driver.", + "items": { + "type": "object" + }, + "examples": [ + [ + { + "sidecarName": "pipy", + "sidecarImage": "flomesh/pipy:latest", + "sidecarWindowsImage": "flomesh/pipy-windows-nightly:latest", + "initContainerImage": "curlimages/curl", + "proxyServerPort": 6060, + "sidecarDisabledMTLS": false + } + ] + ] }, - "osmHealthcheck": { - "$id": "#/properties/osm/properties/image/properties/name/properties/osmHealthcheck", - "type": "string", - "title": "osm-healthcheck's image name", - "description": "osm-healthcheck container's image name." - } - } - }, - "pullPolicy": { - "$id": "#/properties/osm/properties/image/properties/pullPolicy", - "type": "string", - "title": "The pullPolicy schema", - "description": "The image pull policy.", - "pattern": "^(Always|Never|IfNotPresent)?$", - "examples": ["IfNotPresent"] - }, - "tag": { - "$id": "#/properties/osm/properties/image/properties/tag", - "type": "string", - "title": "The tag schema", - "description": "The image tag to run.", - "examples": ["v0.4.2"] - }, - "digest": { - "$id": "#/properties/osm/properties/image/properties/digest", - "type": "object", - "title": "Default image digests", - "description": "Default image digests for control plane.", - "required": [ - "osmController", - "osmInjector", - "osmSidecarInit", - "osmCRDs", - "osmBootstrap", - "osmPreinstall", - "osmHealthcheck" - ], - "properties": { - "osmController": { - "$id": "#/properties/osm/properties/image/properties/digest/properties/osmController", - "type": "string", - "title": "osm-controller's image digest", - "description": "osm-controller container's image digest." + "pluginChains": { + "$id": "#/properties/osm/properties/pluginChains", + "type": "object", + "title": "Plugin Chain Scheme", + "description": "Plugin Chain Scheme", + "additionalProperties": false, + "properties": { + "inbound-tcp": { + "$id": "#/properties/osm/properties/pluginChains/inbound-tcp", + "type": "array", + "title": "Inbound TCP Plugin Chain Schema", + "description": "Inbound TCP Plugin Chain Schema", + "items": { + "type": "object", + "required": [ + "plugin", + "priority" + ], + "additionalProperties": false, + "properties": { + "plugin": { + "type": "string" + }, + "priority": { + "type": "number", + "minimum": 0 + }, + "disable": { + "type": "boolean" + } + } + } + }, + "inbound-http": { + "$id": "#/properties/osm/properties/pluginChains/inbound-http", + "type": "array", + "title": "Inbound HTTP Plugin Chain Schema", + "description": "Inbound HTTP Plugin Chain Schema", + "items": { + "type": "object", + "required": [ + "plugin", + "priority" + ], + "additionalProperties": false, + "properties": { + "plugin": { + "type": "string" + }, + "priority": { + "type": "number", + "minimum": 0 + }, + "disable": { + "type": "boolean" + } + } + } + }, + "outbound-tcp": { + "$id": "#/properties/osm/properties/pluginChains/outbound-tcp", + "type": "array", + "title": "Outbound TCP Plugin Chain Schema", + "description": "Outbound TCP Plugin Chain Schema", + "items": { + "type": "object", + "required": [ + "plugin", + "priority" + ], + "additionalProperties": false, + "properties": { + "plugin": { + "type": "string" + }, + "priority": { + "type": "number", + "minimum": 0 + }, + "disable": { + "type": "boolean" + } + } + } + }, + "outbound-http": { + "$id": "#/properties/osm/properties/pluginChains/outbound-http", + "type": "array", + "title": "Outbound HTTP Plugin Chain Schema", + "description": "Outbound HTTP Plugin Chain Schema", + "items": { + "type": "object", + "required": [ + "plugin", + "priority" + ], + "additionalProperties": false, + "properties": { + "plugin": { + "type": "string" + }, + "priority": { + "type": "number", + "minimum": 0 + }, + "disable": { + "type": "boolean" + } + } + } + } + } + }, + "curlImage": { + "$id": "#/properties/osm/properties/curlImage", + "type": "string", + "title": "The curlImage schema", + "description": "The curl image for control plane init containers.", + "examples": [ + "curlimages/curl" + ] + }, + "repoServer": { + "$id": "#/properties/osm/properties/repoServer", + "type": "object", + "title": "Pipy repo server", + "description": "Pipy repo server.", + "required": [ + "image", + "standalone", + "ipaddr", + "codebase" + ], + "additionalProperties": false, + "properties": { + "image": { + "$id": "#/properties/osm/properties/repoServer/image", + "type": "string", + "title": "Pipy repo server's image schema", + "description": "Image used for pipy repo server", + "examples": [ + "flomesh/pipy-repo:latest" + ] + }, + "standalone": { + "$id": "#/properties/osm/properties/repoServer/standalone", + "type": "boolean", + "title": "Install Mode of RepoServer", + "description": "if false , RepoServer is installed within osmController pod.", + "examples": [ + false + ] + }, + "ipaddr": { + "$id": "#/properties/osm/properties/repoServer/ipaddr", + "type": "string", + "title": "The ipaddr schema for pipy repo server", + "description": "Ip address of the pipy repo server", + "examples": [ + "127.0.0.1" + ] + }, + "codebase": { + "$id": "#/properties/osm/properties/repoServer/codebase", + "type": "string", + "title": "The codebase schema for pipy repo server", + "description": "Codebase is the folder used by osmController.", + "examples": [ + "/osm1.3.0" + ] + } + } + }, + "trustDomain": { + "$id": "#/properties/osm/properties/trustDomain", + "type": "string", + "title": "The certificate issuance Trust Domain", + "description": "The trust domain to use as part of the common name when requesting new certificates.", + "examples": [ + "cluster.local", + "example.com" + ] + }, + "certificateProvider": { + "$id": "#/properties/osm/properties/certificateProvider", + "type": "object", + "title": "The certificate provider schema", + "description": "Certificate provider configuration parameters", + "required": [ + "kind", + "serviceCertValidityDuration", + "certKeyBitSize" + ], + "additionalProperties": false, + "properties": { + "kind": { + "$id": "#/properties/osm/properties/certificateProvider/properties/kind", + "type": "string", + "title": "The certificate provider kind schema", + "description": "The certificate manager osm-controller should use.", + "pattern": "^(tresor|vault|cert-manager)$", + "examples": [ + "tresor" + ] + }, + "serviceCertValidityDuration": { + "$id": "#/properties/osm/properties/certificateProvider/properties/serviceCertValidityDuration", + "type": "string", + "title": "The serviceCertValidityDuration schema", + "description": "The service certificate validity duration.", + "examples": [ + "24h" + ] + }, + "certKeyBitSize": { + "$id": "#/properties/osm/properties/certificateProvider/properties/certKeyBitSize", + "type": "integer", + "title": "The certKeyBitSize schema", + "description": "The key size for data plane certificates.", + "examples": [ + 2048 + ] + } + } + }, + "caBundleSecretName": { + "$id": "#/properties/osm/properties/caBundleSecretName", + "type": "string", + "title": "The caBundleSecretName schema", + "description": "An explanation about the purpose of this instance.", + "examples": [ + "osm-ca-bundle" + ] + }, + "enableDebugServer": { + "$id": "#/properties/osm/properties/enableDebugServer", + "type": "boolean", + "title": "The enableDebugServer schema", + "description": "Indicates whether the Debug Server should be enabled or not.", + "examples": [ + false + ] + }, + "enablePermissiveTrafficPolicy": { + "$id": "#/properties/osm/properties/enablePermissiveTrafficPolicy", + "type": "boolean", + "title": "The enablePermissiveTrafficPolicy schema", + "description": "Indicates whether permissive traffic policy should be enabled or not.", + "examples": [ + false + ] + }, + "trafficInterceptionMode": { + "$id": "#/properties/osm/properties/trafficInterceptionMode", + "type": "string", + "title": "The trafficInterceptionMode schema", + "description": "Traffic interception mode in the mesh.", + "enum": [ + "iptables", + "ebpf" + ], + "examples": [ + "iptables" + ] + }, + "enableEgress": { + "$id": "#/properties/osm/properties/enableEgress", + "type": "boolean", + "title": "The enableEgress schema", + "description": "Indicates whether egress should be enabled or not.", + "examples": [ + false + ] + }, + "enableReconciler": { + "$id": "#/properties/osm/properties/enableReconciler", + "type": "boolean", + "title": "The enableReconciler schema", + "description": "Indicates whether OSM's reconciler should be enabled or not.", + "examples": [ + false + ] + }, + "deployPrometheus": { + "$id": "#/properties/osm/properties/deployPrometheus", + "type": "boolean", + "title": "The deployPrometheus schema", + "description": "Indicates whether Prometheus should be installed and configured as part of the osm control plane.", + "examples": [ + false + ] + }, + "deployGrafana": { + "$id": "#/properties/osm/properties/deployGrafana", + "type": "boolean", + "title": "The deployGrafana schema", + "description": "Indicates whether Grafana should be installed and configured as part of the osm control plane.", + "examples": [ + false + ] + }, + "enableFluentbit": { + "$id": "#/properties/osm/properties/enableFluentbit", + "type": "boolean", + "title": "The enableFluentbit schema", + "description": "Indicates whether Fluent Bit log forwarding should be enabled", + "examples": [ + false + ] + }, + "fluentBit": { + "$id": "#/properties/osm/properties/fluentBit", + "type": "object", + "title": "The Fluent Bit schema", + "description": "The default details of the Fluent Bit sidecar if enabled.", + "examples": [ + { + "name": "fluentbit-logger", + "registry": "fluent", + "tag": "1.6.4", + "pullPolicy": "IfNotPresent", + "outputPlugin": "stdout", + "enableProxySupport": "false", + "httpProxy": "", + "httpsProxy": "" + } + ], + "required": [ + "name", + "registry", + "tag", + "pullPolicy", + "outputPlugin", + "workspaceId", + "primaryKey", + "enableProxySupport", + "httpProxy", + "httpsProxy" + ], + "properties": { + "name": { + "$id": "#/properties/osm/properties/fluentBit/properties/name", + "type": "string", + "title": "The name schema", + "description": "The name of the Fluent Bit container", + "examples": [ + "fluentbit-logger" + ] + }, + "registry": { + "$id": "#/properties/osm/properties/fluentBit/properties/registry", + "type": "string", + "title": "The registry schema", + "description": "The registry of the image to run.", + "examples": [ + "fluent" + ] + }, + "tag": { + "$id": "#/properties/osm/properties/fluentBit/properties/tag", + "type": "string", + "title": "The tag schema", + "description": "The image tag to run.", + "examples": [ + "1.6.4" + ] + }, + "pullPolicy": { + "$id": "#/properties/osm/properties/fluentBit/properties/pullPolicy", + "type": "string", + "title": "The pullPolicy schema", + "description": "The image pull policy.", + "pattern": "^(Always|Never|IfNotPresent)$", + "examples": [ + "IfNotPresent" + ] + }, + "outputPlugin": { + "$id": "#/properties/osm/properties/fluentBit/properties/outputPlugin", + "type": "string", + "title": "The output plugin for Fluent Bit", + "description": "The log forwarding destination plugin for Fluent Bit", + "examples": [ + "stdout" + ] + }, + "workspaceId": { + "$id": "#/properties/osm/properties/fluentBit/properties/workspaceId", + "type": "string", + "title": "The Fluent Bit workspaceId schema", + "description": "The workspace ID for Fluent Bit output plugin to Log Analytics" + }, + "primaryKey": { + "$id": "#/properties/osm/properties/fluentBit/properties/primaryKey", + "type": "string", + "title": "The Fluent Bit primaryKey schema", + "description": "The primary key for Fluent Bit output plugin to Log Analytics" + }, + "enableProxySupport": { + "$id": "#/properties/osm/properties/fluentBit/properties/enableProxySupport", + "type": "boolean", + "title": "The enableProxySupport output schema", + "description": "Indicates whether outbound proxy support should be configured for Fluent Bit", + "examples": [ + false + ] + }, + "httpProxy": { + "$id": "#/properties/osm/properties/fluentBit/properties/httpProxy", + "type": "string", + "title": "The httpProxy schema", + "description": "http proxy endpoint", + "examples": [ + "http://:" + ] + }, + "httpsProxy": { + "$id": "#/properties/osm/properties/fluentBit/properties/httpsProxy", + "type": "string", + "title": "The httpsProxy schema", + "description": "https proxy endpoint", + "examples": [ + "http://:" + ] + } + }, + "additionalProperties": false + }, + "meshName": { + "$id": "#/properties/osm/properties/meshName", + "type": "string", + "title": "The meshName schema", + "description": "The name associated with the control plane being installed.", + "examples": [ + "osm" + ] + }, + "maxDataPlaneConnections": { + "$id": "#/properties/osm/properties/maxDataPlaneConnections", + "type": "integer", + "title": "The maxDataPlaneConnections schema", + "description": "Sets the Max Data Plane Connections", + "examples": [ + "1000" + ] + }, + "configResyncInterval": { + "$id": "#/properties/osm/properties/configResyncInterval", + "type": "string", + "title": "The configResyncInterval schema", + "description": "Sets the resync interval for regular proxy broadcast updates", + "examples": [ + "30s" + ] + }, + "sidecarLogLevel": { + "$id": "#/properties/osm/properties/sidecarLogLevel", + "type": "string", + "title": "The sidecarLogLevel schema", + "description": "Sidecar log level.", + "pattern": "^(trace|debug|info|warning|warn|error|critical|off)$", + "examples": [ + "error" + ] + }, + "localProxyMode": { + "$id": "#/properties/osm/properties/localProxyMode", + "type": "string", + "title": "The localProxyMode schema", + "description": "Proxy mode for the Sidecar proxy sidecar. Acceptable values are ['Localhost', 'PodIP'].", + "enum": [ + "Localhost", + "PodIP" + ], + "examples": [ + "Localhost" + ] }, - "osmInjector": { - "$id": "#/properties/osm/properties/image/properties/digest/properties/osmInjector", - "type": "string", - "title": "osm-injector's image digest", - "description": "osm-injector container's image digest." + "localDNSProxy": { + "$id": "#/properties/osm/properties/localDNSProxy", + "type": "object", + "title": "The local DNS Proxy schema", + "description": "Local DNS Proxy improves the performance of your computer by caching the responses coming from your DNS servers.", + "examples": [ + { + "enable": true + } + ], + "required": [ + "enable" + ], + "properties": { + "enable": { + "$id": "#/properties/osm/properties/localDNSProxy/properties/enable", + "type": "boolean", + "title": "The enable schema for local DNS Proxy", + "description": "Indicates whether local DNS Proxy is enabled or not", + "examples": [ + true + ] + }, + "primaryUpstreamDNSServerIPAddr": { + "$id": "#/properties/osm/properties/localDNSProxy/properties/primaryUpstreamDNSServerIPAddr", + "type": "string", + "title": "Primary upstream DNS server for local DNS Proxy", + "description": "Primary upstream DNS server for local DNS Proxy" + }, + "secondaryUpstreamDNSServerIPAddr": { + "$id": "#/properties/osm/properties/localDNSProxy/properties/secondaryUpstreamDNSServerIPAddr", + "type": "string", + "title": "Secondary upstream DNS server for local DNS Proxy", + "description": "Secondary upstream DNS server for local DNS Proxy" + } + }, + "additionalProperties": false }, - "osmSidecarInit": { - "$id": "#/properties/osm/properties/image/properties/digest/properties/osmSidecarInit", - "type": "string", - "title": "osm-osmSidecarInit's image digest", - "description": "osm-osmSidecarInit container's image digest." + "controllerLogLevel": { + "$id": "#/properties/osm/properties/controllerLogLevel", + "type": "string", + "title": "The controllerLogLevel schema", + "description": "OSM Controller log level.", + "pattern": "^(debug|info|warn|error|fatal|panic|disabled|trace)$", + "examples": [ + "error" + ] }, - "osmCRDs": { - "$id": "#/properties/osm/properties/image/properties/digest/properties/osmCRDs", - "type": "string", - "title": "osm-crds' image digest", - "description": "osm-crds container's image digest." + "enforceSingleMesh": { + "$id": "#/properties/osm/properties/enforceSingleMesh", + "type": "boolean", + "title": "The enforceSingleMesh schema", + "description": "Enforce only running a single control plane within a cluster.", + "examples": [ + false + ] + }, + "deployJaeger": { + "$id": "#/properties/osm/properties/deployJaeger", + "type": "boolean", + "title": "The deployJaeger schema", + "description": "Indicates whether Jaeger should be installed and configured as part of the control plane.", + "examples": [ + true + ] + }, + "tracing": { + "$id": "#/properties/osm/properties/tracing", + "type": "object", + "title": "The tracing schema", + "description": "An explanation about the purpose of this instance.", + "examples": [ + { + "enable": true + } + ], + "required": [ + "enable", + "address", + "port", + "endpoint", + "image" + ], + "properties": { + "enable": { + "$id": "#/properties/osm/properties/tracing/properties/enable", + "type": "boolean", + "title": "The enable schema for tracing", + "description": "Indicates whether tracing is enabled or not", + "examples": [ + true + ] + }, + "address": { + "$id": "#/properties/osm/properties/tracing/properties/address", + "type": "string", + "title": "The address schema for tracing", + "description": "Address of the tracing collector", + "examples": [ + "jaeger..svc.cluster.local" + ] + }, + "port": { + "$id": "#/properties/osm/properties/tracing/properties/port", + "type": "integer", + "title": "The port schema for tracing", + "description": "Port of the tracing collector", + "minimum": 1, + "maximum": 65535, + "examples": [ + 9411 + ] + }, + "endpoint": { + "$id": "#/properties/osm/properties/tracing/properties/endpoint", + "type": "string", + "title": "The endpoint schema for tracing", + "description": "API path of the collector", + "examples": [ + "/api/v2/spans" + ] + }, + "sampledFraction": { + "$id": "#/properties/osm/properties/tracing/properties/sampledFraction", + "type": "string", + "title": "Sampled Fraction", + "description": "Sampled Fraction", + "examples": [ + "0.2" + ] + }, + "image": { + "$id": "#/properties/osm/properties/tracing/properties/image", + "type": "string", + "title": "Jaeger's image schema", + "description": "Image used for jaeger", + "examples": [ + "jaegertracing/all-in-one" + ] + }, + "affinity": { + "type": "object" + }, + "nodeSelector": { + "type": "object" + }, + "tolerations": { + "type": "array" + } + }, + "additionalProperties": false + }, + "remoteLogging": { + "$id": "#/properties/osm/properties/remoteLogging", + "type": "object", + "title": "The remote logging schema", + "description": "An explanation about the purpose of this instance.", + "examples": [ + { + "enable": true + } + ], + "required": [ + "enable", + "address", + "port", + "endpoint" + ], + "properties": { + "enable": { + "$id": "#/properties/osm/properties/remoteLogging/properties/enable", + "type": "boolean", + "title": "The enable schema for tracing", + "description": "Indicates whether remote logging is enabled or not", + "examples": [ + true + ] + }, + "address": { + "$id": "#/properties/osm/properties/remoteLogging/properties/address", + "type": "string", + "title": "The address schema for remote logging service", + "description": "Address of the remote logging service", + "examples": [ + "remote-logging-service..svc.cluster.local" + ] + }, + "port": { + "$id": "#/properties/osm/properties/remoteLogging/properties/port", + "type": "integer", + "title": "The port schema for remote logging service", + "description": "Port of the remote logging service", + "minimum": 1, + "maximum": 65535, + "examples": [ + 30514 + ] + }, + "endpoint": { + "$id": "#/properties/osm/properties/remoteLogging/properties/endpoint", + "type": "string", + "title": "The endpoint schema for remote logging service", + "description": "API path of the collector", + "examples": [ + "/api/v2/spans" + ] + }, + "authorization": { + "$id": "#/properties/osm/properties/remoteLogging/properties/authorization", + "type": "string", + "title": "The authorization for remote logging service", + "description": "Authorization for remote logging service", + "examples": [ + "Basic XXX" + ] + }, + "sampledFraction": { + "$id": "#/properties/osm/properties/remoteLogging/properties/sampledFraction", + "type": "string", + "title": "Sampled Fraction", + "description": "Sampled Fraction", + "examples": [ + "0.2" + ] + } + }, + "additionalProperties": false + }, + "webhookConfigNamePrefix": { + "$id": "#/properties/osm/properties/webhookConfigNamePrefix", + "type": "string", + "title": "Webhook Config Name Prefix", + "description": "Prefix for the webhook name, which uses the format -", + "examples": [ + "" + ] + }, + "osmNamespace": { + "$id": "#/properties/osm/properties/osmNamespace", + "type": "string", + "title": "The namespace of the OSM control plane components", + "description": "Indicates the namespace in which the OSM control plane components will be installed", + "examples": [ + "osm-system" + ] + }, + "enablePrivilegedInitContainer": { + "$id": "#/properties/osm/properties/enablePrivilegedInitContainer", + "type": "boolean", + "title": "The enablePrivilegedInitContainer schema", + "description": "Indicates whether the init container for pods in the mesh should be privileged", + "examples": [ + false + ] + }, + "injector": { + "$id": "#/properties/osm/properties/injector", + "type": "object", + "title": "The sidecar injector schema", + "description": "Sidecar injector configurations", + "required": [ + "replicaCount", + "resource" + ], + "properties": { + "replicaCount": { + "$id": "#/properties/osm/properties/injector/properties/replicaCount", + "type": "integer", + "title": "The replicaCount schema", + "description": "The number of replicas of the osm-injector pod.", + "examples": [ + 1 + ] + }, + "resource": { + "$ref": "#/definitions/containerResources" + }, + "podLabels": { + "$id": "#/properties/osm/properties/injector/properties/podLabels", + "type": "object", + "title": "The podLabels schema", + "description": "Labels for the osm-injector pod.", + "default": {} + }, + "enablePodDisruptionBudget": { + "$id": "#/properties/osm/properties/injector/properties/enablePodDisruptionBudget", + "type": "boolean", + "title": "The enablePodDisruptionBudget schema", + "description": "Indicates whether Pod Disruption Budget should be enabled or not.", + "examples": [ + false + ] + }, + "autoScale": { + "$ref": "#/definitions/autoScale" + }, + "webhookTimeoutSeconds": { + "$id": "#/properties/osm/properties/webhookTimeout", + "type": "integer", + "title": "Webhook Timeout Seconds", + "description": "Timeout for the mutating webhook in seconds", + "examples": [ + 20 + ] + }, + "affinity": { + "type": "object" + }, + "nodeSelector": { + "type": "object" + }, + "tolerations": { + "type": "array" + } + }, + "additionalProperties": false }, "osmBootstrap": { - "$id": "#/properties/osm/properties/image/properties/digest/properties/osmBootstrap", - "type": "string", - "title": "osm-boostrap's image digest", - "description": "osm-bootstrap container's image digest." + "$id": "#/properties/osm/properties/osmBootstrap", + "type": "object", + "title": "The OSM bootstrap schema", + "description": "OSM bootstrap's configurations", + "required": [ + "replicaCount", + "resource" + ], + "properties": { + "replicaCount": { + "$id": "#/properties/osm/properties/osmBootstrap/properties/replicaCount", + "type": "integer", + "title": "The replicaCount schema", + "description": "The number of replicas of the OSM bootstrap pod.", + "examples": [ + 1 + ] + }, + "resource": { + "$ref": "#/definitions/containerResources" + }, + "podLabels": { + "$id": "#/properties/osm/properties/osmBootstrap/properties/podLabels", + "type": "object", + "title": "The podLabels schema", + "description": "Labels for the OSM bootstrap pod.", + "default": {} + }, + "affinity": { + "type": "object" + }, + "nodeSelector": { + "type": "object" + }, + "tolerations": { + "type": "array" + } + }, + "additionalProperties": false + }, + "featureFlags": { + "$id": "#/properties/osm/properties/featureFlags", + "type": "object", + "title": "Feature flags", + "description": "Feature flags", + "examples": [ + { + "enableWASMStats": true, + "enableEgressPolicy": true + } + ], + "required": [ + "enableWASMStats", + "enableEgressPolicy", + "enableAsyncProxyServiceMapping", + "enableIngressBackendPolicy", + "enableAccessControlPolicy", + "enableAccessCertPolicy", + "enableSidecarActiveHealthChecks", + "enableSnapshotCacheMode", + "enableRetryPolicy", + "enablePluginPolicy", + "enableMeshRootCertificate" + ], + "properties": { + "enableWASMStats": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableWASMStats", + "type": "boolean", + "title": "Enable WASM stats", + "description": "Enable extra Sidecar statistics generated by a custom WASM extension", + "examples": [ + true + ] + }, + "enableEgressPolicy": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableEgressPolicy", + "type": "boolean", + "title": "Enable OSM's Egress policy", + "description": "Enable OSM's Egress policy for fine grained control over egress (external) traffic", + "examples": [ + true + ] + }, + "enableAsyncProxyServiceMapping": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableAsyncProxyServiceMapping", + "type": "boolean", + "title": "Enable async proxy-service mapping", + "description": "Enable async proxy-service mapping", + "examples": [ + true + ] + }, + "enableIngressBackendPolicy": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableIngressBackendPolicy", + "type": "boolean", + "title": "Enable OSM to use the IngressBackend API", + "description": "Enable OSM to use the IngressBackend API for allowing ingress to mesh backends", + "examples": [ + true + ] + }, + "enableAccessControlPolicy": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableAccessControlPolicy", + "type": "boolean", + "title": "Enable OSM to use the AccessControl API", + "description": "Enable OSM to use the AccessControl API for allowing access control traffic to mesh backends", + "examples": [ + true + ] + }, + "enableAccessCertPolicy": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableAccessCertPolicy", + "type": "boolean", + "title": "Enable OSM to issue certificates for external services", + "description": "Enable OSM to issue certificates for external services", + "examples": [ + true + ] + }, + "enableSidecarActiveHealthChecks": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableSidecarActiveHealthChecks", + "type": "boolean", + "title": "Enable Sidecar active health checks", + "description": "EnableSidecarActiveHealthChecks defines if OSM will Sidecar active health checks between services allowed to communicate", + "examples": [ + true + ] + }, + "enableSnapshotCacheMode": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableSnapshotCacheMode", + "type": "boolean", + "title": "Enable SnapshotCache feature for Sidecar xDS server", + "description": "Enable SnapshotCache feature in OSM controller to cache snapshots for Sidecar xDS configurations.", + "examples": [ + true + ] + }, + "enableRetryPolicy": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableRetryPolicy", + "type": "boolean", + "title": "Enable Retry Policy", + "description": "Enable automatic request retries.", + "examples": [ + true + ] + }, + "enablePluginPolicy": { + "$id": "#/properties/osm/properties/featureFlags/properties/enablePluginPolicy", + "type": "boolean", + "title": "Enable Plugin Policy", + "description": "Enable extend by plugin.", + "examples": [ + false + ] + }, + "enableMeshRootCertificate": { + "$id": "#/properties/osm/properties/featureFlags/properties/enableMeshRootCertificate", + "type": "boolean", + "title": "Enable the MeshRootCertificate", + "description": "Enable the MeshRootCertificate to configure the OSM certificate provider.", + "examples": [ + false + ] + } + }, + "additionalProperties": false + }, + "pspEnabled": { + "$id": "#/properties/osm/properties/pspEnabled", + "type": "boolean", + "title": "The pspEnabled schema", + "description": "Indicates whether OSM should run with PodSecurityPolicies", + "examples": [ + false + ] + }, + "controlPlaneTolerations": { + "$id": "#/properties/osm/properties/controlPlaneTolerations", + "type": "array", + "title": "The controlPlaneTolerations schema", + "description": "Node tolerations applied to control plane pods to schedule onto nodes with matching taints", + "items": { + "type": "object" + }, + "examples": [ + [ + { + "key": "key1", + "operator": "Equal", + "value": "value1", + "effect": "NoSchedule" + } + ] + ] + }, + "outboundIPRangeExclusionList": { + "$id": "#/properties/osm/properties/outboundIPRangeExclusionList", + "type": "array", + "title": "The outboundIPRangeExclusionList schema", + "description": "Outbound IP range exluclusion list for sidecar traffic interception", + "items": { + "type": "string", + "pattern": "((?:\\d{1,3}\\.){3}\\d{1,3})\\/(\\d{1,2})$" + }, + "examples": [ + [ + "8.8.8.8/32", + "10.0.0.0/24" + ] + ] + }, + "outboundIPRangeInclusionList": { + "$id": "#/properties/osm/properties/outboundIPRangeInclusionList", + "type": "array", + "title": "The outboundIPRangeInclusionList schema", + "description": "Outbound IP range inclusion list for sidecar traffic interception", + "items": { + "type": "string", + "pattern": "((?:\\d{1,3}\\.){3}\\d{1,3})\\/(\\d{1,2})$" + }, + "examples": [ + [ + "8.8.8.8/32", + "10.0.0.0/24" + ] + ] + }, + "outboundPortExclusionList": { + "$id": "#/properties/osm/properties/outboundPortExclusionList", + "type": "array", + "title": "The outboundPortExclusionList schema", + "description": "Outbound port exluclusion list for sidecar traffic interception", + "items": { + "type": "integer", + "minimum": 1, + "maximum": 65535 + }, + "examples": [ + [ + 6379, + 3315 + ] + ] + }, + "inboundPortExclusionList": { + "$id": "#/properties/osm/properties/inboundPortExclusionList", + "type": "array", + "title": "The inboundPortExclusionList schema", + "description": "Inbound port exluclusion list for sidecar traffic interception", + "items": { + "type": "integer", + "minimum": 1, + "maximum": 65535 + }, + "examples": [ + [ + 6379, + 3315 + ] + ] }, - "osmPreinstall": { - "$id": "#/properties/osm/properties/image/properties/digest/properties/osmPreinstall", - "type": "string", - "title": "osm-preinstall's image digest", - "description": "osm-preinstall container's image digest." + "networkInterfaceExclusionList": { + "$id": "#/properties/osm/properties/networkInterfaceExclusionList", + "type": "array", + "title": "The networkInterfaceExclusionList schema", + "description": "Network interface exluclusion list for sidecar traffic interception", + "items": { + "type": "string" + }, + "examples": [ + [ + "eth0", + "net1" + ] + ] }, - "osmHealthcheck": { - "$id": "#/properties/osm/properties/image/properties/digest/properties/osmHealthcheck", - "type": "string", - "title": "osm-healthcheck's image digest", - "description": "osm-healthcheck container's image digest." + "grafana": { + "$id": "#/properties/osm/properties/grafana", + "type": "object", + "title": "The grafana schema", + "description": "Grafana configuration parameters", + "required": [ + "port", + "enableRemoteRendering", + "image", + "rendererImage" + ], + "properties": { + "port": { + "$id": "#/properties/osm/properties/grafana/properties/port", + "title": "Grafana's port schema", + "description": "Grafana's port number", + "type": "integer", + "minimum": 1, + "maximum": 65535, + "examples": [ + 3000 + ] + }, + "enableRemoteRendering": { + "$id": "#/properties/osm/properties/grafana/properties/enableRemoteRendering", + "type": "boolean", + "title": "Grafana's enableRemoteRendering schema", + "description": "Enable remote rendering of Grafana's dashboards", + "examples": [ + true + ] + }, + "image": { + "$id": "#/properties/osm/properties/grafana/properties/image", + "type": "string", + "title": "Grafana's image schema", + "description": "Image used for Grafana", + "examples": [ + "grafana/grafana:8.2.2" + ] + }, + "rendererImage": { + "$id": "#/properties/osm/properties/grafana/properties/rendererImage", + "type": "string", + "title": "Grafana's rendererImage schema", + "description": "Renderer image used for Grafana", + "examples": [ + "grafana/grafana-image-renderer:3.2.1" + ] + }, + "affinity": { + "type": "object" + }, + "nodeSelector": { + "type": "object" + }, + "tolerations": { + "type": "array" + } + }, + "examples": [ + { + "port": 3000, + "enableRemoteRendering": true, + "image": "grafana/grafana:8.2.2", + "rendererImage": "grafana/grafana-image-renderer:3.2.1" + } + ], + "additionalProperties": false + }, + "certmanager": { + "$id": "#/properties/osm/properties/certmanager", + "type": "object", + "title": "The certmanager schema", + "description": "cert-manager.io configuration parameters", + "required": [ + "issuerName", + "issuerKind", + "issuerGroup" + ], + "properties": { + "issuerName": { + "$id": "#/properties/osm/properties/certmanager/properties/issuerName", + "title": "Cert-manager's issuerName schema", + "description": "Cert-manager's certificate issuer name", + "type": "string", + "examples": [ + "osm-ca" + ] + }, + "issuerKind": { + "$id": "#/properties/osm/properties/certmanager/properties/issuerKind", + "title": "Cert-manager's issuerKind schema", + "description": "Cert-manager's certificate issuer kind", + "type": "string", + "examples": [ + "Issuer" + ] + }, + "issuerGroup": { + "$id": "#/properties/osm/properties/certmanager/properties/issuerGroup", + "title": "Cert-manager's issuerGroup schema", + "description": "Cert-manager's certificate issuer group", + "type": "string", + "examples": [ + "cert-manager" + ] + } + }, + "examples": [ + { + "issuerName": "osm-ca", + "issuerKind": "Issuer", + "issuerGroup": "cert-manager" + } + ], + "additionalProperties": false + }, + "vault": { + "$id": "#/properties/osm/properties/vault", + "type": "object", + "title": "The Hashicorp Vault schema", + "description": "Hashicorp Vault configuration parameters", + "properties": { + "host": { + "$id": "#/properties/osm/properties/vault/properties/host", + "title": "Hashicorp Vault's host schema", + "description": "Hashicorp Vault host/service - where Vault is installed", + "type": "string" + }, + "port": { + "$id": "#/properties/osm/properties/vault/properties/port", + "title": "Hashicorp Vault's port", + "description": "Port to use to connect to vault", + "type": "integer", + "minimum": 1, + "maximum": 65535 + }, + "protocol": { + "$id": "#/properties/osm/properties/vault/properties/protocol", + "title": "Hashicorp Vault's protocol schema", + "description": "Protocol to use to connect to Vault", + "type": "string" + }, + "token": { + "$id": "#/properties/osm/properties/vault/properties/token", + "title": "Hashicorp Vault's token schema", + "description": "Token to use to connect to Vault", + "type": "string" + }, + "role": { + "$id": "#/properties/osm/properties/vault/properties/role", + "title": "Hashicorp Vault's role schema", + "description": "Role to use with Vault", + "type": "string" + }, + "secret": { + "$id": "#/properties/osm/properties/vault/properties/secret", + "type": "object", + "title": "Vault token secret schema", + "description": "Vault token secret reference parameters", + "properties": { + "name": { + "$id": "#/properties/osm/properties/vault/properties/secret/properties/name", + "title": "Vault token secret name schema", + "description": "Name of the Kubernetes Secret to store the vault token", + "type": "string" + }, + "key": { + "$id": "#/properties/osm/properties/vault/properties/secret/properties/key", + "title": "Vault token secret key schema", + "description": "Name of the Kubernetes Secret key with the value of the vault token", + "type": "string" + } + } + } + }, + "examples": [ + { + "host": "vault.default.svc.cluster.local", + "protocol": "http", + "token": "some-token", + "role": "openservicemesh" + } + ], + "additionalProperties": false + }, + "prometheus": { + "$id": "#/properties/osm/properties/prometheus", + "type": "object", + "title": "The prometheus schema", + "description": "Prometheus configurations", + "required": [ + "resources", + "port", + "retention", + "image" + ], + "properties": { + "resources": { + "$ref": "#/definitions/containerResources" + }, + "port": { + "$id": "#/properties/osm/properties/prometheus/properties/port", + "title": "Prometheus' port schema", + "description": "Prometheus' port number", + "type": "integer", + "minimum": 1, + "maximum": 65535, + "examples": [ + 7070 + ] + }, + "retention": { + "$id": "#/properties/osm/properties/prometheus/properties/rentention", + "type": "object", + "title": "The Prometheus retention schema", + "description": "Prometheus data retention configurations", + "required": [ + "time" + ], + "properties": { + "time": { + "$id": "#/properties/osm/properties/prometheus/properties/retention/properties/time", + "title": "Prometheus' data retention time schema", + "description": "Prometheus' data retention time", + "type": "string", + "examples": [ + "15d" + ] + } + } + }, + "image": { + "$id": "#/properties/osm/properties/prometheus/properties/image", + "type": "string", + "title": "Prometheus's image schema", + "description": "Image used for Prometheus", + "examples": [ + "prom/prometheus:v2.18.1" + ] + }, + "affinity": { + "type": "object" + }, + "nodeSelector": { + "type": "object" + }, + "tolerations": { + "type": "array" + } + }, + "additionalProperties": false + }, + "imagePullSecrets": { + "$id": "#/properties/osm/properties/imagePullSecrets", + "type": "array", + "title": "The imagePullSecrets schema", + "description": "ImagePullSecrets for the control plane pod", + "items": { + "type": "object" + }, + "examples": [ + [ + { + "name": "secret-name" + } + ] + ] + }, + "validatorWebhook": { + "$id": "#/properties/osm/properties/validatorWebhook", + "type": "object", + "title": "The validatorWebhook schema", + "description": "Resource validator webhook configuration", + "properties": { + "webhookConfigurationName": { + "$id": "#/properties/osm/properties/validatorWebhook/properties/webhookConfigurationName", + "title": "Validator webhook configuration schema", + "description": "Validator's ValidatingWebhookConfigurationName", + "type": "string" + } + }, + "additionalProperties": false + }, + "preinstall": { + "$id": "#/properties/osm/properties/preinstall", + "type": "object", + "title": "The preinstall schema", + "description": "Preinstall configurations", + "required": [], + "properties": { + "affinity": { + "type": "object" + }, + "nodeSelector": { + "type": "object" + }, + "tolerations": { + "type": "array" + } + }, + "additionalProperties": false + }, + "cleanup": { + "$id": "#/properties/osm/properties/preinstall", + "type": "object", + "title": "The preinstall schema", + "description": "Preinstall configurations", + "required": [], + "properties": { + "affinity": { + "type": "object" + }, + "nodeSelector": { + "type": "object" + }, + "tolerations": { + "type": "array" + } + }, + "additionalProperties": false } - } - } - }, - "additionalProperties": false - }, - "sidecarClass": { - "$id": "#/properties/osm/properties/sidecarClass", - "type": "string", - "title": "The sidecarClass schema", - "description": "The class of the OSM Sidecar.", - "examples": ["pipy | envoy"] - }, - "sidecarImage": { - "$id": "#/properties/osm/properties/sidecarImage", - "type": "string", - "title": "The sidecarImage schema", - "description": "The proxy side car image to run.", - "examples": ["flomesh/pipy-nightly:latest"] - }, - "sidecarWindowsImage": { - "$id": "#/properties/osm/properties/sidecarWindowsImage", - "type": "string", - "title": "The sidecarWindowsImage schema", - "description": "The proxy side car image to run on Windows payloads.", - "examples": ["flomesh/pipy-windows-nightly:latest"] - }, - "sidecarDrivers": { - "$id": "#/properties/osm/properties/sidecarDrivers", - "type": "array", - "title": "The sidecarDriver schema", - "description": "The class of the OSM Sidecar Driver.", - "items": { - "type": "object" - }, - "examples": [ - [ - { - "sidecarName": "pipy", - "sidecarImage": "flomesh/pipy:latest", - "sidecarWindowsImage": "flomesh/pipy-windows-nightly:latest", - "initContainerImage": "curlimages/curl", - "proxyServerPort": 6060, - "sidecarDisabledMTLS": false - } - ] - ] - }, - "curlImage": { - "$id": "#/properties/osm/properties/curlImage", - "type": "string", - "title": "The curlImage schema", - "description": "The curl image for control plane init containers.", - "examples": ["curlimages/curl"] - }, - "pipyRepoImage": { - "$id": "#/properties/osm/properties/pipyRepoImage", - "type": "string", - "title": "The pipyRepoImage schema", - "description": "The Pipy repo image for Pipy sidecar's proxy control plane container.", - "examples": ["flomesh/pipy-repo-nightly"] - }, - "trustDomain": { - "$id": "#/properties/osm/properties/trustDomain", - "type": "string", - "title": "The certificate issuance Trust Domain", - "description": "The trust domain to use as part of the common name when requesting new certificates.", - "examples": ["cluster.local", "example.com"] - }, - "certificateProvider": { - "$id": "#/properties/osm/properties/certificateProvider", - "type": "object", - "title": "The certificate provider schema", - "description": "Certificate provider configuration parameters", - "required": ["kind", "serviceCertValidityDuration", "certKeyBitSize"], - "additionalProperties": false, - "properties": { - "kind": { - "$id": "#/properties/osm/properties/certificateProvider/properties/kind", - "type": "string", - "title": "The certificate provider kind schema", - "description": "The certificate manager osm-controller should use.", - "pattern": "^(tresor|vault|cert-manager)$", - "examples": ["tresor"] - }, - "serviceCertValidityDuration": { - "$id": "#/properties/osm/properties/certificateProvider/properties/serviceCertValidityDuration", - "type": "string", - "title": "The serviceCertValidityDuration schema", - "description": "The service certificate validity duration.", - "examples": ["24h"] - }, - "certKeyBitSize": { - "$id": "#/properties/osm/properties/certificateProvider/properties/certKeyBitSize", - "type": "integer", - "title": "The certKeyBitSize schema", - "description": "The key size for data plane certificates.", - "examples": [2048] - } - } - }, - "caBundleSecretName": { - "$id": "#/properties/osm/properties/caBundleSecretName", - "type": "string", - "title": "The caBundleSecretName schema", - "description": "An explanation about the purpose of this instance.", - "examples": ["osm-ca-bundle"] - }, - "enableDebugServer": { - "$id": "#/properties/osm/properties/enableDebugServer", - "type": "boolean", - "title": "The enableDebugServer schema", - "description": "Indicates whether the Debug Server should be enabled or not.", - "examples": [false] - }, - "enablePermissiveTrafficPolicy": { - "$id": "#/properties/osm/properties/enablePermissiveTrafficPolicy", - "type": "boolean", - "title": "The enablePermissiveTrafficPolicy schema", - "description": "Indicates whether permissive traffic policy should be enabled or not.", - "examples": [false] - }, - "enableEgress": { - "$id": "#/properties/osm/properties/enableEgress", - "type": "boolean", - "title": "The enableEgress schema", - "description": "Indicates whether egress should be enabled or not.", - "examples": [false] - }, - "enableReconciler": { - "$id": "#/properties/osm/properties/enableReconciler", - "type": "boolean", - "title": "The enableReconciler schema", - "description": "Indicates whether OSM's reconciler should be enabled or not.", - "examples": [false] - }, - "deployPrometheus": { - "$id": "#/properties/osm/properties/deployPrometheus", - "type": "boolean", - "title": "The deployPrometheus schema", - "description": "Indicates whether Prometheus should be installed and configured as part of the osm control plane.", - "examples": [false] - }, - "deployGrafana": { - "$id": "#/properties/osm/properties/deployGrafana", - "type": "boolean", - "title": "The deployGrafana schema", - "description": "Indicates whether Grafana should be installed and configured as part of the osm control plane.", - "examples": [false] - }, - "enableFluentbit": { - "$id": "#/properties/osm/properties/enableFluentbit", - "type": "boolean", - "title": "The enableFluentbit schema", - "description": "Indicates whether Fluent Bit log forwarding should be enabled", - "examples": [false] - }, - "fluentBit": { - "$id": "#/properties/osm/properties/fluentBit", - "type": "object", - "title": "The Fluent Bit schema", - "description": "The default details of the Fluent Bit sidecar if enabled.", - "examples": [ - { - "name": "fluentbit-logger", - "registry": "fluent", - "tag": "1.6.4", - "pullPolicy": "IfNotPresent", - "outputPlugin": "stdout", - "enableProxySupport": "false", - "httpProxy": "", - "httpsProxy": "" - } - ], - "required": [ - "name", - "registry", - "tag", - "pullPolicy", - "outputPlugin", - "workspaceId", - "primaryKey", - "enableProxySupport", - "httpProxy", - "httpsProxy" - ], - "properties": { - "name": { - "$id": "#/properties/osm/properties/fluentBit/properties/name", - "type": "string", - "title": "The name schema", - "description": "The name of the Fluent Bit container", - "examples": ["fluentbit-logger"] - }, - "registry": { - "$id": "#/properties/osm/properties/fluentBit/properties/registry", - "type": "string", - "title": "The registry schema", - "description": "The registry of the image to run.", - "examples": ["fluent"] - }, - "tag": { - "$id": "#/properties/osm/properties/fluentBit/properties/tag", - "type": "string", - "title": "The tag schema", - "description": "The image tag to run.", - "examples": ["1.6.4"] - }, - "pullPolicy": { - "$id": "#/properties/osm/properties/fluentBit/properties/pullPolicy", - "type": "string", - "title": "The pullPolicy schema", - "description": "The image pull policy.", - "pattern": "^(Always|Never|IfNotPresent)$", - "examples": ["IfNotPresent"] - }, - "outputPlugin": { - "$id": "#/properties/osm/properties/fluentBit/properties/outputPlugin", - "type": "string", - "title": "The output plugin for Fluent Bit", - "description": "The log forwarding destination plugin for Fluent Bit", - "examples": ["stdout"] }, - "workspaceId": { - "$id": "#/properties/osm/properties/fluentBit/properties/workspaceId", - "type": "string", - "title": "The Fluent Bit workspaceId schema", - "description": "The workspace ID for Fluent Bit output plugin to Log Analytics" - }, - "primaryKey": { - "$id": "#/properties/osm/properties/fluentBit/properties/primaryKey", - "type": "string", - "title": "The Fluent Bit primaryKey schema", - "description": "The primary key for Fluent Bit output plugin to Log Analytics" - }, - "enableProxySupport": { - "$id": "#/properties/osm/properties/fluentBit/properties/enableProxySupport", - "type": "boolean", - "title": "The enableProxySupport output schema", - "description": "Indicates whether outbound proxy support should be configured for Fluent Bit", - "examples": [false] - }, - "httpProxy": { - "$id": "#/properties/osm/properties/fluentBit/properties/httpProxy", - "type": "string", - "title": "The httpProxy schema", - "description": "http proxy endpoint", - "examples": ["http://:"] - }, - "httpsProxy": { - "$id": "#/properties/osm/properties/fluentBit/properties/httpsProxy", - "type": "string", - "title": "The httpsProxy schema", - "description": "https proxy endpoint", - "examples": ["http://:"] - } - }, - "additionalProperties": false - }, - "meshName": { - "$id": "#/properties/osm/properties/meshName", - "type": "string", - "title": "The meshName schema", - "description": "The name associated with the control plane being installed.", - "examples": ["osm"] + "additionalProperties": false }, - "maxDataPlaneConnections": { - "$id": "#/properties/osm/properties/maxDataPlaneConnections", - "type": "integer", - "title": "The maxDataPlaneConnections schema", - "description": "Sets the Max Data Plane Connections", - "examples": ["1000"] - }, - "configResyncInterval": { - "$id": "#/properties/osm/properties/configResyncInterval", - "type": "string", - "title": "The configResyncInterval schema", - "description": "Sets the resync interval for regular proxy broadcast updates", - "examples": ["30s"] - }, - "sidecarLogLevel": { - "$id": "#/properties/osm/properties/sidecarLogLevel", - "type": "string", - "title": "The sidecarLogLevel schema", - "description": "Sidecar log level.", - "pattern": "^(trace|debug|info|warning|warn|error|critical|off)$", - "examples": ["error"] - }, - "localProxyMode": { - "$id": "#/properties/osm/properties/localProxyMode", - "type": "string", - "title": "The localProxyMode schema", - "description": "Proxy mode for the Sidecar proxy sidecar. Acceptable values are ['Localhost', 'PodIP'].", - "enum": ["Localhost", "PodIP"], - "examples": ["Localhost"] - }, - "controllerLogLevel": { - "$id": "#/properties/osm/properties/controllerLogLevel", - "type": "string", - "title": "The controllerLogLevel schema", - "description": "OSM Controller log level.", - "pattern": "^(debug|info|warn|error|fatal|panic|disabled|trace)$", - "examples": ["error"] - }, - "enforceSingleMesh": { - "$id": "#/properties/osm/properties/enforceSingleMesh", - "type": "boolean", - "title": "The enforceSingleMesh schema", - "description": "Enforce only running a single control plane within a cluster.", - "examples": [false] - }, - "deployJaeger": { - "$id": "#/properties/osm/properties/deployJaeger", - "type": "boolean", - "title": "The deployJaeger schema", - "description": "Indicates whether Jaeger should be installed and configured as part of the control plane.", - "examples": [true] - }, - "tracing": { - "$id": "#/properties/osm/properties/tracing", - "type": "object", - "title": "The tracing schema", - "description": "An explanation about the purpose of this instance.", - "examples": [ - { - "enable": true - } - ], - "required": ["enable", "address", "port", "endpoint", "image"], - "properties": { - "enable": { - "$id": "#/properties/osm/properties/tracing/properties/enable", - "type": "boolean", - "title": "The enable schema for tracing", - "description": "Indicates whether tracing is enabled or not", - "examples": [true] - }, - "address": { - "$id": "#/properties/osm/properties/tracing/properties/address", - "type": "string", - "title": "The address schema for tracing", - "description": "Address of the tracing collector", - "examples": ["jaeger..svc.cluster.local"] - }, - "port": { - "$id": "#/properties/osm/properties/tracing/properties/port", - "type": "integer", - "title": "The port schema for tracing", - "description": "Port of the tracing collector", - "minimum": 1, - "maximum": 65535, - "examples": [9411] - }, - "endpoint": { - "$id": "#/properties/osm/properties/tracing/properties/endpoint", - "type": "string", - "title": "The endpoint schema for tracing", - "description": "API path of the collector", - "examples": ["/api/v2/spans"] - }, - "image": { - "$id": "#/properties/osm/properties/tracing/properties/image", - "type": "string", - "title": "Jaeger's image schema", - "description": "Image used for jaeger", - "examples": ["jaegertracing/all-in-one"] - }, - "affinity": { - "type": "object" - }, - "nodeSelector": { - "type": "object" - }, - "tolerations": { - "type": "array" - } - }, - "additionalProperties": false - }, - "remoteLogging": { - "$id": "#/properties/osm/properties/remoteLogging", - "type": "object", - "title": "The remote logging schema", - "description": "An explanation about the purpose of this instance.", - "examples": [ - { - "enable": true - } - ], - "required": ["enable", "address", "port", "endpoint"], - "properties": { - "enable": { - "$id": "#/properties/osm/properties/remoteLogging/properties/enable", - "type": "boolean", - "title": "The enable schema for tracing", - "description": "Indicates whether remote logging is enabled or not", - "examples": [true] - }, - "address": { - "$id": "#/properties/osm/properties/remoteLogging/properties/address", - "type": "string", - "title": "The address schema for remote logging service", - "description": "Address of the remote logging service", - "examples": [ - "remote-logging-service..svc.cluster.local" - ] - }, - "port": { - "$id": "#/properties/osm/properties/remoteLogging/properties/port", - "type": "integer", - "title": "The port schema for remote logging service", - "description": "Port of the remote logging service", - "minimum": 1, - "maximum": 65535, - "examples": [30514] - }, - "endpoint": { - "$id": "#/properties/osm/properties/remoteLogging/properties/endpoint", - "type": "string", - "title": "The endpoint schema for remote logging service", - "description": "API path of the collector", - "examples": ["/api/v2/spans"] - }, - "authorization": { - "$id": "#/properties/osm/properties/remoteLogging/properties/authorization", - "type": "string", - "title": "The authorization for remote logging service", - "description": "Authorization for remote logging service", - "examples": ["Basic XXX"] - } - }, - "additionalProperties": false - }, - "webhookConfigNamePrefix": { - "$id": "#/properties/osm/properties/webhookConfigNamePrefix", - "type": "string", - "title": "Webhook Config Name Prefix", - "description": "Prefix for the webhook name, which uses the format -", - "examples": [""] - }, - "osmNamespace": { - "$id": "#/properties/osm/properties/osmNamespace", - "type": "string", - "title": "The namespace of the OSM control plane components", - "description": "Indicates the namespace in which the OSM control plane components will be installed", - "examples": ["osm-system"] - }, - "enablePrivilegedInitContainer": { - "$id": "#/properties/osm/properties/enablePrivilegedInitContainer", - "type": "boolean", - "title": "The enablePrivilegedInitContainer schema", - "description": "Indicates whether the init container for pods in the mesh should be privileged", - "examples": [false] - }, - "injector": { - "$id": "#/properties/osm/properties/injector", - "type": "object", - "title": "The sidecar injector schema", - "description": "Sidecar injector configurations", - "required": ["replicaCount", "resource"], - "properties": { - "replicaCount": { - "$id": "#/properties/osm/properties/injector/properties/replicaCount", - "type": "integer", - "title": "The replicaCount schema", - "description": "The number of replicas of the osm-injector pod.", - "examples": [1] - }, - "resource": { - "$ref": "#/definitions/containerResources" - }, - "podLabels": { - "$id": "#/properties/osm/properties/injector/properties/podLabels", - "type": "object", - "title": "The podLabels schema", - "description": "Labels for the osm-injector pod.", - "default": {} - }, - "enablePodDisruptionBudget": { - "$id": "#/properties/osm/properties/injector/properties/enablePodDisruptionBudget", - "type": "boolean", - "title": "The enablePodDisruptionBudget schema", - "description": "Indicates whether Pod Disruption Budget should be enabled or not.", - "examples": [false] - }, - "autoScale": { - "$ref": "#/definitions/autoScale" - }, - "webhookTimeoutSeconds": { - "$id": "#/properties/osm/properties/webhookTimeout", - "type": "integer", - "title": "Webhook Timeout Seconds", - "description": "Timeout for the mutating webhook in seconds", - "examples": [20] - }, - "affinity": { - "type": "object" - }, - "nodeSelector": { - "type": "object" - }, - "tolerations": { - "type": "array" - } - }, - "additionalProperties": false - }, - "osmBootstrap": { - "$id": "#/properties/osm/properties/osmBootstrap", - "type": "object", - "title": "The OSM bootstrap schema", - "description": "OSM bootstrap's configurations", - "required": ["replicaCount", "resource"], - "properties": { - "replicaCount": { - "$id": "#/properties/osm/properties/osmBootstrap/properties/replicaCount", - "type": "integer", - "title": "The replicaCount schema", - "description": "The number of replicas of the OSM bootstrap pod.", - "examples": [1] - }, - "resource": { - "$ref": "#/definitions/containerResources" - }, - "podLabels": { - "$id": "#/properties/osm/properties/osmBootstrap/properties/podLabels", - "type": "object", - "title": "The podLabels schema", - "description": "Labels for the OSM bootstrap pod.", - "default": {} - }, - "affinity": { - "type": "object" - }, - "nodeSelector": { - "type": "object" - }, - "tolerations": { - "type": "array" - } - }, - "additionalProperties": false - }, - "featureFlags": { - "$id": "#/properties/osm/properties/featureFlags", - "type": "object", - "title": "Feature flags", - "description": "Feature flags", - "examples": [ - { - "enableWASMStats": true, - "enableEgressPolicy": true - } - ], - "required": [ - "enableWASMStats", - "enableEgressPolicy", - "enableAsyncProxyServiceMapping", - "enableIngressBackendPolicy", - "enableAccessControlPolicy", - "enableAccessCertPolicy", - "enableSidecarActiveHealthChecks", - "enableSnapshotCacheMode", - "enableRetryPolicy", - "enableMeshRootCertificate" - ], - "properties": { - "enableWASMStats": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableWASMStats", - "type": "boolean", - "title": "Enable WASM stats", - "description": "Enable extra Sidecar statistics generated by a custom WASM extension", - "examples": [true] - }, - "enableEgressPolicy": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableEgressPolicy", - "type": "boolean", - "title": "Enable OSM's Egress policy", - "description": "Enable OSM's Egress policy for fine grained control over egress (external) traffic", - "examples": [true] - }, - "enableAsyncProxyServiceMapping": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableAsyncProxyServiceMapping", - "type": "boolean", - "title": "Enable async proxy-service mapping", - "description": "Enable async proxy-service mapping", - "examples": [true] - }, - "enableIngressBackendPolicy": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableIngressBackendPolicy", - "type": "boolean", - "title": "Enable OSM to use the IngressBackend API", - "description": "Enable OSM to use the IngressBackend API for allowing ingress to mesh backends", - "examples": [true] - }, - "enableAccessControlPolicy": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableAccessControlPolicy", - "type": "boolean", - "title": "Enable OSM to use the AccessControl API", - "description": "Enable OSM to use the AccessControl API for allowing access control traffic to mesh backends", - "examples": [true] - }, - "enableAccessCertPolicy": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableAccessCertPolicy", - "type": "boolean", - "title": "Enable OSM to issue certificates for external services", - "description": "Enable OSM to issue certificates for external services", - "examples": [true] - }, - "enableSidecarActiveHealthChecks": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableSidecarActiveHealthChecks", - "type": "boolean", - "title": "Enable Sidecar active health checks", - "description": "EnableSidecarActiveHealthChecks defines if OSM will Sidecar active health checks between services allowed to communicate", - "examples": [true] - }, - "enableSnapshotCacheMode": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableSnapshotCacheMode", - "type": "boolean", - "title": "Enable SnapshotCache feature for Sidecar xDS server", - "description": "Enable SnapshotCache feature in OSM controller to cache snapshots for Sidecar xDS configurations.", - "examples": [true] - }, - "enableRetryPolicy": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableRetryPolicy", - "type": "boolean", - "title": "Enable Retry Policy", - "description": "Enable automatic request retries.", - "examples": [true] - }, - "enableMeshRootCertificate": { - "$id": "#/properties/osm/properties/featureFlags/properties/enableMeshRootCertificate", - "type": "boolean", - "title": "Enable the MeshRootCertificate", - "description": "Enable the MeshRootCertificate to configure the OSM certificate provider.", - "examples": [false] - } - }, - "additionalProperties": false - }, - "pspEnabled": { - "$id": "#/properties/osm/properties/pspEnabled", - "type": "boolean", - "title": "The pspEnabled schema", - "description": "Indicates whether OSM should run with PodSecurityPolicies", - "examples": [false] - }, - "controlPlaneTolerations": { - "$id": "#/properties/osm/properties/controlPlaneTolerations", - "type": "array", - "title": "The controlPlaneTolerations schema", - "description": "Node tolerations applied to control plane pods to schedule onto nodes with matching taints", - "items": { - "type": "object" - }, - "examples": [ - [ - { - "key": "key1", - "operator": "Equal", - "value": "value1", - "effect": "NoSchedule" - } - ] - ] - }, - "outboundIPRangeExclusionList": { - "$id": "#/properties/osm/properties/outboundIPRangeExclusionList", - "type": "array", - "title": "The outboundIPRangeExclusionList schema", - "description": "Outbound IP range exluclusion list for sidecar traffic interception", - "items": { - "type": "string", - "pattern": "((?:\\d{1,3}\\.){3}\\d{1,3})\\/(\\d{1,2})$" - }, - "examples": [["8.8.8.8/32", "10.0.0.0/24"]] - }, - "outboundIPRangeInclusionList": { - "$id": "#/properties/osm/properties/outboundIPRangeInclusionList", - "type": "array", - "title": "The outboundIPRangeInclusionList schema", - "description": "Outbound IP range inclusion list for sidecar traffic interception", - "items": { - "type": "string", - "pattern": "((?:\\d{1,3}\\.){3}\\d{1,3})\\/(\\d{1,2})$" - }, - "examples": [["8.8.8.8/32", "10.0.0.0/24"]] - }, - "outboundPortExclusionList": { - "$id": "#/properties/osm/properties/outboundPortExclusionList", - "type": "array", - "title": "The outboundPortExclusionList schema", - "description": "Outbound port exluclusion list for sidecar traffic interception", - "items": { - "type": "integer", - "minimum": 1, - "maximum": 65535 - }, - "examples": [[6379, 3315]] - }, - "inboundPortExclusionList": { - "$id": "#/properties/osm/properties/inboundPortExclusionList", - "type": "array", - "title": "The inboundPortExclusionList schema", - "description": "Inbound port exluclusion list for sidecar traffic interception", - "items": { - "type": "integer", - "minimum": 1, - "maximum": 65535 - }, - "examples": [[6379, 3315]] - }, - "networkInterfaceExclusionList": { - "$id": "#/properties/osm/properties/networkInterfaceExclusionList", - "type": "array", - "title": "The networkInterfaceExclusionList schema", - "description": "Network interface exluclusion list for sidecar traffic interception", - "items": { - "type": "string" - }, - "examples": [["eth0", "net1"]] - }, - "grafana": { - "$id": "#/properties/osm/properties/grafana", - "type": "object", - "title": "The grafana schema", - "description": "Grafana configuration parameters", - "required": [ - "port", - "enableRemoteRendering", - "image", - "rendererImage" - ], - "properties": { - "port": { - "$id": "#/properties/osm/properties/grafana/properties/port", - "title": "Grafana's port schema", - "description": "Grafana's port number", - "type": "integer", - "minimum": 1, - "maximum": 65535, - "examples": [3000] - }, - "enableRemoteRendering": { - "$id": "#/properties/osm/properties/grafana/properties/enableRemoteRendering", - "type": "boolean", - "title": "Grafana's enableRemoteRendering schema", - "description": "Enable remote rendering of Grafana's dashboards", - "examples": [true] - }, - "image": { - "$id": "#/properties/osm/properties/grafana/properties/image", - "type": "string", - "title": "Grafana's image schema", - "description": "Image used for Grafana", - "examples": ["grafana/grafana:8.2.2"] - }, - "rendererImage": { - "$id": "#/properties/osm/properties/grafana/properties/rendererImage", - "type": "string", - "title": "Grafana's rendererImage schema", - "description": "Renderer image used for Grafana", - "examples": ["grafana/grafana-image-renderer:3.2.1"] - }, - "affinity": { - "type": "object" - }, - "nodeSelector": { - "type": "object" - }, - "tolerations": { - "type": "array" - } - }, - "examples": [ - { - "port": 3000, - "enableRemoteRendering": true, - "image": "grafana/grafana:8.2.2", - "rendererImage": "grafana/grafana-image-renderer:3.2.1" - } - ], - "additionalProperties": false - }, - "certmanager": { - "$id": "#/properties/osm/properties/certmanager", - "type": "object", - "title": "The certmanager schema", - "description": "cert-manager.io configuration parameters", - "required": ["issuerName", "issuerKind", "issuerGroup"], - "properties": { - "issuerName": { - "$id": "#/properties/osm/properties/certmanager/properties/issuerName", - "title": "Cert-manager's issuerName schema", - "description": "Cert-manager's certificate issuer name", - "type": "string", - "examples": ["osm-ca"] - }, - "issuerKind": { - "$id": "#/properties/osm/properties/certmanager/properties/issuerKind", - "title": "Cert-manager's issuerKind schema", - "description": "Cert-manager's certificate issuer kind", - "type": "string", - "examples": ["Issuer"] - }, - "issuerGroup": { - "$id": "#/properties/osm/properties/certmanager/properties/issuerGroup", - "title": "Cert-manager's issuerGroup schema", - "description": "Cert-manager's certificate issuer group", - "type": "string", - "examples": ["cert-manager"] - } - }, - "examples": [ - { - "issuerName": "osm-ca", - "issuerKind": "Issuer", - "issuerGroup": "cert-manager" - } - ], - "additionalProperties": false - }, - "vault": { - "$id": "#/properties/osm/properties/vault", - "type": "object", - "title": "The Hashicorp Vault schema", - "description": "Hashicorp Vault configuration parameters", - "properties": { - "host": { - "$id": "#/properties/osm/properties/vault/properties/host", - "title": "Hashicorp Vault's host schema", - "description": "Hashicorp Vault host/service - where Vault is installed", - "type": "string" - }, - "port": { - "$id": "#/properties/osm/properties/vault/properties/port", - "title": "Hashicorp Vault's port", - "description": "Port to use to connect to vault", - "type": "integer", - "minimum": 1, - "maximum": 65535 - }, - "protocol": { - "$id": "#/properties/osm/properties/vault/properties/protocol", - "title": "Hashicorp Vault's protocol schema", - "description": "Protocol to use to connect to Vault", - "type": "string" - }, - "token": { - "$id": "#/properties/osm/properties/vault/properties/token", - "title": "Hashicorp Vault's token schema", - "description": "Token to use to connect to Vault", - "type": "string" - }, - "role": { - "$id": "#/properties/osm/properties/vault/properties/role", - "title": "Hashicorp Vault's role schema", - "description": "Role to use with Vault", - "type": "string" - }, - "secret": { - "$id": "#/properties/osm/properties/vault/properties/secret", - "type": "object", - "title": "Vault token secret schema", - "description": "Vault token secret reference parameters", - "properties": { - "name": { - "$id": "#/properties/osm/properties/vault/properties/secret/properties/name", - "title": "Vault token secret name schema", - "description": "Name of the Kubernetes Secret to store the vault token", - "type": "string" - }, - "key": { - "$id": "#/properties/osm/properties/vault/properties/secret/properties/key", - "title": "Vault token secret key schema", - "description": "Name of the Kubernetes Secret key with the value of the vault token", - "type": "string" + "contour": { + "$id": "#/properties/contour", + "type": "object", + "title": "Contour Ingress", + "description": "Contour Ingress configuration", + "properties": { + "enabled": { + "$id": "#/properties/contour/enabled", + "title": "Enable Contour", + "description": "Enables Contour control plane and gateway", + "type": "boolean" } - } - } - }, - "examples": [ - { - "host": "vault.default.svc.cluster.local", - "protocol": "http", - "token": "some-token", - "role": "openservicemesh" } - ], - "additionalProperties": false }, - "prometheus": { - "$id": "#/properties/osm/properties/prometheus", - "type": "object", - "title": "The prometheus schema", - "description": "Prometheus configurations", - "required": ["resources", "port", "retention", "image"], - "properties": { - "resources": { - "$ref": "#/definitions/containerResources" - }, - "port": { - "$id": "#/properties/osm/properties/prometheus/properties/port", - "title": "Prometheus' port schema", - "description": "Prometheus' port number", - "type": "integer", - "minimum": 1, - "maximum": 65535, - "examples": [7070] - }, - "retention": { - "$id": "#/properties/osm/properties/prometheus/properties/rentention", - "type": "object", - "title": "The Prometheus retention schema", - "description": "Prometheus data retention configurations", - "required": ["time"], - "properties": { - "time": { - "$id": "#/properties/osm/properties/prometheus/properties/retention/properties/time", - "title": "Prometheus' data retention time schema", - "description": "Prometheus' data retention time", - "type": "string", - "examples": ["15d"] + "smi": { + "$id": "#/properties/smi", + "type": "object", + "title": "SMI Configuration", + "description": "SMI configuration", + "properties": { + "validateTrafficTarget": { + "$id": "#/properties/contour/validateTrafficTarget", + "title": "Validate Traffic Target", + "description": "Enables validation of SMI Traffic Target", + "type": "boolean" } - } - }, - "image": { - "$id": "#/properties/osm/properties/prometheus/properties/image", - "type": "string", - "title": "Prometheus's image schema", - "description": "Image used for Prometheus", - "examples": ["prom/prometheus:v2.18.1"] - }, - "affinity": { - "type": "object" - }, - "nodeSelector": { - "type": "object" - }, - "tolerations": { - "type": "array" - } - }, - "additionalProperties": false - }, - "imagePullSecrets": { - "$id": "#/properties/osm/properties/imagePullSecrets", - "type": "array", - "title": "The imagePullSecrets schema", - "description": "ImagePullSecrets for the control plane pod", - "items": { - "type": "object" - }, - "examples": [ - [ - { - "name": "secret-name" - } - ] - ] - }, - "validatorWebhook": { - "$id": "#/properties/osm/properties/validatorWebhook", - "type": "object", - "title": "The validatorWebhook schema", - "description": "Resource validator webhook configuration", - "properties": { - "webhookConfigurationName": { - "$id": "#/properties/osm/properties/validatorWebhook/properties/webhookConfigurationName", - "title": "Validator webhook configuration schema", - "description": "Validator's ValidatingWebhookConfigurationName", - "type": "string" } - }, - "additionalProperties": false }, - "preinstall": { - "$id": "#/properties/osm/properties/preinstall", - "type": "object", - "title": "The preinstall schema", - "description": "Preinstall configurations", - "required": [], - "properties": { - "affinity": { - "type": "object" - }, - "nodeSelector": { - "type": "object" - }, - "tolerations": { - "type": "array" - } - }, - "additionalProperties": false - }, - "cleanup": { - "$id": "#/properties/osm/properties/preinstall", - "type": "object", - "title": "The preinstall schema", - "description": "Preinstall configurations", - "required": [], - "properties": { - "affinity": { - "type": "object" - }, - "nodeSelector": { - "type": "object" - }, - "tolerations": { - "type": "array" + "fsm": { + "$id": "#/properties/fsm", + "type": "object", + "title": "Flomesh Service Mesh", + "description": "Flomesh Service Mesh configuration", + "properties": { + "enabled": { + "$id": "#/properties/fsm/enabled", + "title": "Enable FSM", + "description": "Enables Flomesh Service Mesh", + "type": "boolean" + } } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "contour": { - "$id": "#/properties/contour", - "type": "object", - "title": "Contour Ingress", - "description": "Contour Ingress configuration", - "properties": { - "enabled": { - "$id": "#/properties/contour/enabled", - "title": "Enable Contour", - "description": "Enables Contour control plane and gateway", - "type": "boolean" - } - } - }, - "smi": { - "$id": "#/properties/smi", - "type": "object", - "title": "SMI Configuration", - "description": "SMI configuration", - "properties": { - "validateTrafficTarget": { - "$id": "#/properties/contour/validateTrafficTarget", - "title": "Validate Traffic Target", - "description": "Enables validation of SMI Traffic Target", - "type": "boolean" - } - } - }, - "fsm": { - "$id": "#/properties/fsm", - "type": "object", - "title": "Flomesh Service Mesh", - "description": "Flomesh Service Mesh configuration", - "properties": { - "enabled": { - "$id": "#/properties/fsm/enabled", - "title": "Enable FSM", - "description": "Enables Flomesh Service Mesh", - "type": "boolean" } - } } - } -} +} \ No newline at end of file diff --git a/packages/server/charts/osm/values.yaml b/packages/server/charts/osm/values.yaml index 66bae85..17a9d05 100644 --- a/packages/server/charts/osm/values.yaml +++ b/packages/server/charts/osm/values.yaml @@ -12,7 +12,7 @@ osm: # -- Container image pull policy for control plane containers pullPolicy: IfNotPresent # -- Container image tag for control plane images - tag: "1.2.0" + tag: "1.3.0" # -- Image name defaults name: # -- osm-controller's image name @@ -57,7 +57,7 @@ osm: sidecarDrivers: - sidecarName: pipy # -- Sidecar image for Linux workloads - sidecarImage: flomesh/pipy-nightly:latest + sidecarImage: flomesh/pipy:0.90.0-18 # -- Remote destination port on which the Discovery Service listens for new connections from Sidecars. proxyServerPort: 6060 - sidecarName: envoy @@ -69,8 +69,74 @@ osm: proxyServerPort: 15128 # -- Curl image for control plane init container curlImage: curlimages/curl - # -- Pipy repo image for Pipy sidecar's proxy control plane container - pipyRepoImage: flomesh/pipy-repo-nightly:latest + + # -- Pipy RepoServer + repoServer: + # -- Image used for Pipy RepoServer + image: flomesh/pipy-repo:0.90.0-18 + # -- if false , Pipy RepoServer is installed within osmController pod. + standalone: false + # -- ipaddr of host/service where Pipy RepoServer is installed + ipaddr: "127.0.0.1" + # -- codebase is the folder used by osmController. + codebase: "" + + pluginChains: + inbound-tcp: + - plugin: modules/inbound-tls-termination + priority: 130 + disable: false + - plugin: modules/inbound-tcp-routing + priority: 120 + disable: false + - plugin: modules/inbound-tcp-load-balancing + priority: 110 + disable: false + - plugin: modules/inbound-tcp-default + priority: 100 + disable: false + inbound-http: + - plugin: modules/inbound-tls-termination + priority: 180 + - plugin: modules/inbound-http-routing + priority: 170 + - plugin: modules/inbound-metrics-http + priority: 160 + - plugin: modules/inbound-tracing-http + priority: 150 + - plugin: modules/inbound-logging-http + priority: 140 + - plugin: modules/inbound-throttle-service + priority: 130 + - plugin: modules/inbound-throttle-route + priority: 120 + - plugin: modules/inbound-http-load-balancing + priority: 110 + - plugin: modules/inbound-http-default + priority: 100 + outbound-tcp: + - plugin: modules/outbound-tcp-routing + priority: 120 + - plugin: modules/outbound-tcp-load-balancing + priority: 110 + - plugin: modules/outbound-tcp-default + priority: 100 + outbound-http: + - plugin: modules/outbound-http-routing + priority: 160 + - plugin: modules/outbound-metrics-http + priority: 150 + - plugin: modules/outbound-tracing-http + priority: 140 + - plugin: modules/outbound-logging-http + priority: 130 + - plugin: modules/outbound-circuit-breaker + priority: 120 + - plugin: modules/outbound-http-load-balancing + priority: 110 + - plugin: modules/outbound-http-default + priority: 100 + # # -- OSM controller parameters osmController: @@ -272,6 +338,9 @@ osm: # -- Enable permissive traffic policy mode enablePermissiveTrafficPolicy: true + # -- Traffic interception mode in the mesh + trafficInterceptionMode: iptables + # -- Enable egress in the mesh enableEgress: true @@ -323,11 +392,15 @@ osm: # -- Proxy mode for the proxy sidecar. Acceptable values are ['Localhost', 'PodIP'] localProxyMode: Localhost + # -- Local DNS Proxy improves the performance of your computer by caching the responses coming from your DNS servers + localDNSProxy: + enable: false + # -- Sets the max data plane connections allowed for an instance of osm-controller, set to 0 to not enforce limits maxDataPlaneConnections: 0 # -- Sets the resync interval for regular proxy broadcast updates, set to 0s to not enforce any resync - configResyncInterval: "0s" + configResyncInterval: "90s" # -- Controller log verbosity controllerLogLevel: info @@ -356,6 +429,8 @@ osm: port: 9411 # -- Tracing collector's API path where the spans will be sent to endpoint: "/api/v2/spans" + # -- Sampled Fraction + sampledFraction: "1.0" # -- Image used for tracing image: jaegertracing/all-in-one @@ -402,6 +477,8 @@ osm: endpoint: "" # -- The authorization for remote logging service authorization: "" + # -- Sampled Fraction + sampledFraction: "1.0" # -- Specifies a global list of IP ranges to exclude from outbound traffic interception by the sidecar proxy. # If specified, must be a list of IP ranges of the form a.b.c.d/x. @@ -499,7 +576,7 @@ osm: # -- Feature flags for experimental features featureFlags: # -- Enable extra Envoy statistics generated by a custom WASM extension - enableWASMStats: true + enableWASMStats: false # -- Enable OSM's Egress policy API. # When enabled, fine grained control over Egress (external) traffic is enforced enableEgressPolicy: true @@ -519,6 +596,8 @@ osm: enableSnapshotCacheMode: false # -- Enable Retry Policy for automatic request retries enableRetryPolicy: false + # -- Enable Plugin Policy for extend + enablePluginPolicy: false # -- Enable the MeshRootCertificate to configure the OSM certificate provider enableMeshRootCertificate: false