diff --git a/charts/rancher-monitoring/v0.0.6/.helmignore b/charts/rancher-monitoring/v0.0.6/.helmignore
new file mode 100644
index 0000000000000000000000000000000000000000..f0c13194444163d1cba5c67d9e79231a62bc8f44
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/charts/rancher-monitoring/v0.0.6/Chart.yaml b/charts/rancher-monitoring/v0.0.6/Chart.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ff8176093e42b491dd223c337d3888b309886478
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/Chart.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+description: Provides monitoring for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: rancher-monitoring
+sources:
+- https://github.com/coreos/prometheus-operator
+version: 0.0.6
+appVersion: 0.0.6
+home: https://github.com/coreos/prometheus-operator
+keywords:
+- operator
+- prometheus
+icon: https://coreos.com/sites/default/files/inline-images/Overview-prometheus_0.png
diff --git a/charts/rancher-monitoring/v0.0.6/README.md b/charts/rancher-monitoring/v0.0.6/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..ec6eb5766784c78edbdacc085a9b64ac00611027
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/README.md
@@ -0,0 +1,8 @@
+# rancher-monitoring
+
+Installs [prometheus-operator](https://github.com/coreos/prometheus-operator) to create/configure/manage Prometheus clusters atop Kubernetes.
+
+> **Tip**: Only use for Rancher Monitoring!!!
+
+## Prerequisites
+ - Rancher 2.2+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/alertmanager/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/Chart.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7131a3e45976df142e606280a816e189d5c0d22c
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+description: Creates Alertmanager CRD instance for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: alertmanager
+version: 0.0.1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/alertmanager.yaml b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/alertmanager.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0b2239bdbcd18d5112b07546b0c8c29291953523
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/alertmanager.yaml
@@ -0,0 +1,82 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: Alertmanager
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ .Release.Name }}
+spec:
+{{- if .Values.securityContext }}
+ securityContext:
+{{ toYaml .Values.securityContext | indent 4 }}
+{{- end }}
+ podMetadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ baseImage: {{ template "system_default_registry" . }}{{ .Values.image.repository }}
+ nodeSelector:
+{{- include "linux-node-selector" . | nindent 4 }}
+ {{- range .Values.nodeSelectors }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ paused: {{ .Values.paused }}
+ replicas: {{ .Values.replicaCount }}
+ logLevel: {{ .Values.logLevel }}
+{{- if and .Values.resources .Values.resources.core }}
+ resources:
+{{ toYaml .Values.resources.core | indent 4 }}
+{{- end }}
+ retention: "{{ .Values.retention }}"
+{{- if .Values.secrets }}
+ secrets:
+{{ toYaml .Values.secrets | indent 4 }}
+{{- end }}
+{{- if .Values.enabledRBAC }}
+ serviceAccountName: {{ default (include "app.fullname" .) .Values.serviceAccountName }}
+{{- end }}
+{{- if or .Values.storageSpec .Values.persistence.enabled }}
+ storage:
+ volumeClaimTemplate:
+ {{- if .Values.persistence.name }}
+ metadata:
+ name: {{ .Values.persistence.name }}
+ {{- end }}
+ spec:
+{{- if .Values.storageSpec }}
+{{ toYaml .Values.storageSpec | indent 8 }}
+{{- else }}
+ {{ if and .Values.persistence.storageClass (ne "default" .Values.persistence.storageClass) }}
+ storageClassName: {{ .Values.persistence.storageClass }}
+ {{ end }}
+ accessModes:
+ - {{ default "ReadWriteOnce" .Values.persistence.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size | quote }}
+{{- end }}
+{{- end }}
+ version: "{{ .Values.image.tag }}"
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - weight: 100
+ podAffinityTerm:
+ topologyKey: kubernetes.io/hostname
+ labelSelector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ alertmanager: {{ .Release.Name }}
+ tolerations:
+{{- include "linux-node-tolerations" . | nindent 8 }}
+{{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 4 }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/metrics-service.yaml b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/metrics-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..47eb6ad2b4feb2dd8e8e4348b7f7bd03e6427188
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/metrics-service.yaml
@@ -0,0 +1,21 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: expose-alertmanager-metrics
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: http
+ port: 9093
+ targetPort: web
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/rbac.yaml b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/rbac.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..84e08d851e460455fa44c1e41db63764ff53df4a
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/rbac.yaml
@@ -0,0 +1,13 @@
+{{- if and .Values.enabledRBAC (not .Values.serviceAccountName) }}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+imagePullSecrets:
+{{ toYaml .Values.image.pullSecrets | indent 2 }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/secret.yaml b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/secret.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..173aba82cf8f98967e20f3e12964b56a883ecab0
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/secret.yaml
@@ -0,0 +1,16 @@
+{{- if not .Values.configFromSecret }}
+apiVersion: v1
+kind: Secret
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+data:
+ alertmanager.yaml: {{ toYaml .Values.config | b64enc | quote }}
+{{- range $key, $val := .Values.templates }}
+ {{ $key }}: {{ $val | b64enc | quote }}
+{{- end }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3f48228ae44efa2321c816823abca37ff5ee646f
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/service.yaml
@@ -0,0 +1,20 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: access-alertmanager
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ kubernetes.io/cluster-service: "true"
+spec:
+ type: ClusterIP
+ selector:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: http
+ port: 80
+ targetPort: web
diff --git a/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..674754dc815a370ccefefe8ce15bcf3b0dcd2d1f
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/templates/servicemonitor.yaml
@@ -0,0 +1,35 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace | quote }}
+ endpoints:
+ - port: http
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/alertmanager/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..e0e526a88dc00822cf6aa22c8aa98746b29b3a32
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/alertmanager/values.yaml
@@ -0,0 +1,68 @@
+enabledRBAC: true
+
+## The name of a secret in the same kubernetes namespace which contains the Alertmanager config
+## If defined this will be used instead of the `config` block values.
+## The name of the secret must be alertmanager-{{ .Release.Name }} and its data must contain, at least, a key called `alertmanager.yaml`
+## that contains the configuration as value.
+##
+configFromSecret: ""
+
+## Alertmanager template files to include
+#
+templates: {}
+#
+# An example template:
+# template_1.tmpl: |-
+# {{ define "cluster" }}{{ .ExternalURL | reReplaceAll ".*alertmanager\\.(.*)" "$1" }}{{ end }}
+#
+# {{ define "slack.myorg.text" }}
+# {{- $root := . -}}
+# {{ range .Alerts }}
+# *Alert:* {{ .Annotations.summary }} - `{{ .Labels.severity }}`
+# *Cluster:* {{ template "cluster" $root }}
+# *Description:* {{ .Annotations.description }}
+# *Graph:* <{{ .GeneratorURL }}|:chart_with_upwards_trend:>
+# *Runbook:* <{{ .Annotations.runbook }}|:spiral_note_pad:>
+# *Details:*
+# {{ range .Labels.SortedPairs }} • *{{ .Name }}:* `{{ .Value }}`
+# {{ end }}
+
+## Tolerations for use with node taints
+## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+##
+tolerations: []
+ # - key: "key"
+ # operator: "Equal"
+ # value: "value"
+ # effect: "NoSchedule"
+
+## If true, the Operator won't process any Alertmanager configuration changes
+##
+paused: false
+
+## Number of Alertmanager replicas desired
+##
+replicaCount: 1
+
+## How long to retain metrics
+##
+retention: 24h
+
+## List of Secrets in the same namespace as the Alertmanager
+## object, which shall be mounted into the Alertmanager Pods.
+## Ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
+##
+secrets: []
+
+logLevel: "info"
+
+## Alertmanager StorageSpec for persistent data
+## Ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/storage.md
+##
+storageSpec: {}
+# storageClassName: gluster
+# accessModes: ["ReadWriteOnce"]
+# resources:
+# requests:
+# storage: 50Gi
+# selector: {}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..7490890e5182c9288a6db26850146ec844dc9ede
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/Chart.yaml
@@ -0,0 +1,9 @@
+apiVersion: v1
+description: Creates ServiceMonitor CRD of coredns for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: exporter-coredns
+version: 0.0.1
+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/templates/endpoints.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/templates/endpoints.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..45253011c152709388b32c5c2a11d518c315119e
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/templates/endpoints.yaml
@@ -0,0 +1,20 @@
+{{- if .Values.endpoints }}
+apiVersion: v1
+kind: Endpoints
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: expose-coredns-metrics
+subsets:
+- addresses:
+ {{- range .Values.endpoints }}
+ - ip: {{ . }}
+ {{- end }}
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/templates/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cfb3ab8147ded6ce8a841945ad267ee8b83bedab
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/templates/service.yaml
@@ -0,0 +1,37 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ name: expose-coredns-metrics
+ namespace: {{ .Release.Namespace }}
+spec:
+ type: ClusterIP
+ clusterIP: None
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
+ targetPort: {{ .Values.ports.metrics.port }}
+{{- if not .Values.endpoints }}
+ selector:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a218554e8d296359ced585d6fcbface9709001d3
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/templates/servicemonitor.yaml
@@ -0,0 +1,53 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ {{- if not .Values.endpoints }}
+ - "kube-system"
+ {{- else }}
+ - {{ .Release.Namespace | quote }}
+ {{- end }}
+ endpoints:
+ - port: {{ .Values.ports.metrics.name }}
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: {{ .Values.ports.metrics.scheme }}
+ {{- if eq .Values.ports.metrics.scheme "https" }}
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ {{- end }}
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-coredns/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-fluentd/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-fluentd/Chart.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..18405cf631c48081fbc574a9deb951f177caa9c2
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-fluentd/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+description: Creates Fluentd Metrics Exporter instance for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: aiwantaozi
+ email: michelia.feng@gmail.com
+name: exporter-fluentd
+version: 0.0.1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-fluentd/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-fluentd/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..aeafd9ed6d3550de4926a4ea7138edad35576d87
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-fluentd/templates/servicemonitor.yaml
@@ -0,0 +1,49 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ - cattle-logging
+ endpoints:
+ - port: {{ .Values.ports.metrics.name }}
+ honorLabels: true
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: {{ .Values.ports.metrics.scheme }}
+ {{- if eq .Values.ports.metrics.scheme "https" }}
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ {{- end }}
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-fluentd/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-fluentd/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..95e49cb8e033448be537739c22d90f5eb6fb58ec
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/Chart.yaml
@@ -0,0 +1,9 @@
+apiVersion: v1
+description: Creates ServiceMonitor CRD of controller manager for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: exporter-kube-controller-manager
+version: 0.0.1
+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/templates/endpoints.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/templates/endpoints.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..05ff3c9e23f5db5a70baa7b2c927786b9c015c4c
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/templates/endpoints.yaml
@@ -0,0 +1,20 @@
+{{- if .Values.endpoints }}
+apiVersion: v1
+kind: Endpoints
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: expose-kube-cm-metrics
+subsets:
+- addresses:
+ {{- range .Values.endpoints }}
+ - ip: {{ . }}
+ {{- end }}
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/templates/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1e96fcd2263471bac26e62b8aae4e1495f6e681b
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/templates/service.yaml
@@ -0,0 +1,37 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ name: expose-kube-cm-metrics
+ namespace: {{ .Release.Namespace }}
+spec:
+ type: ClusterIP
+ clusterIP: None
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
+ targetPort: {{ .Values.ports.metrics.port }}
+{{- if not .Values.endpoints }}
+ selector:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c33061d66639c3bb0215b8d0f379591f48fbfdfb
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/templates/servicemonitor.yaml
@@ -0,0 +1,52 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ {{- if not .Values.endpoints }}
+ - "kube-system"
+ {{- else }}
+ - {{ .Release.Namespace | quote }}
+ {{- end }}
+ endpoints:
+ - port: {{ .Values.ports.metrics.name }}
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: {{ .Values.ports.metrics.scheme }}
+ {{- if eq .Values.ports.metrics.scheme "https" }}
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ {{- end }}
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-controller-manager/values.yaml
@@ -0,0 +1 @@
+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..27270fdcf9db04145f40e63d377936e512146279
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/Chart.yaml
@@ -0,0 +1,9 @@
+apiVersion: v1
+description: Creates ServiceMonitor CRD of kube-dns for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: exporter-kube-dns
+version: 0.0.1
+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/templates/endpoints.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/templates/endpoints.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..97d85d857abdf8dce2ba6c4a9e4a178fd125915e
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/templates/endpoints.yaml
@@ -0,0 +1,23 @@
+{{- if .Values.endpoints }}
+apiVersion: v1
+kind: Endpoints
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: expose-kube-dns-metrics
+subsets:
+- addresses:
+ {{- range .Values.endpoints }}
+ - ip: {{ . }}
+ {{- end }}
+ ports:
+ - name: {{ .Values.ports.metrics.dnsmasq.name }}
+ port: {{ .Values.ports.metrics.dnsmasq.port }}
+ protocol: {{ .Values.ports.metrics.dnsmasq.protocol }}
+ - name: {{ .Values.ports.metrics.skydns.name }}
+ port: {{ .Values.ports.metrics.skydns.port }}
+ protocol: {{ .Values.ports.metrics.skydns.protocol }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/templates/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5f02d450de1c30c9b059e7fac51b2c3901eaba91
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/templates/service.yaml
@@ -0,0 +1,41 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ name: expose-kube-dns-metrics
+ namespace: {{ .Release.Namespace }}
+spec:
+ type: ClusterIP
+ clusterIP: None
+ ports:
+ - name: {{ .Values.ports.metrics.dnsmasq.name }}
+ port: {{ .Values.ports.metrics.dnsmasq.port }}
+ protocol: {{ .Values.ports.metrics.dnsmasq.protocol }}
+ targetPort: {{ .Values.ports.metrics.dnsmasq.port }}
+ - name: {{ .Values.ports.metrics.skydns.name }}
+ port: {{ .Values.ports.metrics.skydns.port }}
+ protocol: {{ .Values.ports.metrics.skydns.protocol }}
+ targetPort: {{ .Values.ports.metrics.skydns.port }}
+{{- if not .Values.endpoints }}
+ selector:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..43d19bba024c3ebac14716bfa3490b473bbc3d91
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/templates/servicemonitor.yaml
@@ -0,0 +1,75 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ {{- if not .Values.endpoints }}
+ - "kube-system"
+ {{- else }}
+ - {{ .Release.Namespace | quote }}
+ {{- end }}
+ endpoints:
+ - port: {{ .Values.ports.metrics.dnsmasq.name }}
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: {{ .Values.ports.metrics.dnsmasq.scheme }}
+ {{- if eq .Values.ports.metrics.dnsmasq.scheme "https" }}
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ {{- end }}
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - port: {{ .Values.ports.metrics.skydns.name }}
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: {{ .Values.ports.metrics.skydns.scheme }}
+ {{- if eq .Values.ports.metrics.skydns.scheme "https" }}
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ {{- end }}
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-dns/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..7ea4c443904d79d3130cad558cc3d6279dc9d9d9
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/Chart.yaml
@@ -0,0 +1,9 @@
+apiVersion: v1
+description: Creates ServiceMonitor CRD of etcd for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: exporter-kube-etcd
+version: 0.0.1
+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/templates/endpoints.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/templates/endpoints.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..de07cf44322b64e0c28e4a17777b02e514cca2c0
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/templates/endpoints.yaml
@@ -0,0 +1,20 @@
+{{- if .Values.endpoints }}
+apiVersion: v1
+kind: Endpoints
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: expose-kube-etcd-metrics
+subsets:
+- addresses:
+ {{- range .Values.endpoints }}
+ - ip: {{ . }}
+ {{- end }}
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/templates/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..83bf12196d03bbd77a459f5e4d4717e3a1ce5d92
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/templates/service.yaml
@@ -0,0 +1,37 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ name: expose-kube-etcd-metrics
+ namespace: {{ .Release.Namespace }}
+spec:
+ type: ClusterIP
+ clusterIP: None
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
+ targetPort: {{ .Values.ports.metrics.port }}
+{{- if not .Values.endpoints }}
+ selector:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3e91b68fc09b9074687270f1346095ff1ae937c1
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/templates/servicemonitor.yaml
@@ -0,0 +1,58 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ {{- if not .Values.endpoints }}
+ - "kube-system"
+ {{- else }}
+ - {{ .Release.Namespace | quote }}
+ {{- end }}
+ endpoints:
+ - port: {{ .Values.ports.metrics.name }}
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: {{ .Values.ports.metrics.scheme }}
+ {{- if eq .Values.ports.metrics.scheme "https" }}
+ tlsConfig:
+ caFile: {{ .Values.caFile }}
+ {{- if .Values.certFile }}
+ certFile: {{ .Values.certFile }}
+ {{- end }}
+ {{- if .Values.keyFile }}
+ keyFile: {{ .Values.keyFile }}
+ {{- end}}
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ {{- end }}
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-etcd/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..62529895c312a9cf6c9fdd0e0c0bd0c87fca19d7
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/Chart.yaml
@@ -0,0 +1,9 @@
+apiVersion: v1
+description: Creates ServiceMonitor CRD of scheduler for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: exporter-kube-scheduler
+version: 0.0.1
+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/templates/endpoints.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/templates/endpoints.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..23e2cde0837043ebea7ee37adefc507c8c98b248
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/templates/endpoints.yaml
@@ -0,0 +1,20 @@
+{{- if .Values.endpoints }}
+apiVersion: v1
+kind: Endpoints
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: expose-kube-scheduler-metrics
+subsets:
+- addresses:
+ {{- range .Values.endpoints }}
+ - ip: {{ . }}
+ {{- end }}
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/templates/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..585ece47a46ac64c8115501fe71fd161e7f4e4d9
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/templates/service.yaml
@@ -0,0 +1,37 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ name: expose-kube-scheduler-metrics
+ namespace: {{ .Release.Namespace }}
+spec:
+ type: ClusterIP
+ clusterIP: None
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
+ targetPort: {{ .Values.ports.metrics.port }}
+{{- if not .Values.endpoints }}
+ selector:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c33061d66639c3bb0215b8d0f379591f48fbfdfb
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/templates/servicemonitor.yaml
@@ -0,0 +1,52 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ {{- if not .Values.endpoints }}
+ - "kube-system"
+ {{- else }}
+ - {{ .Release.Namespace | quote }}
+ {{- end }}
+ endpoints:
+ - port: {{ .Values.ports.metrics.name }}
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: {{ .Values.ports.metrics.scheme }}
+ {{- if eq .Values.ports.metrics.scheme "https" }}
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ {{- end }}
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-scheduler/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/Chart.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7fcf49c0b098f7efa268df0f419212ba92d3b50e
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+description: Creates Kube-state Exporter instance for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: exporter-kube-state
+version: 0.0.1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/deployment.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fe764c94ce39cb8bfd4d070c5b05e98fe05186d6
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/deployment.yaml
@@ -0,0 +1,67 @@
+apiVersion: {{ template "deployment_api_version" . }}
+kind: Deployment
+metadata:
+ name: {{ template "app.fullname" . }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ spec:
+ containers:
+ - name: kube-state
+ image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ ports:
+ - name: http
+ containerPort: 8080
+ - name: http-metrics
+ containerPort: 8081
+ livenessProbe:
+ httpGet:
+ path: /
+ port: 8080
+ initialDelaySeconds: 30
+ timeoutSeconds: 30
+ readinessProbe:
+ httpGet:
+ path: /
+ port: 8080
+ initialDelaySeconds: 30
+ timeoutSeconds: 5
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.enabledRBAC }}
+ serviceAccountName: {{ default (include "app.fullname" .) .Values.serviceAccountName }}
+ {{- end }}
+ {{- if .Values.securityContext }}
+ securityContext:
+{{ toYaml .Values.securityContext | indent 8 }}
+ {{- end }}
+ tolerations:
+{{- include "linux-node-tolerations" . | nindent 8}}
+ {{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 8 }}
+ {{- end }}
+ nodeSelector:
+{{- include "linux-node-selector" . | nindent 8 }}
+ {{- range .Values.nodeSelectors }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/rbac.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/rbac.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b83fdea1b5d1a849c337a9fde59d161d776cda92
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/rbac.yaml
@@ -0,0 +1,102 @@
+{{- if and .Values.enabledRBAC (not .Values.serviceAccountName) }}
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRole
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+rules:
+- apiGroups:
+ - ""
+ resources:
+ - namespaces
+ - nodes
+ - pods
+ - services
+ - resourcequotas
+ - replicationcontrollers
+ - limitranges
+ - persistentvolumeclaims
+ - persistentvolumes
+ - endpoints
+ - configmaps
+ - secrets
+ verbs:
+ - "list"
+ - "watch"
+- apiGroups:
+ - "extensions"
+ - "apps"
+ resources:
+ - daemonsets
+ - deployments
+ - replicasets
+ verbs:
+ - "list"
+ - "watch"
+- apiGroups:
+ - "apps"
+ resources:
+ - statefulsets
+ - deployments
+ verbs:
+ - "list"
+ - "watch"
+- apiGroups:
+ - "batch"
+ resources:
+ - cronjobs
+ - jobs
+ verbs:
+ - "list"
+ - "watch"
+- apiGroups:
+ - "autoscaling"
+ resources:
+ - horizontalpodautoscalers
+ verbs:
+ - "list"
+ - "watch"
+- apiGroups:
+ - "policy"
+ resources:
+ - "poddisruptionbudgets"
+ verbs:
+ - "list"
+ - "watch"
+
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+imagePullSecrets:
+{{ toYaml .Values.image.pullSecrets | indent 2 }}
+
+---
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRoleBinding
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ template "app.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ name: {{ template "app.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e977973972086e634fab737b5bd7872b82e06378
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: expose-kubernetes-metrics
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ k8s-app: kube-state
+ {{ .Values.apiGroup }}: "true"
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: http
+ port: 8080
+ targetPort: http
+ - name: http-metrics
+ port: 8081
+ targetPort: http-metrics
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..defab83f4323dab09e261e24a49631a5d955e6f3
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/templates/servicemonitor.yaml
@@ -0,0 +1,50 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace | quote }}
+ endpoints:
+ - port: http
+ honorLabels: true
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - port: http-metrics
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..d3b71648b3240bd8113a1f9aabb9c7724bb5e5e4
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kube-state/values.yaml
@@ -0,0 +1,10 @@
+enabledRBAC: true
+
+## Tolerations for use with node taints
+## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+##
+tolerations: []
+ # - key: "key"
+ # operator: "Equal"
+ # value: "value"
+ # effect: "NoSchedule"
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kubelets/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubelets/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..8d6d734ea5a1f215a0428c1e5ac81327e51ca432
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubelets/Chart.yaml
@@ -0,0 +1,9 @@
+apiVersion: v1
+description: Creates ServiceMonitor CRD of kublets for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: exporter-kubelets
+version: 0.0.1
+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kubelets/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubelets/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..92dee5c03bcc9c459ef28b70e968f0c288b31a2a
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubelets/templates/servicemonitor.yaml
@@ -0,0 +1,147 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "charts.exporter-kubelets.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace | quote }}
+ endpoints:
+ {{- if .Values.https }}
+ - port: https-metrics
+ scheme: https
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - port: https-metrics
+ scheme: https
+ path: /metrics/cadvisor
+ honorLabels: true
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ metricRelabelings:
+ - action: labeldrop
+ regex: (^id$|^image$|^name$|^cpu$)
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - port: https-metrics
+ scheme: https
+ path: /metrics/resource/v1alpha1
+ honorLabels: true
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ metricRelabelings:
+ - action: replace
+ regex: (.+)
+ replacement: $1
+ sourceLabels:
+ - container
+ targetLabel: container_name
+ - action: replace
+ regex: (.+)
+ replacement: $1
+ sourceLabels:
+ - pod
+ targetLabel: pod_name
+ {{- else }}
+ - port: http-metrics
+ metricRelabelings:
+ - action: labeldrop
+ regex: (^id$|^image$|^name$|^cpu$)
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - port: http-metrics
+ path: /metrics/cadvisor
+ honorLabels: true
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - port: http-metrics
+ path: /metrics/resource/v1alpha1
+ honorLabels: true
+ metricRelabelings:
+ - action: replace
+ regex: (.+)
+ replacement: $1
+ sourceLabels:
+ - container
+ targetLabel: container_name
+ - action: replace
+ regex: (.+)
+ replacement: $1
+ sourceLabels:
+ - pod
+ targetLabel: pod_name
+ {{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kubelets/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubelets/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kubernetes/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubernetes/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..e5f165d43bc8ff7b4875da2867d991ee76ddc756
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubernetes/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+description: Creates ServiceMonitor CRD of apiserver for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: exporter-kubernetes
+version: 0.0.1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kubernetes/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubernetes/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e08c6e67970cbcf6fef2867d70daf86f27a4cd0b
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubernetes/templates/servicemonitor.yaml
@@ -0,0 +1,48 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ {{- range .Values.serviceSelectorLabels }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ namespaceSelector:
+ matchNames:
+ - "default"
+ endpoints:
+ - port: {{ .Values.ports.metrics.name }}
+ bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ scheme: {{ .Values.ports.metrics.scheme }}
+ {{- if eq .Values.ports.metrics.scheme "https" }}
+ tlsConfig:
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ {{- if .Values.insecureSkipVerify }}
+ insecureSkipVerify: true
+ {{- end }}
+ {{- end }}
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ action: replace
+ targetLabel: host_ip
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ action: replace
+ targetLabel: node
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-kubernetes/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-kubernetes/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..3aa7169969f71ab6203999c6ac3238311686e349
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+description: Windows Node Exporter service/endpoint and service monitor.
+engine: gotpl
+maintainers:
+- name: michelia
+ email: michelia@rancher.com
+name: exporter-node-windows
+version: 0.0.1
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/configmap.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..be28a845b0d2805881d6ea237dcd8055ffbfed22
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/configmap.yaml
@@ -0,0 +1,51 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "app.fullname" . }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+data:
+ copy-binary.ps1: |-
+ $ErrorActionPreference = 'Stop'
+
+ function Create-Directory
+ {
+ param (
+ [parameter(Mandatory = $false, ValueFromPipeline = $true)] [string]$Path
+ )
+
+ if (Test-Path -Path $Path) {
+ if (-not (Test-Path -Path $Path -PathType Container)) {
+ # clean the same path file
+ Remove-Item -Recurse -Force -Path $Path -ErrorAction Ignore | Out-Null
+ }
+
+ return
+ }
+
+ New-Item -Force -ItemType Directory -Path $Path | Out-Null
+ }
+
+ function Transfer-File
+ {
+ param (
+ [parameter(Mandatory = $true)] [string]$Src,
+ [parameter(Mandatory = $true)] [string]$Dst
+ )
+
+ if (Test-Path -PathType leaf -Path $Dst) {
+ $dstHasher = Get-FileHash -Path $Dst
+ $srcHasher = Get-FileHash -Path $Src
+ if ($dstHasher.Hash -eq $srcHasher.Hash) {
+ return
+ }
+ }
+
+ $null = Copy-Item -Force -Path $Src -Destination $Dst
+ }
+
+ Create-Directory -Path "c:\host\etc\wmi-exporter"
+ Transfer-File -Src "c:\etc\wmi-exporter\wmi-exporter.exe" -Dst "c:\host\etc\wmi-exporter\wmi-exporter.exe"
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/daemonset.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/daemonset.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..2cf330c3ed5c0eb497321bdce365d99cb9ad3765
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/daemonset.yaml
@@ -0,0 +1,94 @@
+apiVersion: {{ template "daemonset_api_version" . }}
+kind: DaemonSet
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ spec:
+ initContainers:
+ - name: exporter-node-binary-copy
+ image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ command:
+ - pwsh
+ - -f
+ - c:/scripts/copy-binary.ps1
+ {{- if and .Values.resources .Values.resources.inits }}
+ resources:
+{{ toYaml .Values.resources.inits | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: binary-host-path
+ mountPath: c:/host/etc/wmi-exporter
+ - name: exporter-scripts
+ mountPath: c:/scripts/
+ containers:
+ - name: exporter-node
+ image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
+{{- if .Values.args }}
+ args: {{ .Values.args }}
+{{ end }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.ports.metrics.port }}
+ env:
+ - name: LISTEN_PORT
+ value: "{{ .Values.ports.metrics.port }}"
+{{- if .Values.enabledCollectors }}
+ - name: ENABLED_COLLECTORS
+ value: {{ .Values.enabledCollectors }}
+{{- end }}
+{{- if .Values.extraEnv }}
+{{ toYaml .Values.extraEnv | indent 10 }}
+ {{- end }}
+ {{- if and .Values.resources .Values.resources.core }}
+ resources:
+{{ toYaml .Values.resources.core | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: wins-pipe
+ mountPath: \\.\pipe\rancher_wins
+ {{- if .Values.enabledRBAC }}
+ serviceAccountName: {{ default (include "app.fullname" .) .Values.serviceAccountName }}
+ {{- end }}
+ tolerations:
+ - operator: Exists
+ nodeSelector:
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion }}
+ beta.kubernetes.io/os: windows
+{{- else}}
+ kubernetes.io/os: windows
+{{- end}}
+ {{- range .Values.nodeSelectors }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ volumes:
+ - name: wins-pipe
+ hostPath:
+ path: \\.\pipe\rancher_wins
+ - name: binary-host-path
+ hostPath:
+ path: c:/etc/wmi-exporter
+ type: DirectoryOrCreate
+ - name: exporter-scripts
+ configMap:
+ name: {{ template "app.fullname" . }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/endpoint.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/endpoint.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c08c00adb0b5ef03490b71d2f1b4d0bd460e947d
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/endpoint.yaml
@@ -0,0 +1,20 @@
+{{- if .Values.endpoints }}
+apiVersion: v1
+kind: Endpoints
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: expose-node-metrics-windows
+subsets:
+- addresses:
+ {{- range .Values.endpoints }}
+ - ip: {{ . }}
+ {{- end }}
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/rbac.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/rbac.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..48f32c40b784576b17a106efd2e1131c26e93d73
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/rbac.yaml
@@ -0,0 +1,56 @@
+{{- if and .Values.enabledRBAC (not .Values.serviceAccountName) }}
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRole
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+rules:
+- apiGroups:
+ - authentication.k8s.io
+ resources:
+ - tokenreviews
+ verbs:
+ - create
+- apiGroups:
+ - authorization.k8s.io
+ resources:
+ - subjectaccessreviews
+ verbs:
+ - create
+
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+imagePullSecrets:
+{{ toYaml .Values.image.pullSecrets | indent 2 }}
+
+---
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRoleBinding
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ template "app.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ name: {{ template "app.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/service.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..8a1aa887e38d3fd836a6e305f070d94ea533c91f
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/service.yaml
@@ -0,0 +1,18 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: expose-node-metrics-windows
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+spec:
+ type: ClusterIP
+ clusterIP: None
+ ports:
+ - name: {{ .Values.ports.metrics.name }}
+ port: {{ .Values.ports.metrics.port }}
+ targetPort: {{ .Values.ports.metrics.port }}
+ protocol: {{ .Values.ports.metrics.protocol }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c0a3cc4c1b4b724d3c5d380f480bdfcb8d97485e
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/servicemonitor.yaml
@@ -0,0 +1,33 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace | quote }}
+ endpoints:
+ - port: {{ .Values.ports.metrics.name }}
+ metricRelabelings:
+ - sourceLabels: [volume, nic]
+ regex: (.*);(.*)
+ separator: ''
+ targetLabel: device
+ action: replace
+ replacement: $1$2
+ - sourceLabels: [__name__]
+ regex: wmi_cs_logical_processors
+ replacement: 'system'
+ targetLabel: mode
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/windows-relabel-rule.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/windows-relabel-rule.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0b2bfbbcb4bd56c70db19aeb7abfb710f8b940bc
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/templates/windows-relabel-rule.yaml
@@ -0,0 +1,58 @@
+apiVersion: monitoring.coreos.com/v1
+kind: PrometheusRule
+metadata:
+ labels:
+ role: windows-node-recording-rules
+ source: rancher-monitoring
+ name: windows-node-recording-rules
+ namespace: cattle-prometheus
+spec:
+ groups:
+ - name: windows-cpu-recording.rules
+ rules:
+ - record: node_cpu_seconds_total
+ expr: wmi_cpu_time_total
+ - record: node_load1
+ expr: avg_over_time(wmi_system_processor_queue_length[1m])
+ - record: node_load5
+ expr: avg_over_time(wmi_system_processor_queue_length[5m])
+ - record: node_load15
+ expr: avg_over_time(wmi_system_processor_queue_length[15m])
+ - record: node_load15
+ expr: avg_over_time(wmi_system_processor_queue_length[15m])
+ - name: windows-memory-recording.rules
+ rules:
+ - record: node_memory_MemAvailable_bytes
+ expr: wmi_os_physical_memory_free_bytes
+ - record: node_memory_MemTotal_bytes
+ expr: wmi_cs_physical_memory_bytes
+ - name: windows-network-io-recording.rules
+ rules:
+ - record: node_network_receive_bytes_total
+ expr: wmi_net_bytes_received_total
+ - record: node_network_transmit_bytes_total
+ expr: wmi_net_bytes_sent_total
+ - name: windows-network-packet-recording.rules
+ rules:
+ - record: node_network_receive_packets_total
+ expr: wmi_net_packets_received_total
+ - record: node_network_transmit_packets_total
+ expr: wmi_net_packets_sent_total
+ - record: node_network_receive_drop_total
+ expr: wmi_net_packets_received_discarded
+ - record: node_network_receive_errs_total
+ expr: wmi_net_packets_received_errors
+ - record: node_network_transmit_drop_total
+ expr: wmi_net_packets_outbound_discarded
+ - name: windows-disk-io-recording.rules
+ rules:
+ - record: node_disk_written_bytes_total
+ expr: wmi_logical_disk_write_bytes_total
+ - record: node_disk_read_bytes_total
+ expr: wmi_logical_disk_read_bytes_total
+ - name: windows-file-usage-recording.rules
+ rules:
+ - record: node_filesystem_size_bytes
+ expr: wmi_logical_disk_size_bytes
+ - record: node_filesystem_free_bytes
+ expr: wmi_logical_disk_free_bytes
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..bca7bcb4f5f64d0d965c22523473a7a966247bdd
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node-windows/values.yaml
@@ -0,0 +1,4 @@
+enabledRBAC: true
+
+# Get more details on https://github.com/martinlindhe/wmi_exporter
+enabledCollectors: "net,os,service,system,cpu,cs,logical_disk,tcp,memory,container"
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..1d87e0213539866ee21f1fa15c7810f279559530
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+description: Creates Node Exporter instance for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: exporter-node
+version: 0.0.1
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/daemonset.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/daemonset.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..f3600fed9138343cae0e23cdf2387b806c13ccb8
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/daemonset.yaml
@@ -0,0 +1,100 @@
+apiVersion: {{ template "daemonset_api_version" . }}
+kind: DaemonSet
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ spec:
+ containers:
+ - name: exporter-node
+ image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ args:
+ - --web.listen-address=0.0.0.0:{{ .Values.ports.metrics.port }}
+ - --path.procfs=/host/proc
+ - --path.sysfs=/host/sys
+ - --path.rootfs=/host
+ {{- $usingCollectors := merge .Values.collectors .Values.defaultCollectorSettings }}
+ {{- range $collectorName, $collectorVal := $usingCollectors }}
+ {{- if and $collectorVal $collectorVal.enabled }}
+ - --collector.{{ $collectorName }}
+ {{- $_ := unset $collectorVal "enabled" -}}
+ {{- if $collectorVal }}
+ {{- range $collectorValKey, $collectorValVal := $collectorVal }}
+ {{- if $collectorValVal }}
+ - --collector.{{ $collectorName }}.{{ $collectorValKey }}={{ $collectorValVal }}
+ {{- else }}
+ - --collector.{{ $collectorName }}.{{ $collectorValKey }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- else }}
+ - --no-collector.{{$collectorName}}
+ {{- end }}
+ {{- end }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.ports.metrics.port }}
+ {{- if .Values.enabledHostNetwork }}
+ hostPort: {{ .Values.ports.metrics.port }}
+ {{- end }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ volumeMounts:
+ - name: proc
+ mountPath: /host/proc
+ readOnly: true
+ - name: sys
+ mountPath: /host/sys
+ readOnly: true
+ - name: host
+ mountPath: /host
+ readOnly: true
+ {{- if .Values.enabledRBAC }}
+ serviceAccountName: {{ default (include "app.fullname" .) .Values.serviceAccountName }}
+ {{- end }}
+ securityContext:
+ runAsNonRoot: true
+ runAsUser: 65534
+ tolerations:
+ - operator: Exists
+ nodeSelector:
+{{- include "linux-node-selector" . | nindent 8 }}
+ {{- range .Values.nodeSelectors }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ {{- if .Values.enabledHostNetwork }}
+ hostNetwork: true
+ {{- end }}
+ {{- if .Values.enabledHostPID }}
+ hostPID: true
+ {{- end }}
+ volumes:
+ - name: proc
+ hostPath:
+ path: /proc
+ - name: sys
+ hostPath:
+ path: /sys
+ - name: host
+ hostPath:
+ path: /
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/psp.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/psp.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f085044e1ab9b87aeb3c32c964ef4d602a9da08a
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/psp.yaml
@@ -0,0 +1,44 @@
+{{- if .Values.enabledPSP }}
+apiVersion: policy/v1beta1
+kind: PodSecurityPolicy
+metadata:
+ name: {{ template "app.fullname" . }}
+spec:
+ allowPrivilegeEscalation: false
+ fsGroup:
+ ranges:
+ - max: 65535
+ min: 1
+ rule: MustRunAs
+ requiredDropCapabilities:
+ - ALL
+ runAsUser:
+ rule: RunAsAny
+ seLinux:
+ rule: RunAsAny
+ supplementalGroups:
+ ranges:
+ - max: 65535
+ min: 1
+ rule: MustRunAs
+ volumes:
+ - configMap
+ - emptyDir
+ - projected
+ - secret
+ - downwardAPI
+ - persistentVolumeClaim
+ - hostPath
+ allowedHostPaths:
+ - pathPrefix: /
+ readOnly: true
+{{- if .Values.enabledHostNetwork }}
+ hostNetwork: true
+ hostPorts:
+ - min: {{ .Values.ports.metrics.port }}
+ max: {{ .Values.ports.metrics.port }}
+{{- end }}
+{{- if .Values.enabledHostPID }}
+ hostPID: true
+{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/rbac.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/rbac.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..18372f7b16ca5ec979555917a62e261892eeb6eb
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/rbac.yaml
@@ -0,0 +1,86 @@
+{{- if and .Values.enabledRBAC (not .Values.serviceAccountName) }}
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRole
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+rules:
+- apiGroups:
+ - authentication.k8s.io
+ resources:
+ - tokenreviews
+ verbs:
+ - create
+- apiGroups:
+ - authorization.k8s.io
+ resources:
+ - subjectaccessreviews
+ verbs:
+ - create
+
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+imagePullSecrets:
+{{ toYaml .Values.image.pullSecrets | indent 2 }}
+
+---
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRoleBinding
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ template "app.fullname" . }}
+subjects:
+- kind: ServiceAccount
+ name: {{ template "app.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+{{- if .Values.enabledPSP }}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: {{ template "app.fullname" . }}-psp-role
+rules:
+- apiGroups:
+ - extensions
+ - policy
+ resourceNames:
+ - {{ template "app.fullname" . }}
+ resources:
+ - podsecuritypolicies
+ verbs:
+ - use
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+ name: {{ template "app.fullname" . }}-psp-rolebinding
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: {{ template "app.fullname" . }}-psp-role
+subjects:
+- kind: ServiceAccount
+ name: {{ template "app.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/service.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..5e2cdf5df987dd63137d4581ed38a2e06b673646
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/service.yaml
@@ -0,0 +1,23 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: expose-node-metrics
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ k8s-app: node
+ {{ .Values.apiGroup }}: "true"
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: metrics
+ port: {{ .Values.ports.metrics.port }}
+ targetPort: {{ .Values.ports.metrics.port }}
+ protocol: TCP
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b2f8b632c9735f51ec0aff129ea9a0c924c32bbf
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/templates/servicemonitor.yaml
@@ -0,0 +1,35 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace | quote }}
+ endpoints:
+ - port: metrics
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/exporter-node/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..79c312745d383b641fe4463ec4f9f03e008b9f55
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/exporter-node/values.yaml
@@ -0,0 +1,145 @@
+enabledRBAC: true
+enabledPSP: true
+
+##
+# Default collector settings
+##
+defaultCollectorSettings:
+##
+# Enabled by default on Linux
+##
+ # Exposes ARP statistics from /proc/net/arp
+ arp:
+ enabled: true
+ # Exposes bcache statistics from /sys/fs/bcache/
+ bcache:
+ enabled: true
+ # Exposes the number of configured and active slaves of Linux bonding interfaces
+ bonding:
+ enabled: true
+ # Shows conntrack statistics (does nothing if no /proc/sys/net/netfilter/ present)
+ conntrack:
+ enabled: true
+ # Exposes CPU statistics
+ cpu:
+ enabled: true
+ # Exposes disk I/O statistics.
+ diskstats:
+ enabled: true
+ # Exposes error detection and correction statistics
+ edac:
+ enabled: true
+ # Exposes available entropy
+ entropy:
+ enabled: true
+ # Exposes file descriptor statistics from /proc/sys/fs/file-nr
+ filefd:
+ enabled: true
+ # Exposes filesystem statistics, such as disk space used
+ filesystem:
+ enabled: true
+ # Expose hardware monitoring and sensor data from /sys/class/hwmon/
+ hwmon:
+ enabled: true
+ # Exposes network statistics specific to InfiniBand and Intel OmniPath configurations
+ infiniband:
+ enabled: true
+ # Exposes IPVS status from /proc/net/ip_vs and stats from /proc/net/ip_vs_stats
+ ipvs:
+ enabled: true
+ # Exposes load average. Darwin, Dragonfly, FreeBSD, Linux, NetBSD, OpenBSD, Solaris
+ loadavg:
+ enabled: true
+ # Exposes statistics about devices in /proc/mdstat (does nothing if no /proc/mdstat present)
+ mdadm:
+ enabled: true
+ # Exposes memory statistics.
+ meminfo:
+ enabled: true
+ # Exposes network interface statistics such as bytes transferred
+ netdev:
+ enabled: true
+ # Exposes network statistics from /proc/net/netstat
+ netstat:
+ enabled: true
+ # Exposes NFS client statistics from /proc/net/rpc/nfs
+ nfs:
+ enabled: true
+ # Exposes NFS kernel server statistics from /proc/net/rpc/nfsd
+ nfsd:
+ enabled: true
+ # Exposes various statistics from /proc/net/sockstat
+ sockstat:
+ enabled: true
+ # Exposes various statistics from /proc/stat
+ stat:
+ enabled: true
+ # Exposes statistics read from local disk
+ textfile:
+ enabled: true
+ # Exposes the current system time
+ time:
+ enabled: true
+ # Exposes selected adjtimex(2) system call stats
+ timex:
+ enabled: true
+ # Exposes system information as provided by the uname system call
+ uname:
+ enabled: true
+ # Exposes statistics from /proc/vmstat
+ vmstat:
+ enabled: true
+ # Exposes XFS runtime statistics
+ xfs:
+ enabled: true
+ # Exposes ZFS performance statistics
+ zfs:
+ enabled: true
+##
+# Enabled by default on Linux
+##
+ # Exposes statistics of memory fragments as reported by /proc/buddyinfo
+ buddyinfo:
+ enabled: false
+ # Exposes Distributed Replicated Block Device statistics (to version 8.4)
+ drbd:
+ enabled: false
+ # Exposes detailed interrupts statistics
+ interrupts:
+ enabled: false
+ # Exposes kernel and system statistics from /sys/kernel/mm/ksm
+ ksmd:
+ enabled: false
+ # Exposes session counts from logind
+ logind:
+ enabled: false
+ # Exposes memory statistics from /proc/meminfo_numa
+ meminfo_numa:
+ enabled: false
+ # Exposes filesystem statistics from /proc/self/mountstats, exposes detailed NFS client statistics
+ mountstats:
+ enabled: false
+ # Exposes local NTP daemon health to check time
+ ntp:
+ enabled: false
+ # Exposes aggregate process statistics from /proc
+ processes:
+ enabled: false
+ # Exposes queuing discipline statistics
+ qdisc:
+ enabled: false
+ # Exposes service status from runit
+ runit:
+ enabled: false
+ # Exposes service status from supervisord
+ supervisord:
+ enabled: false
+ # Exposes service and system status from systemd
+ systemd:
+ enabled: false
+ # Exposes TCP connection status information from /proc/net/tcp and /proc/net/tcp6
+ tcpstat:
+ enabled: false
+ # Exposes WiFi device and station statistics
+ wifi:
+ enabled: false
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..c007dfbe627e70889bea143f6796f6f99534997e
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+description: Creates Grafana instance for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: grafana
+version: 0.0.1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_cluster-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_cluster-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..09e2846fbe80e8b37a1c4970e31153cdc716a96d
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_cluster-dashboard.json
@@ -0,0 +1 @@
+{"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"description":"Monitors Kubernetes cluster using Prometheus. Shows overall cluster or Node CPU / Memory / Filesystem usage as well as individual pod, containers, systemd services statistics. Uses cAdvisor metrics only.","editable":true,"gnetId":1621,"graphTooltip":0,"id":28,"iteration":1568020058838,"links":[],"panels":[{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":0},"id":34,"panels":[],"title":"Total usage","type":"row"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":8,"x":0,"y":1},"height":"180px","id":6,"interval":null,"isNew":true,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"(1 - avg(irate(node_cpu_seconds_total{mode=\"idle\",node=~\"^$Node$\"}[5m]))) * 100","format":"time_series","interval":"10s","intervalFactor":1,"refId":"A","step":10}],"thresholds":"65, 90","title":"CPU usage (5m avg)","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","editable":true,"error":false,"format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":8,"x":8,"y":1},"height":"180px","id":4,"interval":null,"isNew":true,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"(1 - sum(node_memory_MemAvailable_bytes{node=~\"^$Node$\"})/ sum(node_memory_MemTotal_bytes{node=~\"^$Node$\"})) * 100","format":"time_series","interval":"10s","intervalFactor":1,"refId":"A","step":10}],"thresholds":"65, 90","title":"Memory usage","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":8,"x":16,"y":1},"height":"180px","id":7,"interval":null,"isNew":true,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"(sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\",node=~\"^$Node$\"})\n - sum(node_filesystem_free_bytes{device!~\"rootfs|HarddiskVolume.+\",node=~\"^$Node$\"})) / sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\",node=~\"^$Node$\"}) * 100","format":"time_series","interval":"10s","intervalFactor":1,"legendFormat":"","metric":"","refId":"A","step":10}],"thresholds":"65, 90","title":"Filesystem usage","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":0,"y":6},"height":"1px","id":11,"interval":null,"isNew":true,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"options":{},"postfix":" cores","postfixFontSize":"30%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"(1 - (avg(irate(node_cpu_seconds_total{mode=\"idle\",node=~\"^$Node$\"}[5m])))) * sum(machine_cpu_cores{node=~\"^$Node$\"})","format":"time_series","interval":"10s","intervalFactor":1,"refId":"A","step":10}],"thresholds":"","title":"Used","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":4,"y":6},"height":"1px","id":12,"interval":null,"isNew":true,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"options":{},"postfix":" cores","postfixFontSize":"30%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum (machine_cpu_cores{node=~\"^$Node$\"})","interval":"10s","intervalFactor":1,"refId":"A","step":10}],"thresholds":"","title":"Total","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"format":"bytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":8,"y":6},"height":"1px","id":9,"interval":null,"isNew":true,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"options":{},"postfix":"","postfixFontSize":"20%","prefix":"","prefixFontSize":"20%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(node_memory_MemTotal_bytes{device!~\"rootfs|HarddiskVolume.+\",node =~\"^$Node$\"}) - sum(node_memory_MemAvailable_bytes{device!~\"rootfs|HarddiskVolume.+\",node =~\"^$Node$\"})","interval":"10s","intervalFactor":1,"refId":"A","step":10}],"thresholds":"","title":"Used","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"format":"bytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":12,"y":6},"height":"1px","id":10,"interval":null,"isNew":true,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum (machine_memory_bytes{node=~\"^$Node$\"})","interval":"10s","intervalFactor":1,"refId":"A","step":10}],"thresholds":"","title":"Total","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"format":"bytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":16,"y":6},"height":"1px","id":13,"interval":null,"isNew":true,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\",node=~\"^$Node$\"})\n - sum(node_filesystem_free_bytes{device!~\"rootfs|HarddiskVolume.+\",node=~\"^$Node$\"})","interval":"10s","intervalFactor":1,"refId":"A","step":10}],"thresholds":"","title":"Used","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"format":"bytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":20,"y":6},"height":"1px","id":14,"interval":null,"isNew":true,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\",node=~\"^$Node$\"})","interval":"10s","intervalFactor":1,"refId":"A","step":10}],"thresholds":"","title":"Total","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"fillGradient":0,"gridPos":{"h":6,"w":8,"x":0,"y":9},"id":2051,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"1- (avg(irate(node_cpu_seconds_total{mode=\"idle\"}[5m])))","format":"time_series","hide":false,"instant":false,"intervalFactor":1,"legendFormat":"Cluster","refId":"A"},{"expr":"1- (avg(irate(node_cpu_seconds_total{mode=\"idle\"}[5m])) by (node))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"{{node}}","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"CPU usage (5m avg)","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"percentunit","label":"","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"fillGradient":0,"gridPos":{"h":6,"w":8,"x":8,"y":9},"id":2052,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"100 * (1 - sum(node_memory_MemAvailable_bytes) / sum(node_memory_MemTotal_bytes))","format":"time_series","hide":false,"instant":false,"intervalFactor":1,"legendFormat":"Cluster","refId":"A"},{"expr":"100 * (1- sum(node_memory_MemAvailable_bytes) by (node) / sum(node_memory_MemTotal_bytes) by (node))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"{{node}}","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Memory usage","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"percent","label":"","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"fillGradient":0,"gridPos":{"h":6,"w":8,"x":16,"y":9},"id":2053,"legend":{"alignAsTable":false,"avg":false,"current":false,"max":false,"min":false,"rightSide":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"(sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\",node=~\"^$Node$\"})\n - sum(node_filesystem_free_bytes{device!~\"rootfs|HarddiskVolume.+\",node=~\"^$Node$\"})\n ) / sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\",node=~\"^$Node$\"}) * 100 ","format":"time_series","hide":false,"instant":false,"intervalFactor":1,"legendFormat":"Cluster","refId":"A"},{"expr":"((sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\"}) by (node) - sum(node_filesystem_free_bytes{device!~\"rootfs|HarddiskVolume.+\"}) by (node)) / sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\"}) by (node)) * 100\n","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"{{node}}","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Filesystem usage","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"decimals":null,"format":"percent","label":"","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":15},"id":2022,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"fill":0,"gridPos":{"h":6,"w":12,"x":0,"y":16},"id":2058,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"Total","fillBelowTo":"Unavailable"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(kube_node_info{node=~\"$Node\"})","format":"time_series","intervalFactor":2,"legendFormat":"Total","refId":"A"},{"expr":"sum(kube_node_status_condition{condition=\"Ready\", node=~\"$Node\", status!=\"true\"})","format":"time_series","instant":false,"intervalFactor":2,"legendFormat":"Unavailable","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Numbers","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"decimals":0,"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}},{"cacheTimeout":null,"colorBackground":true,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":12,"y":16},"id":2056,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(kube_node_status_condition{condition=\"DiskPressure\", node=~\"$Node\", status!=\"false\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"1","title":"Disk Pressure","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":true,"colorPostfix":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":16,"y":16},"id":2059,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"#0a50a1","full":true,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(kube_node_status_condition{condition=\"MemoryPressure\", node=~\"$Node\", status!=\"false\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"1","title":"Memory Pressure","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":true,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":20,"y":16},"id":2061,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(kube_node_status_condition{condition=\"PIDPressure\", node=~\"$Node\", status!=\"false\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"1","title":"PID Pressure","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":true,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":12,"y":19},"id":2026,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(kube_node_spec_unschedulable{node=~\"$Node\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"1","title":"Unschedulable","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":true,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":16,"y":19},"id":2025,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(kube_node_status_condition{condition=\"OutOfDisk\", node=~\"$Node\", status=\"true\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"0","title":"Out of Disk","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":true,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","decimals":null,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":20,"y":19},"id":2060,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"#bf1b00","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_node_status_condition{condition=\"NetworkUnavailable\", node=~\"$Node\", status!=\"false\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"1","title":"Network Unavailable","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"}],"title":"Node","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":16},"id":2014,"panels":[{"columns":[{"text":"Current","value":"current"}],"datasource":"RANCHER_MONITORING","fontSize":"100%","gridPos":{"h":5,"w":6,"x":0,"y":17},"id":2016,"links":[],"pageSize":null,"scroll":true,"showHeader":true,"sort":{"col":1,"desc":true},"styles":[{"alias":"Time","dateFormat":"YYYY-MM-DD HH:mm:ss","pattern":"Time","type":"date"},{"alias":"","colorMode":"row","colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"decimals":0,"pattern":"Metric","thresholds":["0","0",".9"],"type":"string","unit":"none"},{"alias":"","colorMode":"row","colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"dateFormat":"YYYY-MM-DD HH:mm:ss","decimals":0,"link":false,"pattern":"Value","thresholds":["0","1"],"type":"number","unit":"none"}],"targets":[{"expr":"kube_deployment_status_replicas{namespace=~\".*\"}","format":"time_series","instant":true,"interval":"","intervalFactor":1,"legendFormat":"{{ deployment }}","refId":"A"}],"title":"Deployment Replicas - Up To Date","transform":"timeseries_to_rows","type":"table"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":6,"x":6,"y":17},"id":2018,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(kube_deployment_status_replicas{namespace=~\".*\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Deployment Replicas","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":6,"x":12,"y":17},"id":2019,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(kube_deployment_status_replicas_updated{namespace=~\".*\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Deployment Replicas - Updated","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":6,"x":18,"y":17},"id":2020,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(kube_deployment_status_replicas_unavailable{namespace=~\".*\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Deployment Replicas - Unavailable","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"}],"title":"Deployments","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":17},"id":2045,"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":8,"x":0,"y":18},"id":2047,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_job_status_succeeded{namespace=~\".*\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Jobs Succeeded","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":8,"x":8,"y":18},"id":2048,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_job_status_active{namespace=~\".*\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Jobs Succeeded","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":8,"x":16,"y":18},"id":2049,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_job_status_failed{namespace=~\".*\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Jobs Failed","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"}],"title":"Jobs","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":18},"id":2028,"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":12,"x":0,"y":19},"id":2030,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(78, 203, 42, 0.28)","full":false,"lineColor":"#629e51","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_status_phase{namespace=~\".*\", phase=\"Running\"})","format":"time_series","interval":"","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Pods Running","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":12,"x":12,"y":19},"id":2031,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(78, 203, 42, 0.28)","full":false,"lineColor":"#629e51","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_status_phase{namespace=~\".*\", phase=\"Pending\"})","format":"time_series","interval":"","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Pods Pending","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":8,"x":0,"y":22},"id":2032,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(78, 203, 42, 0.28)","full":false,"lineColor":"#629e51","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_status_phase{namespace=~\".*\", phase=\"Failed\"})","format":"time_series","interval":"","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Pods Failed","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":8,"x":8,"y":22},"id":2033,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(78, 203, 42, 0.28)","full":false,"lineColor":"#629e51","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_status_phase{namespace=~\".*\", phase=\"Succeeded\"})","format":"time_series","interval":"","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Pods Succeeded","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":8,"x":16,"y":22},"id":2034,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(78, 203, 42, 0.28)","full":false,"lineColor":"#629e51","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_status_phase{namespace=~\".*\", phase=\"Unknown\"})","format":"time_series","interval":"","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Pods Unknown","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"}],"title":"Pods","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":19},"id":2036,"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":0,"y":20},"id":2038,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_container_status_running{namespace=~\".*\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Containers Running","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":6,"y":20},"id":2039,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_container_status_waiting{namespace=~\".*\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Containers Waiting","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":12,"y":20},"id":2040,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_container_status_terminated{namespace=~\".*\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Containers Terminated","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":18,"y":20},"id":2041,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(delta(kube_pod_container_status_restarts{namespace=~\".*\"}[30m]))","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Containers Restarts (Last 30 Minutes)","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":12,"x":0,"y":23},"id":2043,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_container_resource_requests_cpu_cores{namespace=~\".*\", node=~\"$Node\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"CPU Cores Requested by Containers","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","format":"decbytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":12,"x":12,"y":23},"id":2042,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_container_resource_requests_memory_bytes{namespace=~\".*\", node=~\"$Node\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"Memory Requested By Containers","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"}],"title":"Containers","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":20},"id":33,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"fill":1,"fillGradient":0,"grid":{},"gridPos":{"h":5,"w":24,"x":0,"y":21},"height":"200px","id":32,"isNew":true,"legend":{"alignAsTable":false,"avg":true,"current":true,"max":false,"min":false,"rightSide":false,"show":false,"sideWidth":200,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum (rate (container_network_receive_bytes_total[5m]))by (node)","format":"time_series","interval":"10s","intervalFactor":1,"legendFormat":"{{node}} Received","metric":"network","refId":"A","step":10},{"expr":"- sum (rate (container_network_transmit_bytes_total[5m])) by (node)","format":"time_series","interval":"10s","intervalFactor":1,"legendFormat":"{{node}} Sent","metric":"network","refId":"B","step":10},{"expr":"sum (rate (wmi_container_network_receive_bytes_total[5m]))by (node)","hide":false,"legendFormat":"{{node}} Received","refId":"C"},{"expr":"- sum (rate (wmi_container_network_transmit_bytes_total[5m]))by (node)","legendFormat":"{{node}} Sent","refId":"D"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Network I/O pressure","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"cumulative"},"transparent":false,"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"Network I/O pressure","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":21},"id":35,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":3,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":7,"w":24,"x":0,"y":22},"height":"","id":17,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":true,"targets":[{"expr":"sum (rate (container_cpu_usage_seconds_total{pod_name!=\"\",container_name!=\"POD\",node=~\"^$Node$\"}[5m])) by (pod_name)","format":"time_series","interval":"10s","intervalFactor":1,"legendFormat":"{{ pod_name }}","metric":"container_cpu","refId":"A","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Pods CPU usage (5m avg)","tooltip":{"msResolution":true,"shared":true,"sort":2,"value_type":"cumulative"},"transparent":false,"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"percentunit","label":"cores","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"Pods CPU usage","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":22},"id":36,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":3,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":7,"w":24,"x":0,"y":23},"height":"","id":23,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":true,"targets":[{"expr":"sum (rate (container_cpu_usage_seconds_total{systemd_service_name!=\"\",node=~\"^$Node$\"}[5m])) by (systemd_service_name)","format":"time_series","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"{{ systemd_service_name }}","metric":"container_cpu","refId":"A","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"System services CPU usage (5m avg)","tooltip":{"msResolution":true,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"percentunit","label":"cores","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"System services CPU usage","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":23},"id":37,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":3,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":7,"w":24,"x":0,"y":24},"height":"","id":24,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":true,"show":true,"sideWidth":null,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":true,"targets":[{"expr":"sum (rate (container_cpu_usage_seconds_total{container_name!=\"POD\",pod_name!=\"\",container_name!=\"\",node=~\"^$Node$\"}[5m])) by (container_name, pod_name)","format":"time_series","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"pod: {{ pod_name }} | {{ container_name }}","metric":"container_cpu","refId":"A","step":10},{"expr":"sum (rate (container_cpu_usage_seconds_total{container_name!=\"POD\",container_name!=\"\",node=~\"^$Node$\"}[5m])) by (node, container_name)","format":"time_series","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"docker: {{ node }} | {{ container_name }}","metric":"container_cpu","refId":"B","step":10},{"expr":"sum (rate (container_cpu_usage_seconds_total{rkt_container_name!=\"\",node=~\"^$Node$\"}[5m])) by (node, rkt_container_name)","format":"time_series","interval":"10s","intervalFactor":1,"legendFormat":"rkt: {{ node }} | {{ rkt_container_name }}","metric":"container_cpu","refId":"C","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Containers CPU usage (5m avg)","tooltip":{"msResolution":true,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"percentunit","label":"cores","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"Containers CPU usage","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":24},"id":38,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":3,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":13,"w":24,"x":0,"y":25},"id":20,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":true,"targets":[{"expr":"sum (rate (container_cpu_usage_seconds_total{namespace!=\"\",pod_name!=\"\",node=~\"^$Node$\"}[5m])) by (namespace, pod_name)","format":"time_series","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"{{ namespace }}:{{ pod_name }}","metric":"container_cpu","refId":"A","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"All processes CPU usage (5m avg)","tooltip":{"msResolution":true,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"percentunit","label":"cores","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"All processes CPU usage","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":25},"id":39,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":7,"w":24,"x":0,"y":26},"id":25,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sideWidth":200,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":true,"targets":[{"expr":"sum (container_memory_working_set_bytes{pod_name!=\"\",node=~\"^$Node$\"}) by (pod_name)","format":"time_series","interval":"10s","intervalFactor":1,"legendFormat":"{{ pod_name }}","metric":"container_memory_usage:sort_desc","refId":"A","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Pods memory usage","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"Pods memory usage","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":26},"id":40,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":7,"w":24,"x":0,"y":27},"id":26,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sideWidth":200,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":true,"targets":[{"expr":"sum (container_memory_working_set_bytes{systemd_service_name!=\"\",node=~\"^$Node$\"}) by (systemd_service_name)","interval":"10s","intervalFactor":1,"legendFormat":"{{ systemd_service_name }}","metric":"container_memory_usage:sort_desc","refId":"A","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"System services memory usage","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"System services memory usage","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":27},"id":41,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":7,"w":24,"x":0,"y":28},"id":27,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sideWidth":200,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":true,"targets":[{"expr":"sum (container_memory_working_set_bytes{pod_name!=\"\",container_name!=\"\",container_name!=\"POD\",node=~\"^$Node$\"}) by (container_name, pod_name)","interval":"10s","intervalFactor":1,"legendFormat":"pod: {{ pod_name }} | {{ container_name }}","metric":"container_memory_usage:sort_desc","refId":"A","step":10},{"expr":"sum (container_memory_working_set_bytes{container_name!=\"\",container_name!=\"POD\",node=~\"^$Node$\"}) by (node, container_name)","interval":"10s","intervalFactor":1,"legendFormat":"docker: {{ node }} | {{ container_name }}","metric":"container_memory_usage:sort_desc","refId":"B","step":10},{"expr":"sum (container_memory_working_set_bytes{rkt_container_name!=\"\",node=~\"^$Node$\"}) by (node, rkt_container_name)","interval":"10s","intervalFactor":1,"legendFormat":"rkt: {{ node }} | {{ rkt_container_name }}","metric":"container_memory_usage:sort_desc","refId":"C","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Containers memory usage","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"Containers memory usage","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":28},"id":42,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":13,"w":24,"x":0,"y":29},"id":28,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":false,"show":true,"sideWidth":200,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":true,"targets":[{"expr":"sum (rate (container_memory_working_set_bytes{namespace!=\"\",pod_name!=\"\",node=~\"^$Node$\"}[5m])) by (namespace, pod_name)","interval":"10s","intervalFactor":1,"legendFormat":"{{ namespace }}:{{pod_name}}","metric":"container_memory_usage:sort_desc","refId":"A","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"All processes memory usage","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"All processes memory usage","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":29},"id":43,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"fill":1,"grid":{},"gridPos":{"h":7,"w":24,"x":0,"y":30},"id":16,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sideWidth":200,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum (rate (container_network_receive_bytes_total{pod_name!=\"\",node=~\"^$Node$\"}[5m])) by (pod_name)","interval":"10s","intervalFactor":1,"legendFormat":"-> {{ pod_name }}","metric":"network","refId":"A","step":10},{"expr":"- sum (rate (container_network_transmit_bytes_total{pod_name!=\"\",node=~\"^$Node$\"}[5m])) by (pod_name)","interval":"10s","intervalFactor":1,"legendFormat":"<- {{ pod_name }}","metric":"network","refId":"B","step":10}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Pods network I/O (5m avg)","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"title":"Pods network I/O","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":30},"id":44,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"fill":1,"grid":{},"gridPos":{"h":7,"w":24,"x":0,"y":17},"id":30,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sideWidth":200,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum (rate (container_network_receive_bytes_total{container!=\"\", pod_name!=\"\",node=~\"^$Node$\"}[5m])) by (container_name, pod_name)","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"-> pod: {{ pod_name }} | {{ container_name }}","metric":"network","refId":"B","step":10},{"expr":"- sum (rate (container_network_transmit_bytes_total{container!=\"\", pod_name!=\"\",node=~\"^$Node$\"}[5m])) by (container_name, pod_name)","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"<- pod: {{ pod_name }} | {{ container_name }}","metric":"network","refId":"D","step":10},{"expr":"sum (rate (container_network_receive_bytes_total{container!=\"\", pod_name!=\"\",node=~\"^$Node$\"}[5m])) by (node, name, image)","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"-> docker: {{ node }} | {{ image }} ({{ name }})","metric":"network","refId":"A","step":10},{"expr":"- sum (rate (container_network_transmit_bytes_total{container!=\"\", pod_name!=\"\",node=~\"^$Node$\"}[5m])) by (node, name, image)","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"<- docker: {{ node }} | {{ image }} ({{ name }})","metric":"network","refId":"C","step":10},{"expr":"sum (rate (container_network_transmit_bytes_total{rkt_container_name!=\"\",node=~\"^$Node$\"}[5m])) by (node, rkt_container_name)","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"-> rkt: {{ node }} | {{ rkt_container_name }}","metric":"network","refId":"E","step":10},{"expr":"- sum (rate (container_network_transmit_bytes_total{rkt_container_name!=\"\",node=~\"^$Node$\"}[5m])) by (node, rkt_container_name)","hide":false,"interval":"10s","intervalFactor":1,"legendFormat":"<- rkt: {{ node }} | {{ rkt_container_name }}","metric":"network","refId":"F","step":10}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Containers network I/O (5m avg)","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}]}],"title":"Containers network I/O","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":31},"id":45,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"editable":true,"error":false,"fill":1,"grid":{},"gridPos":{"h":13,"w":24,"x":0,"y":18},"id":29,"isNew":true,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":false,"min":false,"rightSide":false,"show":true,"sideWidth":200,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum (rate (container_network_receive_bytes_total{node=~\"^$Node$\"}[5m])) by (namespace, pod_name)","interval":"10s","intervalFactor":1,"legendFormat":"-> {{ namespace }}:{{pod_name}}","metric":"network","refId":"A","step":10},{"expr":"- sum (rate (container_network_transmit_bytes_total{node=~\"^$Node$\"}[5m])) by (namespace, pod_name)","interval":"10s","intervalFactor":1,"legendFormat":"<- {{ namespace }}:{{pod_name}}","metric":"network","refId":"B","step":10}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"All processes network I/O (5m avg)","tooltip":{"msResolution":false,"shared":true,"sort":2,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}]}],"title":"All processes network I/O","type":"row"}],"refresh":"1m","schemaVersion":19,"style":"dark","tags":[],"templating":{"list":[{"allValue":".*","current":{"text":"All","value":"$__all"},"datasource":"RANCHER_MONITORING","definition":"label_values(node_load1, node)","hide":0,"includeAll":true,"label":null,"multi":false,"name":"Node","options":[],"query":"label_values(node_load1, node)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false}]},"time":{"from":"now-30m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Cluster","uid":"icjpCppik","version":1}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_etcd-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_etcd-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..d5d332eee72cc94e493e313da0bec1c75169fac9
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_etcd-dashboard.json
@@ -0,0 +1 @@
+{"__requires":[{"type":"grafana","id":"grafana","name":"Grafana","version":"5.3.0"},{"type":"panel","id":"graph","name":"Graph","version":"5.0.0"},{"type":"datasource","id":"prometheus","name":"Prometheus","version":"5.0.0"},{"type":"panel","id":"singlestat","name":"Singlestat","version":"5.0.0"}],"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"description":"Etcd Dashboard for Prometheus metrics scraper","editable":true,"gnetId":3070,"graphTooltip":0,"id":null,"links":[],"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":7,"w":8,"x":0,"y":0},"id":44,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(etcd_server_has_leader)","format":"time_series","intervalFactor":2,"refId":"A","step":600}],"thresholds":"0,1","title":"Etcd has a leader?","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"YES","value":"1"},{"op":"=","text":"NO","value":"0"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":7,"w":8,"x":8,"y":0},"id":42,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(etcd_server_leader_changes_seen_total)","format":"time_series","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"The number of leader changes seen","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":7,"w":8,"x":16,"y":0},"id":43,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(etcd_server_leader_changes_seen_total)","format":"time_series","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"The total number of failed proposals seen","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":0,"gridPos":{"h":7,"w":12,"x":0,"y":7},"id":23,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(grpc_server_started_total{grpc_type=\"unary\"}[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"RPC Rate","metric":"grpc_server_started_total","refId":"A","step":60},{"expr":"sum(rate(grpc_server_handled_total{grpc_type=\"unary\",grpc_code!=\"OK\"}[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"RPC Failed Rate","metric":"grpc_server_handled_total","refId":"B","step":60}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"RPC Rate","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ops","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":0,"gridPos":{"h":7,"w":12,"x":12,"y":7},"id":41,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"sum(grpc_server_started_total{grpc_service=\"etcdserverpb.Watch\",grpc_type=\"bidi_stream\"}) - sum(grpc_server_handled_total{grpc_service=\"etcdserverpb.Watch\",grpc_type=\"bidi_stream\"})","format":"time_series","intervalFactor":2,"legendFormat":"Watch Streams","metric":"grpc_server_handled_total","refId":"A","step":60},{"expr":"sum(grpc_server_started_total{grpc_service=\"etcdserverpb.Lease\",grpc_type=\"bidi_stream\"}) - sum(grpc_server_handled_total{grpc_service=\"etcdserverpb.Lease\",grpc_type=\"bidi_stream\"})","format":"time_series","intervalFactor":2,"legendFormat":"Lease Streams","metric":"grpc_server_handled_total","refId":"B","step":60}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Active Streams","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":7,"w":8,"x":0,"y":14},"id":1,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(etcd_debugging_mvcc_db_total_size_in_bytes)","format":"time_series","hide":false,"interval":"","intervalFactor":2,"legendFormat":"{{instance}} DB Size","metric":"","refId":"A","step":120}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"DB Size","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","logBase":1,"max":null,"min":null,"show":true},{"format":"short","logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":7,"w":8,"x":8,"y":14},"id":3,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":1,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":true,"targets":[{"expr":"histogram_quantile(0.99, sum(rate(etcd_disk_wal_fsync_duration_seconds_bucket[5m])) by (instance, le))","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{instance}} WAL fsync","metric":"etcd_disk_wal_fsync_duration_seconds_bucket","refId":"A","step":120},{"expr":"histogram_quantile(0.99, sum(rate(etcd_disk_backend_commit_duration_seconds_bucket[5m])) by (instance, le))","format":"time_series","intervalFactor":2,"legendFormat":"{{instance}} DB fsync","metric":"etcd_disk_backend_commit_duration_seconds_bucket","refId":"B","step":120}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disk Sync Duration","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"s","logBase":1,"max":null,"min":null,"show":true},{"format":"short","logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":0,"gridPos":{"h":7,"w":8,"x":16,"y":14},"id":29,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"process_resident_memory_bytes","format":"time_series","intervalFactor":2,"legendFormat":"{{instance}} Resident Memory","metric":"process_resident_memory_bytes","refId":"A","step":120}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":5,"gridPos":{"h":7,"w":6,"x":0,"y":21},"id":22,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"sum(rate(etcd_network_client_grpc_received_bytes_total[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"{{instance}} Client Traffic In","metric":"etcd_network_client_grpc_received_bytes_total","refId":"A","step":120}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Client Traffic In","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":5,"gridPos":{"h":7,"w":6,"x":6,"y":21},"id":21,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"rate(etcd_network_client_grpc_sent_bytes_total[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{instance}} Client Traffic Out","metric":"etcd_network_client_grpc_sent_bytes_total","refId":"A","step":120}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Client Traffic Out","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":0,"gridPos":{"h":7,"w":6,"x":12,"y":21},"id":20,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(etcd_network_peer_received_bytes_total[5m])) by (instance)","format":"time_series","intervalFactor":2,"legendFormat":"{{instance}} Peer Traffic In","metric":"etcd_network_peer_received_bytes_total","refId":"A","step":120}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Peer Traffic In","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"editable":true,"error":false,"fill":0,"grid":{},"gridPos":{"h":7,"w":6,"x":18,"y":21},"id":16,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(etcd_network_peer_sent_bytes_total[5m])) by (instance)","format":"time_series","hide":false,"interval":"","intervalFactor":2,"legendFormat":"{{instance}} Peer Traffic Out","metric":"etcd_network_peer_sent_bytes_total","refId":"A","step":120}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Peer Traffic Out","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","logBase":1,"max":null,"min":null,"show":true},{"format":"short","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":0,"gridPos":{"h":7,"w":12,"x":0,"y":28},"id":40,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(etcd_server_proposals_failed_total[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"Proposal Failure Rate","metric":"etcd_server_proposals_failed_total","refId":"A","step":60},{"expr":"sum(etcd_server_proposals_pending)","format":"time_series","intervalFactor":2,"legendFormat":"Proposal Pending Total","metric":"etcd_server_proposals_pending","refId":"B","step":60},{"expr":"sum(rate(etcd_server_proposals_committed_total[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"Proposal Commit Rate","metric":"etcd_server_proposals_committed_total","refId":"C","step":60},{"expr":"sum(rate(etcd_server_proposals_applied_total[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"Proposal Apply Rate","refId":"D","step":60}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Raft Proposals","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":0,"editable":true,"error":false,"fill":0,"gridPos":{"h":7,"w":12,"x":12,"y":28},"id":19,"legend":{"alignAsTable":false,"avg":false,"current":false,"max":false,"min":false,"rightSide":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"changes(etcd_server_leader_changes_seen_total[1d])","format":"time_series","intervalFactor":2,"legendFormat":"{{instance}} Total Leader Elections Per Day","metric":"etcd_server_leader_changes_seen_total","refId":"A","step":60}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Total Leader Elections Per Day","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"proposals_committed_total records the total number of consensus proposals committed. This gauge should increase over time if the cluster is healthy. Several healthy members of an etcd cluster may have different total committed proposals at once. This discrepancy may be due to recovering from peers after starting, lagging behind the leader, or being the leader and therefore having the most commits. It is important to monitor this metric across all the members in the cluster; a consistently large lag between a single member and its leader indicates that member is slow or unhealthy.\n\nproposals_applied_total records the total number of consensus proposals applied. The etcd server applies every committed proposal asynchronously. The difference between proposals_committed_total and proposals_applied_total should usually be small (within a few thousands even under high load). If the difference between them continues to rise, it indicates that the etcd server is overloaded. This might happen when applying expensive queries like heavy range queries or large txn operations.","fill":1,"gridPos":{"h":7,"w":12,"x":0,"y":35},"id":2,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":false,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(increase(etcd_server_proposals_committed_total[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"total number of consensus proposals committed","metric":"","refId":"A","step":60},{"expr":"sum(increase(etcd_server_proposals_applied_total[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"total number of consensus proposals applied","metric":"","refId":"B","step":60}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"The total number of consensus proposals committed","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ops","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"indicates how many proposals are queued to commit. Rising pending proposals suggests there is a high client load or the member cannot commit proposals.","fill":1,"gridPos":{"h":7,"w":12,"x":12,"y":35},"id":5,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(etcd_server_proposals_pending)","format":"time_series","intervalFactor":2,"legendFormat":"Proposals pending","refId":"A","step":60}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Proposals pending","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":7,"w":24,"x":0,"y":42},"id":7,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(increase(etcd_disk_wal_fsync_duration_seconds_sum[5m]))","format":"time_series","intervalFactor":2,"legendFormat":" The latency distributions of fsync called by wal","refId":"A","step":30},{"expr":"sum(increase(etcd_disk_backend_commit_duration_seconds_sum[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"The latency distributions of commit called by backend","refId":"B","step":30}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disks operations","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":7,"w":24,"x":0,"y":49},"id":8,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(etcd_network_client_grpc_received_bytes_total[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"The total number of bytes received by grpc clients","refId":"A","step":30},{"expr":"sum(rate(etcd_network_client_grpc_sent_bytes_total[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"The total number of bytes sent to grpc clients","refId":"B","step":30}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"Abnormally high snapshot duration (snapshot_save_total_duration_seconds) indicates disk issues and might cause the cluster to be unstable.","fill":1,"gridPos":{"h":7,"w":24,"x":0,"y":56},"id":9,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(etcd_debugging_snap_save_total_duration_seconds_sum[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"The total latency distributions of save called by snapshot","refId":"A","step":30}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Snapshot duration","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}}],"schemaVersion":16,"style":"dark","tags":[],"templating":{"list":[]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Etcd","uid":"8naNKoYik","version":1}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_kubernetes-components-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_kubernetes-components-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..7b69cac7d88afb8cf208f2ff9421e4ceeabad833
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_kubernetes-components-dashboard.json
@@ -0,0 +1 @@
+{"__requires":[{"type":"grafana","id":"grafana","name":"Grafana","version":"5.3.0"},{"type":"panel","id":"graph","name":"Graph","version":"5.0.0"},{"type":"datasource","id":"prometheus","name":"Prometheus","version":"5.0.0"}],"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"description":"-","editable":true,"gnetId":5508,"graphTooltip":0,"id":null,"links":[],"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":1,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":7,"w":12,"x":0,"y":0},"id":6,"isNew":false,"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,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum by(instance) (rate(apiserver_request_count{code!~\"2..\"}[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"Error -{{instance}} ","refId":"A","step":60},{"expr":"sum by(instance) (rate(apiserver_request_count[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"Request - {{instance}}","refId":"B","step":60}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"API Server Request Rates","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","logBase":1,"show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":1,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":7,"w":12,"x":12,"y":0},"id":7,"isNew":false,"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,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"avg(apiserver_request_latencies_sum / apiserver_request_latencies_count) by (instance)","format":"time_series","intervalFactor":2,"legendFormat":"","refId":"A","step":30}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"API Server Request Latency","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ns","logBase":1,"show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":9,"w":12,"x":0,"y":7},"id":11,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"increase(nginx_ingress_controller_nginx_process_requests_total[1m])","format":"time_series","intervalFactor":1,"legendFormat":"Request Rate","refId":"A"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Nginx Ingress Request Rate","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":9,"w":12,"x":12,"y":7},"id":9,"legend":{"avg":false,"current":false,"max":false,"min":false,"show":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(service_depth)","format":"time_series","intervalFactor":1,"legendFormat":"Service Depth","refId":"A"},{"expr":"sum(volumes_depth)","format":"time_series","intervalFactor":1,"legendFormat":"Volumes Depth","refId":"B"},{"expr":"sum(replicationmanager_depth)","format":"time_series","intervalFactor":1,"legendFormat":"Replication Manager Depth","refId":"C"},{"expr":"sum(statefulset_depth)","format":"time_series","intervalFactor":1,"legendFormat":"StatefulSet Depth","refId":"D"},{"expr":"sum(serviceaccount_depth)","format":"time_series","intervalFactor":1,"legendFormat":"Service Account Depth","refId":"E"},{"expr":"sum(endpoint_depth)","format":"time_series","intervalFactor":1,"legendFormat":"Endpoint Depth","refId":"F"},{"expr":"sum(deployment_depth)","format":"time_series","intervalFactor":1,"legendFormat":"Deployment Depth","refId":"G"},{"expr":"sum(daemonset_depth)","format":"time_series","intervalFactor":1,"legendFormat":"DaemonSet Depth","refId":"H"},{"expr":"sum(replicaset_depth)","format":"time_series","intervalFactor":1,"refId":"I"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Controller Manager Queue Depth","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}}],"refresh":false,"schemaVersion":16,"style":"dark","tags":[],"templating":{"list":[]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Kubernetes Components","uid":"Ld4acTYmz","version":1}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_kubernetes-resource-requests-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_kubernetes-resource-requests-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..da15c9116e5200e7098bce9f4e29650383ddfde0
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_kubernetes-resource-requests-dashboard.json
@@ -0,0 +1 @@
+{"__requires":[{"id":"grafana","name":"Grafana","type":"grafana","version":"5.3.0"},{"id":"graph","name":"Graph","type":"panel","version":"5.0.0"},{"id":"prometheus","name":"Prometheus","type":"datasource","version":"5.0.0"},{"id":"singlestat","name":"Singlestat","type":"panel","version":"5.0.0"}],"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"editable":true,"gnetId":null,"graphTooltip":0,"id":null,"links":[],"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"This represents the total [CPU resource requests](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-cpu) in the cluster.\nFor comparison the total [allocatable CPU cores](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node-allocatable.md) is also shown.","editable":true,"error":false,"fill":1,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":8,"w":18,"x":0,"y":0},"id":1,"isNew":false,"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,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"min(sum(kube_node_status_allocatable_cpu_cores) by (instance))","hide":false,"intervalFactor":2,"legendFormat":"allocatable","refId":"A","step":20},{"expr":"max(sum(kube_pod_container_resource_requests_cpu_cores) by (instance))","hide":false,"intervalFactor":2,"legendFormat":"requested","refId":"B","step":20}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"CPU Cores","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"CPU Cores","logBase":1,"show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":8,"w":6,"x":18,"y":0},"hideTimeOverride":false,"id":2,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(sum(kube_pod_container_resource_requests_cpu_cores) by (instance)) / min(sum(kube_node_status_allocatable_cpu_cores) by (instance)) * 100","intervalFactor":2,"legendFormat":"","refId":"A","step":240}],"thresholds":"80, 90","title":"CPU Cores","transparent":false,"type":"singlestat","valueFontSize":"110%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"This represents the total [memory resource requests](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-memory) in the cluster.\nFor comparison the total [allocatable memory](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node-allocatable.md) is also shown.","editable":true,"error":false,"fill":1,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":8,"w":18,"x":0,"y":8},"id":3,"isNew":false,"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,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"min(sum(kube_node_status_allocatable_memory_bytes) by (instance))","hide":false,"intervalFactor":2,"legendFormat":"allocatable","refId":"A","step":20},{"expr":"max(sum(kube_pod_container_resource_requests_memory_bytes) by (instance))","hide":false,"intervalFactor":2,"legendFormat":"requested","refId":"B","step":20}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory","tooltip":{"msResolution":false,"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Memory","logBase":1,"show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":8,"w":6,"x":18,"y":8},"hideTimeOverride":false,"id":4,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"max(sum(kube_pod_container_resource_requests_memory_bytes) by (instance)) / min(sum(kube_node_status_allocatable_memory_bytes) by (instance)) * 100","intervalFactor":2,"legendFormat":"","refId":"A","step":240}],"thresholds":"80, 90","title":"Memory","transparent":false,"type":"singlestat","valueFontSize":"110%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"}],"refresh":false,"schemaVersion":16,"style":"dark","tags":[],"templating":{"list":[]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Kubernetes Resource Requests","uid":"0MdTILxik","version":1}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_nodes-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_nodes-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..022b9501f7ec25f68655d386e8529284d64f58a3
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_nodes-dashboard.json
@@ -0,0 +1 @@
+{"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"description":"Nearly all default values exported by Prometheus node exporter graphed.","editable":true,"gnetId":1860,"graphTooltip":0,"id":29,"iteration":1568020207948,"links":[],"panels":[{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":0},"id":261,"panels":[],"repeat":null,"title":"Basic CPU / Mem / Disk Gauge","type":"row"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":null,"description":"Busy state of all CPU cores together","format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":4,"x":0,"y":1},"id":20,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":12,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"(1 - (avg(irate(node_cpu_seconds_total{mode=\"idle\", instance=~\"^$node\"}[5m])) by (instance))) * 100","hide":false,"intervalFactor":1,"legendFormat":"","refId":"A","step":900}],"thresholds":"85,95","title":"CPU Busy","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":0,"description":"Non available RAM memory","format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":4,"x":4,"y":1},"hideTimeOverride":false,"id":16,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":6,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"((node_memory_MemTotal_bytes{instance=~\"^$node\"} - node_memory_MemFree_bytes{instance=~\"^$node\"}) / (node_memory_MemTotal_bytes{instance=~\"^$node\"} )) * 100","format":"time_series","hide":true,"intervalFactor":1,"refId":"A","step":900},{"expr":"100 - ((node_memory_MemAvailable_bytes{instance=~\"^$node\"} * 100) / node_memory_MemTotal_bytes{instance=~\"^$node\"})","format":"time_series","hide":false,"intervalFactor":1,"refId":"B","step":900}],"thresholds":"80,90","title":"Used RAM Memory","type":"singlestat","valueFontSize":"80%","valueMaps":[],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":null,"description":"Used Swap","format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":4,"x":8,"y":1},"id":21,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":6,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"((node_memory_SwapTotal_bytes{instance=~\"^$node\"} - node_memory_SwapFree_bytes{instance=~\"^$node\"}) / (node_memory_SwapTotal_bytes{instance=~\"^$node\"} )) * 100","intervalFactor":1,"refId":"A","step":900}],"thresholds":"10,25","title":"Used SWAP","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":null,"description":"Used Root FS","format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":4,"x":12,"y":1},"id":154,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":6,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"(sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\",instance=~\"^$node\"}) - sum(node_filesystem_free_bytes{device!~\"rootfs|HarddiskVolume.+\",instance=~\"^$node\"})) / sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\",instance=~\"^$node\"}) * 100","format":"time_series","intervalFactor":1,"refId":"A","step":900}],"thresholds":"80,90","title":"Used Root FS","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":null,"description":"Busy state of all CPU cores together (1 min average)","format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":4,"x":16,"y":1},"id":19,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":12,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"avg(node_load1{instance=~\"$node\"}) / count(node_cpu_seconds_total{mode=\"system\",instance=~\"^$node\"}) * 100","hide":false,"intervalFactor":1,"refId":"A","step":900},{"expr":"avg(node_load1{instance=~\"$node\"}) / sum(wmi_cs_logical_processors{instance=~\"$node\"}) * 100","refId":"B"}],"thresholds":"85, 95","title":"CPU System Load (1m avg)","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":null,"description":"Busy state of all CPU cores together (5 min average)","format":"percent","gauge":{"maxValue":100,"minValue":0,"show":true,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":4,"w":4,"x":20,"y":1},"id":155,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":12,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"avg(node_load5{instance=~\"$node\"}) / count(node_cpu_seconds_total{mode=\"system\",instance=~\"^$node\"}) * 100","format":"time_series","hide":false,"intervalFactor":1,"refId":"A","step":900},{"expr":"avg(node_load5{instance=~\"$node\"}) / sum(wmi_cs_logical_processors{instance=~\"$node\"}) * 100","refId":"B"}],"thresholds":"85, 95","title":"CPU System Load (5m avg)","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":5},"id":262,"panels":[],"repeat":null,"title":"Basic CPU / Mem / Disk Info","type":"row"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","description":"Total number of CPU cores","format":"short","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":0,"y":6},"id":14,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":6,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"count(node_cpu_seconds_total{mode=\"system\",instance=~\"^$node\"})","intervalFactor":1,"refId":"A","step":900},{"expr":"wmi_cs_logical_processors{instance=~\"$node\"}","refId":"B"}],"thresholds":"","title":"CPU Cores","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","decimals":2,"description":"Total RAM","format":"bytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":4,"y":6},"id":75,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":6,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"70%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"node_memory_MemTotal_bytes{instance=~\"^$node\"}","intervalFactor":1,"refId":"A","step":900}],"thresholds":"","title":"Total RAM","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","decimals":2,"description":"Total SWAP","format":"bytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":8,"y":6},"id":18,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":6,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"70%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"node_memory_SwapTotal_bytes{instance=~\"^$node\"}","intervalFactor":1,"refId":"A","step":900}],"thresholds":"","title":"Total SWAP","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(50, 172, 45, 0.97)","rgba(237, 129, 40, 0.89)","rgba(245, 54, 54, 0.9)"],"datasource":"RANCHER_MONITORING","decimals":null,"description":"Total RootFS","format":"bytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":12,"y":6},"id":23,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":6,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"sum(node_filesystem_size_bytes{device!~\"rootfs|HarddiskVolume.+\",instance=~\"^$node\"})","format":"time_series","hide":false,"intervalFactor":1,"refId":"A","step":900}],"thresholds":"70,90","title":"Total RootFS","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","decimals":2,"description":"System Load (1m avg)","format":"short","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":16,"y":6},"id":17,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"maxPerRow":12,"nullPointMode":"null","nullText":null,"options":{},"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"node_load1{instance=~\"^$node\"}","hide":false,"intervalFactor":1,"refId":"A","step":900}],"thresholds":"","title":"System Load (1m avg)","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","decimals":1,"description":"System uptime","format":"s","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":4,"x":20,"y":6},"hideTimeOverride":true,"id":15,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"null","nullText":null,"options":{},"postfix":"s","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"node_time_seconds{instance=~\"^$node\"} - node_boot_time_seconds{instance=~\"^$node\"}","intervalFactor":2,"refId":"A","step":1800},{"expr":"wmi_os_time{instance=~\"$node\"} - wmi_system_system_up_time{instance=~\"$node\"}","refId":"B"}],"thresholds":"","title":"Uptime","type":"singlestat","valueFontSize":"50%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":9},"id":263,"panels":[],"repeat":null,"title":"Basic CPU / Mem Graph","type":"row"},{"aliasColors":{"Busy":"#EAB839","Busy Iowait":"#890F02","Busy other":"#1F78C1","Idle":"#052B51","Idle - Waiting for something to happen":"#052B51","guest":"#9AC48A","idle":"#052B51","iowait":"#EAB839","irq":"#BF1B00","nice":"#C15C17","softirq":"#E24D42","steal":"#FCE2DE","system":"#508642","user":"#5195CE"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"description":"Basic CPU info","fill":4,"fillGradient":0,"gridPos":{"h":7,"w":12,"x":0,"y":10},"id":77,"legend":{"alignAsTable":false,"avg":false,"current":false,"max":false,"min":false,"rightSide":false,"show":true,"sideWidth":250,"sort":null,"sortDesc":null,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","options":{"dataLinks":[]},"percentage":true,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"Busy Iowait","color":"#890F02"},{"alias":"Idle","color":"#7EB26D"},{"alias":"Busy System","color":"#EAB839"},{"alias":"Busy User","color":"#0A437C"},{"alias":"Busy Other","color":"#6D1F62"}],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"sum by (mode)(rate(node_cpu_seconds_total{mode=\"system\",instance=~\"^$node\"}[5m]))) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Busy System","refId":"B","step":240},{"expr":"sum by (instance)(rate(node_cpu_seconds_total{mode='user',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Busy User","refId":"D","step":240},{"expr":"sum by (instance)(rate(node_cpu_seconds_total{mode='iowait',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Busy Iowait","refId":"E","step":240},{"expr":"sum by (instance)(rate(node_cpu_seconds_total{mode=~\".*irq\",instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Busy IRQs","refId":"F","step":240},{"expr":"sum (rate(node_cpu_seconds_total{mode!='idle',mode!='user',mode!='system',mode!='iowait',mode!='irq',mode!='softirq',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Busy Other","refId":"A","step":240},{"expr":"sum by (mode)(rate(node_cpu_seconds_total{mode='idle',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Idle","refId":"C","step":240},{"expr":"sum by (mode) (irate(node_cpu_seconds_total{instance=~\"^$node\"}[5m]))","hide":false,"legendFormat":"{{mode}}","refId":"G"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"CPU Basic","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"","logBase":1,"max":"100","min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","SWAP Used":"#BF1B00","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap Used":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"description":"Basic memory usage","fill":4,"fillGradient":0,"gridPos":{"h":7,"w":12,"x":12,"y":10},"id":78,"legend":{"alignAsTable":false,"avg":false,"current":false,"max":false,"min":false,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"RAM Total","color":"#E0F9D7","fill":0,"stack":false},{"alias":"RAM Cache + Buffer","color":"#052B51"},{"alias":"RAM Free","color":"#7EB26D"},{"alias":"Avaliable","color":"#DEDAF7","fill":0,"stack":false}],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"node_memory_MemTotal_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"RAM Total","refId":"A","step":240},{"expr":"node_memory_MemTotal_bytes{instance=~\"^$node\"} - node_memory_MemFree_bytes{instance=~\"^$node\"} - (node_memory_Cached_bytes{instance=~\"^$node\"} + node_memory_Buffers_bytes{instance=~\"^$node\"})","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"RAM Used","refId":"D","step":240},{"expr":"node_memory_Cached_bytes{instance=~\"^$node\"} + node_memory_Buffers_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"RAM Cache + Buffer","refId":"B","step":240},{"expr":"node_memory_MemAvailable_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"RAM Available","refId":"F","step":240},{"expr":"(node_memory_SwapTotal_bytes{instance=~\"^$node\"} - node_memory_SwapFree_bytes{instance=~\"^$node\"})","format":"time_series","intervalFactor":2,"legendFormat":"SWAP Used","refId":"G","step":240}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Memory Basic","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":false,"gridPos":{"h":1,"w":24,"x":0,"y":17},"id":264,"panels":[],"repeat":null,"title":"Basic Net / Disk Info","type":"row"},{"aliasColors":{"Recv_bytes_eth2":"#7EB26D","Recv_bytes_lo":"#0A50A1","Recv_drop_eth2":"#6ED0E0","Recv_drop_lo":"#E0F9D7","Recv_errs_eth2":"#BF1B00","Recv_errs_lo":"#CCA300","Trans_bytes_eth2":"#7EB26D","Trans_bytes_lo":"#0A50A1","Trans_drop_eth2":"#6ED0E0","Trans_drop_lo":"#E0F9D7","Trans_errs_eth2":"#BF1B00","Trans_errs_lo":"#CCA300","recv_bytes_lo":"#0A50A1","recv_drop_eth0":"#99440A","recv_drop_lo":"#967302","recv_errs_eth0":"#BF1B00","recv_errs_lo":"#890F02","trans_bytes_eth0":"#7EB26D","trans_bytes_lo":"#0A50A1","trans_drop_eth0":"#99440A","trans_drop_lo":"#967302","trans_errs_eth0":"#BF1B00","trans_errs_lo":"#890F02"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"Basic network info per interface","fill":4,"fillGradient":0,"gridPos":{"h":7,"w":12,"x":0,"y":18},"id":74,"legend":{"alignAsTable":false,"avg":false,"current":false,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*/","color":"#7EB26D"},{"alias":"/.*eth0.*/","color":"#EAB839"},{"alias":"/.*eth1.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*/","color":"#EF843C"},{"alias":"/.*eth3.*/","color":"#E24D42"},{"alias":"/.*eth4.*/","color":"#1F78C1"},{"alias":"/.*eth5.*/","color":"#BA43A9"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"rate(node_network_receive_bytes_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"recv {{device}}","refId":"A","step":240},{"expr":"rate(node_network_transmit_bytes_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"trans {{device}} ","refId":"B","step":240}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Network Traffic Basic","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"pps","label":"","logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":3,"description":"Disk space used of all filesystems mounted","fill":4,"fillGradient":0,"gridPos":{"h":7,"w":12,"x":12,"y":18},"height":"","id":152,"legend":{"alignAsTable":false,"avg":false,"current":false,"max":false,"min":false,"rightSide":false,"show":true,"sort":"current","sortDesc":false,"total":false,"values":false},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"100 - ((node_filesystem_avail_bytes{instance=~\"^$node\",device!~'rootfs'} * 100) / node_filesystem_size_bytes{instance=~\"^$node\",device!~'rootfs'})","format":"time_series","intervalFactor":2,"legendFormat":"{{mountpoint}}","refId":"A","step":240},{"expr":"(sum (wmi_logical_disk_free_bytes{instance=~\"$node\", volume !~ \"(HarddiskVolume.+|[A-Z]:.+)\"}) by (volume) / sum(wmi_logical_disk_size_bytes{instance=~\"$node\",volume=~\"^[A-Z]:.*$\"}) by (volume)) * 100","legendFormat":"{{volume}}","refId":"B"}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Disk Space Used Basic","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"percent","label":null,"logBase":1,"max":"100","min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":25},"id":265,"panels":[{"aliasColors":{"Idle - Waiting for something to happen":"#052B51","guest":"#9AC48A","idle":"#052B51","iowait":"#EAB839","irq":"#BF1B00","nice":"#C15C17","softirq":"#E24D42","steal":"#FCE2DE","system":"#508642","user":"#5195CE"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"description":"","fill":4,"gridPos":{"h":12,"w":12,"x":0,"y":26},"id":3,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":250,"sort":null,"sortDesc":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":true,"pointradius":5,"points":false,"renderer":"flot","repeat":null,"seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"sum by (mode)(irate(node_cpu_seconds_total{instance=~\"^$node\"}[5m])) * 100","legendFormat":"{{mode}}","refId":"J"},{"expr":"sum by (mode)(irate(node_cpu_seconds_total{mode=\"system\",instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"interval":"10s","intervalFactor":2,"legendFormat":"System - Processes executing in kernel mode","refId":"A","step":20},{"expr":"sum by (mode)(irate(node_cpu_seconds_total{mode='user',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"User - Normal processes executing in user mode","refId":"B","step":240},{"expr":"sum by (mode)(irate(node_cpu_seconds_total{mode='nice',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Nice - Niced processes executing in user mode","refId":"C","step":240},{"expr":"sum by (mode)(irate(node_cpu_seconds_total{mode='idle',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Idle - Waiting for something to happen","refId":"F","step":240},{"expr":"sum by (mode)(irate(node_cpu_seconds_total{mode='iowait',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Iowait - Waiting for I/O to complete","refId":"D","step":240},{"expr":"sum by (mode)(irate(node_cpu_seconds_total{mode='irq',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Irq - Servicing interrupts","refId":"G","step":240},{"expr":"sum by (mode)(irate(node_cpu_seconds_total{mode='softirq',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Softirq - Servicing softirqs","refId":"H","step":240},{"expr":"sum by (mode)(irate(node_cpu_seconds_total{mode='steal',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Steal - Time spent in other operating systems when running in a virtualized environment","refId":"E","step":240},{"expr":"sum by (mode)(irate(node_cpu_seconds_total{mode='guest',instance=~\"^$node\"}[5m])) * 100","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Guest - Time spent running a virtual CPU for a guest operating system","refId":"I","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"CPU","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"transparent":false,"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Percentage","logBase":1,"max":"100","min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap - Swap memory usage":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839","Unused - Free memory unasigned":"#052B51"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"description":"","fill":4,"gridPos":{"h":12,"w":12,"x":12,"y":26},"id":24,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"sort":null,"sortDesc":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Harware Corrupted - *./","stack":false}],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"node_memory_MemTotal_bytes{instance=~\"^$node\"} - node_memory_MemFree_bytes{instance=~\"^$node\"} - node_memory_Buffers_bytes{instance=~\"^$node\"} - node_memory_Cached_bytes{instance=~\"^$node\"} - node_memory_Slab_bytes{instance=~\"^$node\"} - node_memory_PageTables_bytes{instance=~\"^$node\"} - node_memory_SwapCached_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Apps - Memory used by user-space applications","refId":"Q","step":240},{"expr":"node_memory_PageTables_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"PageTables - Memory used to map between virtual and physical memory addresses","refId":"G","step":240},{"expr":"node_memory_SwapCached_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"SwapCache - Memory that keeps track of pages that have been fetched from swap but not yet been modified","refId":"F","step":240},{"expr":"node_memory_Slab_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Slab - Memory used by the kernel to cache data structures for its own use (caches like inode, dentry, etc)","refId":"E","step":240},{"expr":"node_memory_Cached_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Cache - Parked file data (file content) cache","refId":"C","step":240},{"expr":"node_memory_Buffers_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Buffers - Block device (e.g. harddisk) cache","refId":"B","step":240},{"expr":"node_memory_MemFree_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Unused - Free memory unasigned","refId":"D","step":240},{"expr":"(node_memory_SwapTotal_bytes{instance=~\"^$node\"} - node_memory_SwapFree_bytes{instance=~\"^$node\"})","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Swap - Swap space used","refId":"I","step":240},{"expr":"node_memory_HardwareCorrupted_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working","refId":"O","step":240},{"expr":"wmi_os_virtual_memory_bytes{instance=~\"$node\"} > 0","legendFormat":"Virtual","refId":"A"},{"expr":"wmi_cs_physical_memory_bytes{instance=~\"$node\"} > 0","legendFormat":"Physical","refId":"H"},{"expr":"wmi_os_physical_memory_free_bytes{instance=~\"$node\"} > 0","legendFormat":"Free","refId":"J"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Stack","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"receive_packets_eth0":"#7EB26D","receive_packets_lo":"#E24D42","transmit_packets_eth0":"#7EB26D","transmit_packets_lo":"#E24D42"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":4,"gridPos":{"h":12,"w":12,"x":0,"y":38},"id":84,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*/","color":"#7EB26D"},{"alias":"/.*eth0.*/","color":"#EAB839"},{"alias":"/.*eth1.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*/","color":"#EF843C"},{"alias":"/.*eth3.*/","color":"#E24D42"},{"alias":"/.*eth4.*/","color":"#1F78C1"},{"alias":"/.*eth5.*/","color":"#BA43A9"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_receive_bytes_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Receive","refId":"O","step":240},{"expr":"irate(node_network_transmit_bytes_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Transmit","refId":"P","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":"Bytes out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":3,"description":"","fill":4,"gridPos":{"h":12,"w":12,"x":12,"y":38},"height":"","id":156,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":false,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_filesystem_size_bytes{instance=~\"^$node\",device!~'rootfs'} - node_filesystem_avail_bytes{instance=~\"^$node\",device!~'rootfs'}","format":"time_series","intervalFactor":2,"legendFormat":"{{mountpoint}}","refId":"A","step":240},{"expr":"wmi_logical_disk_free_bytes{instance=~\"$node\", volume !~ \"(HarddiskVolume.+|[A-Z]:.+)\"}","legendFormat":"{{volume}}","refId":"B"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disk Space Used","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":12,"w":12,"x":0,"y":50},"id":229,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Read.*/","transform":"negative-Y"},{"alias":"/.*sda_.*/","color":"#7EB26D"},{"alias":"/.*sdb_.*/","color":"#EAB839"},{"alias":"/.*sdc_.*/","color":"#6ED0E0"},{"alias":"/.*sdd_.*/","color":"#EF843C"},{"alias":"/.*sde_.*/","color":"#E24D42"},{"alias":"/.*sda1.*/","color":"#584477"},{"alias":"/.*sda2_.*/","color":"#BA43A9"},{"alias":"/.*sda3_.*/","color":"#F4D598"},{"alias":"/.*sdb1.*/","color":"#0A50A1"},{"alias":"/.*sdb2.*/","color":"#BF1B00"},{"alias":"/.*sdb3.*/","color":"#E0752D"},{"alias":"/.*sdc1.*/","color":"#962D82"},{"alias":"/.*sdc2.*/","color":"#614D93"},{"alias":"/.*sdc3.*/","color":"#9AC48A"},{"alias":"/.*sdd1.*/","color":"#65C5DB"},{"alias":"/.*sdd2.*/","color":"#F9934E"},{"alias":"/.*sdd3.*/","color":"#EA6460"},{"alias":"/.*sde1.*/","color":"#E0F9D7"},{"alias":"/.*sdd2.*/","color":"#FCEACA"},{"alias":"/.*sde3.*/","color":"#F9E2D2"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_reads_completed_total{instance=~\"^$node\",device=~\"[a-z]*[a-z]\"}[5m])","intervalFactor":4,"legendFormat":"{{device}} - Reads completed","refId":"A","step":480},{"expr":"irate(node_disk_writes_completed_total{instance=~\"^$node\",device=~\"[a-z]*[a-z]\"}[5m])","intervalFactor":2,"legendFormat":"{{device}} - Writes completed","refId":"B","step":240},{"expr":"irate(wmi_logical_disk_writes_total{instance=~\"$node\", volume !~ \"(HarddiskVolume.+|[A-Z]:.+)\"}[5m])","legendFormat":"{{volume}} - Writes completed","refId":"C"},{"expr":"irate(wmi_logical_disk_reads_total{instance=~\"$node\", volume !~ \"(HarddiskVolume.+|[A-Z]:.+)\"}[5m])","legendFormat":"{{volume}} - Reads completed","refId":"D"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disk IOps","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"iops","label":"IO read (-) / write (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"io time":"#890F02"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":3,"description":"","fill":4,"gridPos":{"h":12,"w":12,"x":12,"y":50},"id":42,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":null,"sortDesc":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*read*./","transform":"negative-Y"},{"alias":"/.*sda.*/","color":"#7EB26D"},{"alias":"/.*sdb.*/","color":"#EAB839"},{"alias":"/.*sdc.*/","color":"#6ED0E0"},{"alias":"/.*sdd.*/","color":"#EF843C"},{"alias":"/.*sde.*/","color":"#E24D42"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_read_bytes_total{instance=~\"^$node\", device!~\"HarddiskVolume.+\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{device}} - Successfully read bytes","refId":"A","step":240},{"expr":"irate(node_disk_written_bytes_total{instance=~\"^$node\", device!~\"HarddiskVolume.+\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{device}} - Successfully written bytes","refId":"B","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"I/O Usage Read / Write","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":false,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes read (-) / write (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"ms","label":"","logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"io time":"#890F02"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":3,"description":"","fill":4,"gridPos":{"h":12,"w":12,"x":0,"y":62},"id":127,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":null,"sortDesc":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_io_time_seconds_total{instance=~\"^$node\",device=~\"[a-z]*[a-z]\"} [5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{device}} - Milliseconds spent doing I/Os","refId":"C","step":240},{"expr":"irate(wmi_logical_disk_read_seconds_total{instance=~\"^$node\",device!~\"HarddiskVolume.+\"} [5m]) + irate(wmi_logical_disk_write_seconds_total{instance=~\"^$node\",device!~\"HarddiskVolume.+\"} [5m])","legendFormat":"{{device}} - Milliseconds spent doing I/Os","refId":"A"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"I/O Usage Times","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":false,"values":[]},"yaxes":[{"format":"ms","label":"Milliseconds","logBase":1,"max":null,"min":"0","show":true},{"format":"ms","label":"","logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"CPU Memory Net Disk","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":26},"id":266,"panels":[{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":63},"id":136,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"node_memory_Inactive_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Inactive - Memory which has been less recently used. It is more eligible to be reclaimed for other purposes","refId":"K","step":4},{"expr":"node_memory_Active_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Active - Memory that has been used more recently and usually not reclaimed unless absolutely necessary","refId":"J","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Active / Inactive","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":63},"id":135,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Committed_AS - *./"},{"alias":"/.*CommitLimit - *./","color":"#BF1B00","fill":0}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_Committed_AS_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Committed_AS - Amount of memory presently allocated on the system","refId":"A","step":4},{"expr":"node_memory_CommitLimit_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"CommitLimit - Amount of memory currently available to be allocated on the system","refId":"M","step":4},{"expr":"wmi_memory_committed_bytes{instance=~\"^$node\"}","legendFormat":"Committed_AS - Amount of memory presently allocated on the system","refId":"B"},{"expr":"wmi_memory_commit_limit{instance=~\"^$node\"}","legendFormat":"CommitLimit - Amount of memory currently available to be allocated on the system","refId":"C"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Commited","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":73},"id":191,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"node_memory_Inactive_file_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Inactive_file - File-backed memory on inactive LRU list","refId":"A","step":4},{"expr":"node_memory_Inactive_anon_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Inactive_anon - Anonymous and swap cache on inactive LRU list, including tmpfs (shmem)","refId":"D","step":4},{"expr":"node_memory_Active_file_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Active_file - File-backed memory on active LRU list","refId":"B","step":4},{"expr":"node_memory_Active_anon_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Active_anon - Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Active / Inactive Detail","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#052B51","Total RAM + Swap":"#052B51","Total Swap":"#614D93","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":73},"id":130,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_Writeback_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Writeback - Memory which is actively being written back to disk","refId":"J","step":4},{"expr":"node_memory_WritebackTmp_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"WritebackTmp - Memory used by FUSE for temporary writeback buffers","refId":"K","step":4},{"expr":"node_memory_Dirty_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Dirty - Memory which is waiting to get written back to the disk","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Writeback and Dirty","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":83},"id":138,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_Mapped_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Mapped - Used memory in mapped pages files which have been mmaped, such as libraries","refId":"A","step":4},{"expr":"node_memory_Shmem_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Shmem - Used shared memory (shared between several processes, thus including RAM disks)","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Shared and Mapped","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#052B51","Total RAM + Swap":"#052B51","Total Swap":"#614D93","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":83},"id":131,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"node_memory_SUnreclaim_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"SUnreclaim - Part of Slab, that cannot be reclaimed on memory pressure","refId":"O","step":4},{"expr":"node_memory_SReclaimable_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"SReclaimable - Part of Slab, that might be reclaimed, such as caches","refId":"N","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Slab","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#052B51","Total RAM + Swap":"#052B51","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":93},"id":70,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_VmallocChunk_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"VmallocChunk - Largest contigious block of vmalloc area which is free","refId":"H","step":4},{"expr":"node_memory_VmallocTotal_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"VmallocTotal - Total size of vmalloc memory area","refId":"I","step":4},{"expr":"node_memory_VmallocUsed_bytes{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"VmallocUsed - Amount of vmalloc area which is used","refId":"O","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Vmalloc","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":93},"id":159,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_Bounce_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Bounce - Memory used for block device bounce buffers","refId":"N","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Bounce","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#052B51","Total RAM + Swap":"#052B51","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":103},"id":129,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Inactive *./","transform":"negative-Y"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_AnonHugePages_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"AnonHugePages - Memory in anonymous huge pages","refId":"D","step":4},{"expr":"node_memory_AnonPages_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"AnonPages - Memory in user pages not backed by files","refId":"G","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Anonymous","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":103},"id":160,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_KernelStack_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"KernelStack - Kernel memory stack. This is not reclaimable","refId":"N","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Kernel","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#806EB7","Total RAM + Swap":"#806EB7","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":113},"id":140,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_HugePages_Free{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"HugePages_Free - Huge pages in the pool that are not yet allocated","refId":"I","step":4},{"expr":"node_memory_HugePages_Rsvd{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"HugePages_Rsvd - Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made","refId":"J","step":4},{"expr":"node_memory_HugePages_Surp{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"HugePages_Surp - Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages","refId":"K","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory HugePages Counter","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#806EB7","Total RAM + Swap":"#806EB7","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":113},"id":71,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_HugePages_Total{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"HugePages - Total size of the pool of huge pages","refId":"L","step":4},{"expr":"node_memory_Hugepagesize_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Hugepagesize - Huge Page size","refId":"D","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory HugePages Size","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":"","logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#052B51","Total RAM + Swap":"#052B51","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":123},"id":128,"legend":{"alignAsTable":true,"avg":true,"current":false,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_DirectMap1G{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"DirectMap1G - Amount of pages mapped as this size","refId":"J","step":4},{"expr":"node_memory_DirectMap2M_bytes{instance=~\"^$node\"}","format":"time_series","interval":"","intervalFactor":2,"legendFormat":"DirectMap2M - Amount of pages mapped as this size","refId":"K","step":4},{"expr":"node_memory_DirectMap4k_bytes{instance=~\"^$node\"}","format":"time_series","interval":"","intervalFactor":2,"legendFormat":"DirectMap4K - Amount of pages mapped as this size","refId":"L","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory DirectMap","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":123},"id":137,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_Unevictable_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Unevictable - Amount of unevictable memory that can't be swapped out for a variety of reasons","refId":"P","step":4},{"expr":"node_memory_Mlocked_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"MLocked - Size of pages locked to memory using the mlock() system call","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Unevictable and MLocked","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#052B51","Total RAM + Swap":"#052B51","Total Swap":"#614D93","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":133},"id":132,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_memory_NFS_Unstable_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"NFS Unstable - Memory in NFS pages sent to the server, but not yet commited to the storage","refId":"L","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory NFS","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Memory Detail Meminfo","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":27},"id":267,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":134},"id":176,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*out/","transform":"negative-Y"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgpgin{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pagesin - Page in operations","refId":"A","step":4},{"expr":"irate(node_vmstat_pgpgout{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pagesout - Page out operations","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Pages In / Out","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":134},"id":22,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*out/","transform":"negative-Y"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pswpin{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pswpin - Pages swapped in","refId":"A","step":4},{"expr":"irate(node_vmstat_pswpout{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pswpout - Pages swapped out","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Pages Swap In / Out","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":144},"id":197,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgdeactivate{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgdeactivate - Pages moved from active to inactive","refId":"B","step":4},{"expr":"irate(node_vmstat_pgfree{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgfree - Page free operations","refId":"D","step":4},{"expr":"irate(node_vmstat_pgactivate{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgactivate - Pages moved from inactive to active","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Operations","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":144},"id":175,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"Pgfault - Page major and minor fault operations","fill":0,"stack":false}],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgfault{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgfault - Page major and minor fault operations","refId":"C","step":4},{"expr":"irate(node_vmstat_pgmajfault{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgmajfault - Major page fault operations","refId":"F","step":4},{"expr":"irate(node_vmstat_pgfault{instance=~\"^$node\"}[5m]) - irate(node_vmstat_pgmajfault{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgminfault - Minnor page fault operations","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Faults","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Faults","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":154},"id":172,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_kswapd_inodesteal{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Kswapd_inodesteal - Pages reclaimed via kswapd inode freeing","refId":"A","step":4},{"expr":"irate(node_vmstat_pginodesteal{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgindesteal - Pages reclaimed via inode freeing","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Pages Reclaimed","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":154},"id":184,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pageoutrun{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pageoutrun - Kswapd calls to page reclaim","refId":"A","step":4},{"expr":"irate(node_vmstat_allocstall{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"Allocstall - Direct reclaim calls","refId":"B","step":4},{"expr":"irate(node_vmstat_zone_reclaim_failed{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"Zone_reclaim_failed - Zone reclaim failures","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Calls Reclaimed","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Calls","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":164},"id":200,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgrotated{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgrotated - Pages rotated to tail of the LRU","refId":"D","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Rotate","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":164},"id":170,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_drop_pagecache{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Drop_pagecache - Calls to drop page cache pages","refId":"N","step":4},{"expr":"node_vmstat_drop_slab{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Drop_slab - Calls to drop slab cache pages","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Drop","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Calls","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":174},"id":183,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_slabs_scanned{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Slabs_scanned - Slab pages scanned","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Scan Slab","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":174},"id":181,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_unevictable_pgs_cleared{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Unevictable_pgs_cleared - Unevictable pages cleared","refId":"B","step":4},{"expr":"irate(node_vmstat_unevictable_pgs_culled{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Unevictable_pgs_culled - Unevictable pages culled","refId":"C","step":4},{"expr":"irate(node_vmstat_unevictable_pgs_mlocked{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Unevictable_pgs_mlocked - Unevictable pages mlocked","refId":"D","step":4},{"expr":"irate(node_vmstat_unevictable_pgs_munlocked{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Unevictable_pgs_munlocked - Unevictable pages munlocked","refId":"E","step":4},{"expr":"irate(node_vmstat_unevictable_pgs_rescued{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Unevictable_pgs_rescued- Unevictable pages rescued","refId":"F","step":4},{"expr":"irate(node_vmstat_unevictable_pgs_scanned{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Unevictable_pgs_scanned - Unevictable pages scanned","refId":"G","step":4},{"expr":"irate(node_vmstat_unevictable_pgs_stranded{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"unevictable_pgs_stranded - Unevictable pages stranded","refId":"H","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Unevictable Pages","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":184},"id":174,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgalloc_dma{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgalloc_dma - Dma mem page allocations","refId":"A","step":4},{"expr":"irate(node_vmstat_pgalloc_dma32{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgalloc_dma32 - Dma32 mem page allocations","refId":"B","step":4},{"expr":"irate(node_vmstat_pgalloc_movable{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgalloc_movable - Movable mem page allocations","refId":"C","step":4},{"expr":"irate(node_vmstat_pgalloc_normal{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgalloc_normal - Normal mem page allocations","refId":"D","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Allocation","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":184},"id":177,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgrefill_dma{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgrefill_dma - Dma mem pages inspected in refill_inactive_zone","refId":"B","step":4},{"expr":"irate(node_vmstat_pgrefill_dma32{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgrefill_dma32 - Dma32 mem pages inspected in refill_inactive_zone","refId":"C","step":4},{"expr":"irate(node_vmstat_pgrefill_movable{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgrefill_movable - Movable mem pages inspected in refill_inactive_zone","refId":"D","step":4},{"expr":"irate(node_vmstat_pgrefill_normal{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgrefill_normal - Normal mem pages inspected in refill_inactive_zone","refId":"E","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Refill","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":194},"id":179,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgsteal_direct_dma{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgsteal_direct_dma - Dma mem pages stealed","refId":"B","step":4},{"expr":"irate(node_vmstat_pgsteal_direct_dma32{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgsteal_direct_dma32 - Dma32 mem pages scanned","refId":"C","step":4},{"expr":"irate(node_vmstat_pgsteal_direct_movable{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgsteal_direct_movable - Movable mem pages scanned","refId":"D","step":4},{"expr":"irate(node_vmstat_pgsteal_direct_normal{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgsteal_direct_normal - Normal mem pages scanned","refId":"E","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Steal Direct","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":194},"id":198,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgsteal_kswapd_dma{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgsteal_kswapd_dma - Dma mem pages scanned by kswapd","refId":"F","step":4},{"expr":"irate(node_vmstat_pgsteal_kswapd_dma32{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgsteal_kswapd_dma32 - Dma32 mem pages scanned by kswapd","refId":"G","step":4},{"expr":"irate(node_vmstat_pgsteal_kswapd_movable{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgsteal_kswapd_movable - Movable mem pages scanned by kswapd","refId":"H","step":4},{"expr":"irate(node_vmstat_pgsteal_kswapd_normal{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgsteal_kswapd_normal - Normal mem pages scanned by kswapd","refId":"I","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Steal Kswapd","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":204},"id":192,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgscan_direct_dma{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgscan_direct_dma - Dma mem pages scanned","refId":"A","step":4},{"expr":"irate(node_vmstat_pgscan_direct_dma32{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgscan_direct_dma32 - Dma32 mem pages scanned","refId":"C","step":4},{"expr":"irate(node_vmstat_pgscan_direct_movable{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgscan_direct_movable - Movable mem pages scanned","refId":"D","step":4},{"expr":"irate(node_vmstat_pgscan_direct_normal{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgscan_direct_normal - Normal mem pages scanned","refId":"E","step":4},{"expr":"irate(node_vmstat_pgscan_direct_throttle{instance=~\"^$node\"}[5m])","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"Pgscan_direct_throttle - ","refId":"F","step":2}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Scan Direct","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":204},"id":178,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_pgscan_kswapd_dma{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgscan_kswapd_dma - Dma mem pages scanned by kswapd","refId":"B","step":4},{"expr":"irate(node_vmstat_pgscan_kswapd_dma32{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgscan_kswapd_dma32 - Dma32 mem pages scanned by kswapd","refId":"G","step":4},{"expr":"irate(node_vmstat_pgscan_kswapd_movable{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgscan_kswapd_movable - Movable mem pages scanned by kswapd","refId":"H","step":4},{"expr":"irate(node_vmstat_pgscan_kswapd_normal{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgscan_kswapd_normal - Normal mem pages scanned by kswapd","refId":"I","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Scan Kswapd","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#052B51","Total RAM + Swap":"#052B51","Total Swap":"#614D93","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":214},"id":169,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*fail*./","color":"#890F02"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_compact_free_scanned{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Compact_free_scanned - Pages scanned for freeing by compaction daemon","refId":"B","step":4},{"expr":"irate(node_vmstat_compact_isolated{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Compact_isolated - Page isolations for memory compaction","refId":"C","step":4},{"expr":"irate(node_vmstat_compact_migrate_scanned{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Compact_migrate_scanned - Pages scanned for migration by compaction daemon","refId":"D","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Compact","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Active":"#99440A","Buffers":"#58140C","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Dirty":"#6ED0E0","Free":"#B7DBAB","Inactive":"#EA6460","Mapped":"#052B51","PageTables":"#0A50A1","Page_Tables":"#0A50A1","Slab_Cache":"#EAB839","Swap":"#BF1B00","Swap_Cache":"#C15C17","Total":"#511749","Total RAM":"#052B51","Total RAM + Swap":"#052B51","Total Swap":"#614D93","VmallocUsed":"#EA6460"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":214},"id":189,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":null,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*fail*./","color":"#890F02"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_compact_fail{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Compact_fail - Unsuccessful compactions for high order allocations","refId":"A","step":4},{"expr":"irate(node_vmstat_compact_stall{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Compact_stall - Failures to even start compacting","refId":"E","step":4},{"expr":"irate(node_vmstat_compact_success{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Compact_sucess - Successful compactions for high order allocations","refId":"F","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Compactions","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Compactions","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":224},"id":190,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_kswapd_high_wmark_hit_quickly{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Kswapd_high_wmark_hit_quickly - Times high watermark reached quickly","refId":"N","step":4},{"expr":"node_vmstat_kswapd_low_wmark_hit_quickly{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Kswapd_low_wmark_hit_quickly - Times low watermark reached quickly","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Kswapd Watermark","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":224},"id":171,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_htlb_buddy_alloc_fail{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Htlb_buddy_alloc_fail - Huge TLB page buddy allocation failures","refId":"N","step":4},{"expr":"node_vmstat_htlb_buddy_alloc_success{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Htlb_buddy_alloc_success - Huge TLB page buddy allocation successes","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Buddy Alloc","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Allocations","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":234},"id":173,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_numa_foreign{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_foreign - Foreign NUMA zone allocations","refId":"A","step":4},{"expr":"irate(node_vmstat_numa_hit{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_hit - Successful allocations from preferred NUMA zone","refId":"D","step":4},{"expr":"irate(node_vmstat_numa_interleave{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_interleave - Interleaved NUMA allocations in each zone for each NUMA node","refId":"F","step":4},{"expr":"irate(node_vmstat_numa_local{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_local - Successful allocations from local NUMA zone","refId":"G","step":4},{"expr":"irate(node_vmstat_numa_miss{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_miss - Unsuccessful allocations from preferred NUMA zona","refId":"H","step":4},{"expr":"irate(node_vmstat_numa_other{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_other - Unsuccessful allocations from local NUMA zone","refId":"I","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Numa Allocations","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Allocations","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":234},"id":193,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Numa_pages_migrated - *./","fill":0,"stack":false}],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_numa_pages_migrated{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_pages_migrated - NUMA page migrations","refId":"J","step":4},{"expr":"irate(node_vmstat_pgmigrate_fail{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgmigrate_fail - Unsuccessful NUMA page migrations","refId":"A","step":4},{"expr":"irate(node_vmstat_pgmigrate_success{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Pgmigrate_success - Successful NUMA page migrations","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Numa Page Migrations","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":244},"id":194,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_numa_hint_faults{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_hint_faults - NUMA hint faults trapped","refId":"B","step":4},{"expr":"irate(node_vmstat_numa_hint_faults_local{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_hint_faults_local - Hinting faults to local nodes","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Numa Hints","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"HInts","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":244},"id":196,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":2,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_numa_pte_updates{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Numa_pte_updates - NUMA page table entry updates","refId":"K","step":4},{"expr":"irate(node_vmstat_numa_huge_pte_updates{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"Numa_huge_pte_updates - NUMA huge page table entry updates","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Numa Table Updates","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Updates","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":254},"id":199,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_thp_split{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Thp_split - Transparent huge page splits","refId":"F","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory THP Splits","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Splits","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":254},"id":182,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_workingset_activate{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Workingset_activate - Page activations to form the working set","refId":"C","step":4},{"expr":"irate(node_vmstat_workingset_nodereclaim{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Workingset_nodereclaim - NUMA node working set page reclaims","refId":"D","step":4},{"expr":"irate(node_vmstat_workingset_refault{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Workingset_refault - Refaults of previously evicted pages","refId":"E","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Workingset","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":264},"id":180,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_vmstat_thp_collapse_alloc{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Thp_collapse_alloc - Transparent huge page collapse allocations","refId":"A","step":4},{"expr":"irate(node_vmstat_thp_collapse_alloc_failed{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Thp_collapse_alloc_failed - Transparent huge page collapse allocation failures","refId":"C","step":4},{"expr":"irate(node_vmstat_thp_zero_page_alloc{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Thp_zero_page_alloc - Transparent huge page zeroed page allocations","refId":"G","step":4},{"expr":"irate(node_vmstat_thp_zero_page_alloc_failed{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Thp_zero_page_alloc_failed - Transparent huge page zeroed page allocation failures","refId":"H","step":4},{"expr":"irate(node_vmstat_thp_fault_alloc{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"Thp_fault_alloc - Transparent huge page fault allocations","refId":"B","step":4},{"expr":"irate(node_vmstat_thp_fault_fallback{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"Thp_fault_fallback - Transparent huge page fault fallbacks","refId":"D","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory THP Allocations","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Allocations","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Memory Detail Vmstat","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":28},"id":268,"panels":[{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":265},"id":185,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_active_anon{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Active_anon - Active anonymous memory pages","refId":"B","step":240},{"expr":"node_vmstat_nr_active_file{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Active_file - Active file memory memory pages","refId":"C","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Active","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":265},"id":228,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_inactive_anon{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Inactive_anon - Inactive anonymous memory pages in each zone for each NUMA node","refId":"A","step":240},{"expr":"node_vmstat_nr_inactive_file{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Inactive_file - Inactive file memory pages in each zone for each NUMA node","refId":"D","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Inactive","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":275},"id":188,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_slab_reclaimable{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Reclaimable - Instantaneous reclaimable slab pages","refId":"A","step":240},{"expr":"node_vmstat_nr_slab_unreclaimable{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Unreclaimable - Instantaneous unreclaimable slab pages","refId":"C","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Reclaimed / Unreclaimed","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":275},"id":186,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_free_pages{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Free_pages - Free pages","refId":"B","step":240},{"expr":"node_vmstat_nr_written{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Written - Pages written out in each zone for each NUMA node","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Free / Written","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":285},"id":218,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_dirty{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Dirty - Pages in dirty state","refId":"C","step":240},{"expr":"node_vmstat_nr_bounce{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Bounce - Bounce buffer pages","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Dirty / Bounce","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":285},"id":201,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_unevictable{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Unevictable - Unevictable pages","refId":"B","step":240},{"expr":"node_vmstat_nr_mlock{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Mlock - Pages under mlock","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Pages Unevictable / Mlock","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":295},"id":214,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_shmem{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Shmem - Shared memory pages","refId":"H","step":240},{"expr":"node_vmstat_nr_mapped{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Mapped - Mapped pagecache pages in each zone for each NUMA node","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Shmem / Mapped","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":295},"id":212,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_kernel_stack{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Kernel_stack - Pages of kernel stack","refId":"F","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Kernel_stack","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":305},"id":203,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_writeback{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Writeback - Writeback pages","refId":"G","step":240},{"expr":"node_vmstat_nr_writeback_temp{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Writeback_temp - Temporary writeback pages","refId":"H","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Pages Writeback","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":305},"id":205,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_file_pages{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"File_pages - File pagecache pages in each zone for each NUMA node","refId":"F","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page File_pages","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":315},"id":206,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_dirty_background_threshold{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Dirty_background_threshold - Background writeback threshold","refId":"D","step":240},{"expr":"node_vmstat_nr_dirty_threshold{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Dirty_threshold - Dirty throttling threshold","refId":"E","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Dirty Threshold","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":315},"id":208,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_unstable{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Unstable - Pages unstable state in each zone for each NUMA node","refId":"D","step":240},{"expr":"node_vmstat_nr_dirtied{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Dirtied - Pages entering dirty state in each zone for each NUMA node","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Unstable / Dirtied","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":325},"id":209,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_page_table_pages{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Page_table_pages - Page table pages in each zone for each NUMA node","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Page_table_pages","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":325},"id":217,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_alloc_batch{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Alloc_batch - Pages allocated to other zones due to insufficient memory for each zone for each NUMA node","refId":"D","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Alloc_batch","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":335},"id":213,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_isolated_anon{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Isolated_anon - Isolated anonymous memory pages in each zone for each NUMA node","refId":"D","step":240},{"expr":"node_vmstat_nr_isolated_file{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Isolated_file - Isolated file memory pages in each zone for each NUMA node","refId":"E","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Isolated","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":335},"id":216,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_anon_pages{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Anon_pages - Anonymous mapped pagecache pages in each zone for each NUMA node","refId":"E","step":240},{"expr":"node_vmstat_nr_anon_transparent_hugepages{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Anon_transparent_hugepages - Anonymous transparent huge pages in each zone for each NUMA node","refId":"F","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Anon","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"Apps":"#629E51","Buffers":"#614D93","Cache":"#6D1F62","Cached":"#511749","Committed":"#508642","Free":"#0A437C","Harware Corrupted - Amount of RAM that the kernel identified as corrupted / not working":"#CFFAFF","Inactive":"#584477","PageTables":"#0A50A1","Page_Tables":"#0A50A1","RAM_Free":"#E0F9D7","Slab":"#806EB7","Slab_Cache":"#E0752D","Swap":"#BF1B00","Swap_Cache":"#C15C17","Swap_Free":"#2F575E","Unused":"#EAB839"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":2,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":345},"id":204,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":350,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_vmstat_nr_free_cma{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Free_cma - Free Contiguous Memory Allocator pages in each zone for each NUMA node","refId":"G","step":240},{"expr":"node_vmstat_nr_vmscan_write{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Vmscan_write - Pages written by VM scanner from LRU","refId":"B","step":240},{"expr":"node_vmstat_nr_vmscan_immediate_reclaim{instance=~\"^$node\"}","intervalFactor":2,"legendFormat":"Immediate_reclaim - Prioritise for reclaim when writeback ends in each zone for each NUMA node","refId":"C","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Page Misc","tooltip":{"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Pages","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Memory Detail Vmstat Counters","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":29},"id":269,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":346},"id":8,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","repeat":null,"seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_context_switches_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Context switches","refId":"A","step":240},{"expr":"irate(node_intr_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Interrupts","refId":"B","step":240},{"expr":"irate(wmi_system_context_switches_total{instance=~\"^$node\"}[5m])","legendFormat":"Context switches","refId":"C"},{"expr":"irate(wmi_cpu_interrupts_total{instance=~\"^$node\"}[5m]) ","legendFormat":"Interrupts","refId":"D"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Context Switches / Interrupts","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":346},"id":7,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","repeat":null,"seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_load1{instance=~\"^$node\"}","format":"time_series","intervalFactor":4,"legendFormat":"Load 1m","refId":"A","step":480},{"expr":"node_load5{instance=~\"^$node\"}","format":"time_series","intervalFactor":4,"legendFormat":"Load 5m","refId":"B","step":480},{"expr":"node_load15{instance=~\"^$node\"}","format":"time_series","intervalFactor":4,"legendFormat":"Load 15m","refId":"C","step":480}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"System Load","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Load","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":356},"id":259,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Critical*./","color":"#E24D42","fill":0},{"alias":"/.*Max*./","color":"#EF843C","fill":0}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_interrupts_total{instance=~\"^$node\"}[5m])","format":"time_series","interval":"","intervalFactor":2,"legendFormat":"{{ type }} - {{ info }}","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Interrupts Detail","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":356},"id":64,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Max*./","color":"#890F02","fill":0}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"process_max_fds{instance=~\"^$node\"}","interval":"","intervalFactor":2,"legendFormat":"Maximum open file descriptors","refId":"A","step":240},{"expr":"process_open_fds{instance=~\"^$node\"}","interval":"","intervalFactor":2,"legendFormat":"Open file descriptors","refId":"B","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"File Descriptors","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Descriptors","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":366},"id":151,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_entropy_available_bits{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Entropy available to random number generators","refId":"C","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Entropy","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Entropy","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":366},"id":62,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_procs_blocked{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Processes blocked waiting for I/O to complete","refId":"A","step":240},{"expr":"node_procs_running{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Processes in runnable state","refId":"B","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Processes State","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Processes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":376},"id":148,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"rate(node_forks_total{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"Processes forks second","refId":"C","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Processes Forks","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Forks / sec","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":376},"id":149,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"process_virtual_memory_bytes{instance=~\"^$node\"}","interval":"","intervalFactor":2,"legendFormat":"Processes virtual memory size in bytes","refId":"C","step":240},{"expr":"process_resident_memory_bytes{instance=~\"^$node\"}","interval":"","intervalFactor":2,"legendFormat":"Processes resident memory size in bytes","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Processes Memory","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"decbytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":386},"id":168,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Variation*./","color":"#890F02"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_timex_sync_status{instance=~\"^$node\"}","format":"time_series","interval":"","intervalFactor":2,"legendFormat":"Is clock synchronized to a reliable server (1 = yes, 0 = no)","refId":"B","step":240},{"expr":"node_timex_frequency_adjustment_ratio{instance=~\"^$node\"}","format":"time_series","interval":"","intervalFactor":2,"legendFormat":"Local clock frequency adjustment","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Time Syncronized Status","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":386},"id":260,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Variation*./","color":"#890F02"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_timex_estimated_error_seconds{instance=~\"^$node\"}","format":"time_series","hide":false,"interval":"","intervalFactor":2,"legendFormat":"Estimated error in seconds","refId":"B","step":240},{"expr":"node_timex_offset_seconds{instance=~\"^$node\"}","format":"time_series","hide":false,"interval":"","intervalFactor":2,"legendFormat":"Time offset in between local system and reference clock","refId":"A","step":240},{"expr":"node_timex_maxerror_seconds{instance=~\"^$node\"}","format":"time_series","hide":false,"interval":"","intervalFactor":2,"legendFormat":"Maximum error in seconds","refId":"C","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Time Syncronized Drift","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"s","label":"Seconds","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":396},"id":158,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Critical*./","color":"#E24D42","fill":0},{"alias":"/.*Max*./","color":"#EF843C","fill":0}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_hwmon_temp_celsius{instance=~\"^$node\"}","format":"time_series","interval":"","intervalFactor":2,"legendFormat":"{{ chip }} {{ sensor }} temp","refId":"A","step":240},{"expr":"node_hwmon_temp_crit_alarm_celsius{instance=~\"^$node\"}","format":"time_series","hide":true,"interval":"","intervalFactor":2,"legendFormat":"{{ chip }} {{ sensor }} Critical Alarm","refId":"B","step":240},{"expr":"node_hwmon_temp_crit_celsius{instance=~\"^$node\"}","format":"time_series","interval":"","intervalFactor":2,"legendFormat":"{{ chip }} {{ sensor }} Critical","refId":"C","step":240},{"expr":"node_hwmon_temp_crit_hyst_celsius{instance=~\"^$node\"}","format":"time_series","hide":true,"interval":"","intervalFactor":2,"legendFormat":"{{ chip }} {{ sensor }} Critical Historical","refId":"D","step":240},{"expr":"node_hwmon_temp_max_celsius{instance=~\"^$node\"}","format":"time_series","hide":true,"interval":"","intervalFactor":2,"legendFormat":"{{ chip }} {{ sensor }} Max","refId":"E","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Hardware temperature monitor","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"celsius","label":"Temperature","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"System Detail","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":30},"id":270,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":397},"id":9,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","repeat":null,"seriesOverrides":[{"alias":"/.*Read.*/","transform":"negative-Y"},{"alias":"/.*sda_.*/","color":"#7EB26D"},{"alias":"/.*sdb_.*/","color":"#EAB839"},{"alias":"/.*sdc_.*/","color":"#6ED0E0"},{"alias":"/.*sdd_.*/","color":"#EF843C"},{"alias":"/.*sde_.*/","color":"#E24D42"},{"alias":"/.*sda1.*/","color":"#584477"},{"alias":"/.*sda2_.*/","color":"#BA43A9"},{"alias":"/.*sda3_.*/","color":"#F4D598"},{"alias":"/.*sdb1.*/","color":"#0A50A1"},{"alias":"/.*sdb2.*/","color":"#BF1B00"},{"alias":"/.*sdb3.*/","color":"#E0752D"},{"alias":"/.*sdc1.*/","color":"#962D82"},{"alias":"/.*sdc2.*/","color":"#614D93"},{"alias":"/.*sdc3.*/","color":"#9AC48A"},{"alias":"/.*sdd1.*/","color":"#65C5DB"},{"alias":"/.*sdd2.*/","color":"#F9934E"},{"alias":"/.*sdd3.*/","color":"#EA6460"},{"alias":"/.*sde1.*/","color":"#E0F9D7"},{"alias":"/.*sdd2.*/","color":"#FCEACA"},{"alias":"/.*sde3.*/","color":"#F9E2D2"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_reads_completed_total{instance=~\"^$node\"}[5m])","intervalFactor":4,"legendFormat":"{{device}} - Reads completed","refId":"A","step":8},{"expr":"irate(node_disk_writes_completed_total{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"{{device}} - Writes completed","refId":"B","step":4},{"expr":"irate(wmi_logical_disk_writes_total{instance=~\"$node\", volume !~ \"(HarddiskVolume.+|[A-Z]:.+)\"}[5m])","legendFormat":"{{volume}} - Writes completed","refId":"C"},{"expr":"irate(wmi_logical_disk_reads_total{instance=~\"$node\", volume !~ \"(HarddiskVolume.+|[A-Z]:.+)\"}[5m])","legendFormat":"{{volume}} - Reads completed","refId":"D"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disk IOps Completed","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"iops","label":"IO read (-) / write (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":397},"id":33,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Read.*/","transform":"negative-Y"},{"alias":"/.*sda_.*/","color":"#7EB26D"},{"alias":"/.*sdb_.*/","color":"#EAB839"},{"alias":"/.*sdc_.*/","color":"#6ED0E0"},{"alias":"/.*sdd_.*/","color":"#EF843C"},{"alias":"/.*sde_.*/","color":"#E24D42"},{"alias":"/.*sda1.*/","color":"#584477"},{"alias":"/.*sda2_.*/","color":"#BA43A9"},{"alias":"/.*sda3_.*/","color":"#F4D598"},{"alias":"/.*sdb1.*/","color":"#0A50A1"},{"alias":"/.*sdb2.*/","color":"#BF1B00"},{"alias":"/.*sdb3.*/","color":"#E0752D"},{"alias":"/.*sdc1.*/","color":"#962D82"},{"alias":"/.*sdc2.*/","color":"#614D93"},{"alias":"/.*sdc3.*/","color":"#9AC48A"},{"alias":"/.*sdd1.*/","color":"#65C5DB"},{"alias":"/.*sdd2.*/","color":"#F9934E"},{"alias":"/.*sdd3.*/","color":"#EA6460"},{"alias":"/.*sde1.*/","color":"#E0F9D7"},{"alias":"/.*sdd2.*/","color":"#FCEACA"},{"alias":"/.*sde3.*/","color":"#F9E2D2"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_read_bytes_total{instance=~\"^$node\", volume !~ \"(HarddiskVolume.+|[A-Z]:.+)\"}[5m])","format":"time_series","intervalFactor":4,"legendFormat":"{{device}} - Read bytes","refId":"A","step":8},{"expr":"irate(node_disk_written_bytes_total{instance=~\"^$node\", volume !~ \"(HarddiskVolume.+|[A-Z]:.+)\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Written bytes","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disk R/W Data","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"Bps","label":"Bytes read (-) / write (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":3,"gridPos":{"h":10,"w":12,"x":0,"y":407},"id":37,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Read.*/","transform":"negative-Y"},{"alias":"/.*sda_.*/","color":"#7EB26D"},{"alias":"/.*sdb_.*/","color":"#EAB839"},{"alias":"/.*sdc_.*/","color":"#6ED0E0"},{"alias":"/.*sdd_.*/","color":"#EF843C"},{"alias":"/.*sde_.*/","color":"#E24D42"},{"alias":"/.*sda1.*/","color":"#584477"},{"alias":"/.*sda2_.*/","color":"#BA43A9"},{"alias":"/.*sda3_.*/","color":"#F4D598"},{"alias":"/.*sdb1.*/","color":"#0A50A1"},{"alias":"/.*sdb2.*/","color":"#BF1B00"},{"alias":"/.*sdb3.*/","color":"#E0752D"},{"alias":"/.*sdc1.*/","color":"#962D82"},{"alias":"/.*sdc2.*/","color":"#614D93"},{"alias":"/.*sdc3.*/","color":"#9AC48A"},{"alias":"/.*sdd1.*/","color":"#65C5DB"},{"alias":"/.*sdd2.*/","color":"#F9934E"},{"alias":"/.*sdd3.*/","color":"#EA6460"},{"alias":"/.*sde1.*/","color":"#E0F9D7"},{"alias":"/.*sdd2.*/","color":"#FCEACA"},{"alias":"/.*sde3.*/","color":"#F9E2D2"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_read_bytes_total{instance=~\"^$node\", device!~\"HarddiskVolume.+\"}[5m])","hide":false,"intervalFactor":4,"legendFormat":"{{device}} - Read time ms","refId":"A","step":8},{"expr":"irate(node_disk_written_bytes_total{instance=~\"^$node\", device!~\"HarddiskVolume.+\"}[5m])","hide":false,"intervalFactor":2,"legendFormat":"{{device}} - Write time ms","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disk R/W Time","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ms","label":"Millisec. read (-) / write (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":407},"id":35,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*sda_.*/","color":"#7EB26D"},{"alias":"/.*sdb_.*/","color":"#EAB839"},{"alias":"/.*sdc_.*/","color":"#6ED0E0"},{"alias":"/.*sdd_.*/","color":"#EF843C"},{"alias":"/.*sde_.*/","color":"#E24D42"},{"alias":"/.*sda1.*/","color":"#584477"},{"alias":"/.*sda2_.*/","color":"#BA43A9"},{"alias":"/.*sda3_.*/","color":"#F4D598"},{"alias":"/.*sdb1.*/","color":"#0A50A1"},{"alias":"/.*sdb2.*/","color":"#BF1B00"},{"alias":"/.*sdb3.*/","color":"#E0752D"},{"alias":"/.*sdc1.*/","color":"#962D82"},{"alias":"/.*sdc2.*/","color":"#614D93"},{"alias":"/.*sdc3.*/","color":"#9AC48A"},{"alias":"/.*sdd1.*/","color":"#65C5DB"},{"alias":"/.*sdd2.*/","color":"#F9934E"},{"alias":"/.*sdd3.*/","color":"#EA6460"},{"alias":"/.*sde1.*/","color":"#E0F9D7"},{"alias":"/.*sdd2.*/","color":"#FCEACA"},{"alias":"/.*sde3.*/","color":"#F9E2D2"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_io_time_weighted_seconds_total{instance=~\"^$node\"}[5m])","intervalFactor":4,"legendFormat":"{{device}} - IO time weighted","refId":"A","step":8}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disk IOs Weighted","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ms","label":"Milliseconds","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":417},"id":133,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Read.*/","transform":"negative-Y"},{"alias":"/.*sda_.*/","color":"#7EB26D"},{"alias":"/.*sdb_.*/","color":"#EAB839"},{"alias":"/.*sdc_.*/","color":"#6ED0E0"},{"alias":"/.*sdd_.*/","color":"#EF843C"},{"alias":"/.*sde_.*/","color":"#E24D42"},{"alias":"/.*sda1.*/","color":"#584477"},{"alias":"/.*sda2_.*/","color":"#BA43A9"},{"alias":"/.*sda3_.*/","color":"#F4D598"},{"alias":"/.*sdb1.*/","color":"#0A50A1"},{"alias":"/.*sdb2.*/","color":"#BF1B00"},{"alias":"/.*sdb3.*/","color":"#E0752D"},{"alias":"/.*sdc1.*/","color":"#962D82"},{"alias":"/.*sdc2.*/","color":"#614D93"},{"alias":"/.*sdc3.*/","color":"#9AC48A"},{"alias":"/.*sdd1.*/","color":"#65C5DB"},{"alias":"/.*sdd2.*/","color":"#F9934E"},{"alias":"/.*sdd3.*/","color":"#EA6460"},{"alias":"/.*sde1.*/","color":"#E0F9D7"},{"alias":"/.*sdd2.*/","color":"#FCEACA"},{"alias":"/.*sde3.*/","color":"#F9E2D2"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_reads_merged_total{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"{{device}} - Read merged","refId":"C","step":4},{"expr":"irate(node_disk_writes_merged_total{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"{{device}} - Write merged","refId":"D","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disk R/W Merged","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"iops","label":"I/Os","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":3,"gridPos":{"h":10,"w":12,"x":12,"y":417},"id":36,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*sda_.*/","color":"#7EB26D"},{"alias":"/.*sdb_.*/","color":"#EAB839"},{"alias":"/.*sdc_.*/","color":"#6ED0E0"},{"alias":"/.*sdd_.*/","color":"#EF843C"},{"alias":"/.*sde_.*/","color":"#E24D42"},{"alias":"/.*sda1.*/","color":"#584477"},{"alias":"/.*sda2_.*/","color":"#BA43A9"},{"alias":"/.*sda3_.*/","color":"#F4D598"},{"alias":"/.*sdb1.*/","color":"#0A50A1"},{"alias":"/.*sdb2.*/","color":"#BF1B00"},{"alias":"/.*sdb3.*/","color":"#E0752D"},{"alias":"/.*sdc1.*/","color":"#962D82"},{"alias":"/.*sdc2.*/","color":"#614D93"},{"alias":"/.*sdc3.*/","color":"#9AC48A"},{"alias":"/.*sdd1.*/","color":"#65C5DB"},{"alias":"/.*sdd2.*/","color":"#F9934E"},{"alias":"/.*sdd3.*/","color":"#EA6460"},{"alias":"/.*sde1.*/","color":"#E0F9D7"},{"alias":"/.*sdd2.*/","color":"#FCEACA"},{"alias":"/.*sde3.*/","color":"#F9E2D2"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_io_time_seconds_total{instance=~\"^$node\"}[5m])","intervalFactor":4,"legendFormat":"{{device}} - IO time ms","refId":"A","step":8},{"expr":"irate(wmi_logical_disk_read_seconds_total{instance=~\"^$node\",device!~\"HarddiskVolume.+\"} [5m]) + irate(wmi_logical_disk_write_seconds_total{instance=~\"^$node\",device!~\"HarddiskVolume.+\"} [5m])","legendFormat":"{{device}} - IO time ms","refId":"B"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Milliseconds Spent Doing I/Os","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ms","label":"Milliseconds","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":427},"id":34,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*sda_.*/","color":"#7EB26D"},{"alias":"/.*sdb_.*/","color":"#EAB839"},{"alias":"/.*sdc_.*/","color":"#6ED0E0"},{"alias":"/.*sdd_.*/","color":"#EF843C"},{"alias":"/.*sde_.*/","color":"#E24D42"},{"alias":"/.*sda1.*/","color":"#584477"},{"alias":"/.*sda2_.*/","color":"#BA43A9"},{"alias":"/.*sda3_.*/","color":"#F4D598"},{"alias":"/.*sdb1.*/","color":"#0A50A1"},{"alias":"/.*sdb2.*/","color":"#BF1B00"},{"alias":"/.*sdb3.*/","color":"#E0752D"},{"alias":"/.*sdc1.*/","color":"#962D82"},{"alias":"/.*sdc2.*/","color":"#614D93"},{"alias":"/.*sdc3.*/","color":"#9AC48A"},{"alias":"/.*sdd1.*/","color":"#65C5DB"},{"alias":"/.*sdd2.*/","color":"#F9934E"},{"alias":"/.*sdd3.*/","color":"#EA6460"},{"alias":"/.*sde1.*/","color":"#E0F9D7"},{"alias":"/.*sdd2.*/","color":"#FCEACA"},{"alias":"/.*sde3.*/","color":"#F9E2D2"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_disk_io_now{instance=~\"^$node\"}[5m])","intervalFactor":4,"legendFormat":"{{device}} - IO now","refId":"A","step":8}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Disk IOs Current in Progress","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"iops","label":"I/Os","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":427},"id":66,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*sda_.*/","color":"#7EB26D"},{"alias":"/.*sdb_.*/","color":"#EAB839"},{"alias":"/.*sdc_.*/","color":"#6ED0E0"},{"alias":"/.*sdd_.*/","color":"#EF843C"},{"alias":"/.*sde_.*/","color":"#E24D42"},{"alias":"/.*sda1.*/","color":"#584477"},{"alias":"/.*sda2_.*/","color":"#B7DBAB"},{"alias":"/.*sda3_.*/","color":"#F4D598"},{"alias":"/.*sdb1.*/","color":"#0A50A1"},{"alias":"/.*sdb2.*/","color":"#BF1B00"},{"alias":"/.*sdb3.*/","color":"#E0752D"},{"alias":"/.*sdc1.*/","color":"#962D82"},{"alias":"/.*sdc2.*/","color":"#614D93"},{"alias":"/.*sdc3.*/","color":"#9AC48A"},{"alias":"/.*sdd1.*/","color":"#65C5DB"},{"alias":"/.*sdd2.*/","color":"#F9934E"},{"alias":"/.*sdd3.*/","color":"#EA6460"},{"alias":"/.*sde1.*/","color":"#E0F9D7"},{"alias":"/.*sdd2.*/","color":"#FCEACA"},{"alias":"/.*sde3.*/","color":"#F9E2D2"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_textfile_scrape_error{instance=~\"^$node\"}","intervalFactor":4,"legendFormat":"Textfile scrape error (1 = true)","refId":"A","step":8}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Open Error File","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Errors","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Disk Detail","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":31},"id":271,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":3,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":428},"id":43,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_filesystem_free_bytes{instance=~\"^$node\",device!~\"HarddiskVolume.+\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{device}} - Available","metric":"","refId":"A","step":4},{"expr":"node_filesystem_free_bytes{instance=~\"^$node\",device!~'rootfs'}","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"{{device}} - Free","refId":"B","step":2},{"expr":"node_filesystem_size_bytes{instance=~\"^$node\",device!~'rootfs'}","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"{{device}} - Size","refId":"D","step":2}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Filesystem space available","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":428},"id":41,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_filesystem_files_free{instance=\"$instance\",device!~'rootfs'}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{mountpoint}} - Free file nodes","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"File Nodes Free","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"File Nodes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":438},"id":28,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_filefd_maximum{instance=~\"^$node\"}","format":"time_series","intervalFactor":4,"legendFormat":"Max open files","refId":"A","step":8},{"expr":"node_filefd_allocated{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Open files","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"File Descriptor","tooltip":{"shared":false,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Files","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":438},"id":219,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_filesystem_files{instance=~\"^$node\",device!~'rootfs'}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{mountpoint}} - File nodes total","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"File Nodes Size","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"File Nodes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{"/ ReadOnly":"#890F02"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":448},"id":44,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":6,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"node_filesystem_readonly{instance=~\"^$node\",device!~'rootfs'}","format":"time_series","intervalFactor":2,"legendFormat":"{{mountpoint}} - ReadOnly","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Filesystem in ReadOnly","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Read Only","logBase":1,"max":"1","min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Filesystem Detail","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":32},"id":272,"panels":[{"aliasColors":{"receive_packets_eth0":"#7EB26D","receive_packets_lo":"#E24D42","transmit_packets_eth0":"#7EB26D","transmit_packets_lo":"#E24D42"},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":449},"id":60,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*/","color":"#7EB26D"},{"alias":"/.*eth0.*/","color":"#EAB839"},{"alias":"/.*eth1.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*/","color":"#EF843C"},{"alias":"/.*eth3.*/","color":"#E24D42"},{"alias":"/.*eth4.*/","color":"#1F78C1"},{"alias":"/.*eth5.*/","color":"#BA43A9"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_receive_packets_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Receive","refId":"O","step":4},{"expr":"irate(node_network_transmit_packets_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Transmit","refId":"P","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic by Packets","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"pps","label":"Packets out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":449},"id":142,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*.errors.*/","color":"#7EB26D"},{"alias":"/.*eth0.*.errors.*/","color":"#EAB839"},{"alias":"/.*eth1.*.errors.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*.errors.*/","color":"#EF843C"},{"alias":"/.*eth3.*.errors.*/","color":"#E24D42"},{"alias":"/.*eth4.*.errors.*/","color":"#1F78C1"},{"alias":"/.*eth5.*.errors.*/","color":"#BA43A9"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_receive_errs_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Receive errors","refId":"E","step":4},{"expr":"irate(node_network_transmit_errs_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Rransmit errors","refId":"F","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic Errors","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"pps","label":"Packets out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":459},"id":143,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*.drop.*/","color":"#7EB26D"},{"alias":"/.*eth0.*.drop.*/","color":"#EAB839"},{"alias":"/.*eth1.*.drop.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*.drop.*/","color":"#EF843C"},{"alias":"/.*eth3.*.drop.*/","color":"#E24D42"},{"alias":"/.*eth4.*.drop.*/","color":"#1F78C1"},{"alias":"/.*eth5.*.drop.*/","color":"#BA43A9"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_receive_drop_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Receive drop","refId":"G","step":4},{"expr":"irate(node_network_transmit_drop_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Transmit drop","refId":"H","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic Drop","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"pps","label":"Packets out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":459},"id":141,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*.compressed.*/","color":"#7EB26D"},{"alias":"/.*eth0.*.compressed.*/","color":"#EAB839"},{"alias":"/.*eth1.*.compressed.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*.compressed.*/","color":"#EF843C"},{"alias":"/.*eth3.*.compressed.*/","color":"#E24D42"},{"alias":"/.*eth4.*.compressed.*/","color":"#1F78C1"},{"alias":"/.*eth5.*.compressed.*/","color":"#BA43A9"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_receive_compressed_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Receive compressed","refId":"C","step":4},{"expr":"irate(node_network_transmit_compressed_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Transmit compressed","refId":"D","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic Compressed","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"pps","label":"Packets out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":469},"id":146,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*.multicast.*/","color":"#7EB26D"},{"alias":"/.*eth0.*.multicast.*/","color":"#EAB839"},{"alias":"/.*eth1.*.multicast.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*.multicast.*/","color":"#EF843C"},{"alias":"/.*eth3.*.multicast.*/","color":"#E24D42"},{"alias":"/.*eth4.*.multicast.*/","color":"#1F78C1"},{"alias":"/.*eth5.*.multicast.*/","color":"#BA43A9"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_receive_multicast_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Receive multicast","refId":"M","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic Multicast","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"pps","label":"Packets out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":469},"id":144,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*.fifo.*/","color":"#7EB26D"},{"alias":"/.*eth0.*.fifo.*/","color":"#EAB839"},{"alias":"/.*eth1.*.fifo.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*.fifo.*/","color":"#EF843C"},{"alias":"/.*eth3.*.fifo.*/","color":"#E24D42"},{"alias":"/.*eth4.*.fifo.*/","color":"#1F78C1"},{"alias":"/.*eth5.*.fifo.*/","color":"#BA43A9"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_receive_fifo_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Receive fifo","refId":"I","step":4},{"expr":"irate(node_network_transmit_fifo_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Transmit fifo","refId":"J","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic Fifo","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"pps","label":"Packets out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":479},"id":145,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*.frame.*/","color":"#7EB26D"},{"alias":"/.*eth0.*.frame.*/","color":"#EAB839"},{"alias":"/.*eth1.*.frame.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*.frame.*/","color":"#EF843C"},{"alias":"/.*eth3.*.frame.*/","color":"#E24D42"},{"alias":"/.*eth4.*.frame.*/","color":"#1F78C1"},{"alias":"/.*eth5.*.frame.*/","color":"#BA43A9"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_receive_frame_total{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{device}} - Receive frame","refId":"K","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic Frame","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"pps","label":"Packets out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":479},"id":231,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*.carrier.*/","color":"#7EB26D"},{"alias":"/.*eth0.*.carrier.*/","color":"#EAB839"},{"alias":"/.*eth1.*.carrier.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*.carrier.*/","color":"#EF843C"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_transmit_carrier_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Statistic transmit_carrier","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic Carrier","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":489},"id":232,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Trans.*/","transform":"negative-Y"},{"alias":"/.*lo.*.carrier.*/","color":"#7EB26D"},{"alias":"/.*eth0.*.carrier.*/","color":"#EAB839"},{"alias":"/.*eth1.*.carrier.*/","color":"#6ED0E0"},{"alias":"/.*eth2.*.carrier.*/","color":"#EF843C"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_network_transmit_colls_total{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"{{device}} - Transmit colls","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Network Traffic Colls","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":489},"id":61,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"NF conntrack limit","color":"#890F02","fill":0}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_nf_conntrack_entries{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"NF conntrack entries","refId":"O","step":4},{"expr":"node_nf_conntrack_entries_limit{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"NF conntrack limit","refId":"P","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"NF Contrack","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Entries","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":499},"id":230,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_arp_entries{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"{{ device }} - ARP entries","refId":"O","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"ARP Entries","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Entries","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Network Traffic Detail","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":33},"id":273,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":500},"id":63,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_sockstat_TCP_alloc{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"TCP_alloc - Allocated sockets","refId":"D","step":240},{"expr":"node_sockstat_TCP_inuse{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"TCP_inuse - Tcp sockets currently in use","refId":"E","step":240},{"expr":"node_sockstat_TCP_mem{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"TCP_mem - Used memory for tcp","refId":"F","step":240},{"expr":"node_sockstat_TCP_orphan{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"TCP_orphan - Orphan sockets","refId":"H","step":240},{"expr":"node_sockstat_TCP_tw{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"TCP_tw - Sockets wating close","refId":"I","step":240},{"expr":"wmi_tcp_connections_active{instance=~\"^$node\"}","legendFormat":"TCP_active","refId":"A"},{"expr":"wmi_tcp_connections_established{instance=~\"^$node\"}","legendFormat":"TCP_established","refId":"B"},{"expr":"wmi_tcp_connections_passive{instance=~\"^$node\"}","legendFormat":"TCP_passive","refId":"C"},{"expr":"wmi_tcp_connections_reset{instance=~\"^$node\"}","legendFormat":"TCP_reset","refId":"G"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Sockstat TCP","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Sockets","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":500},"id":124,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_sockstat_UDPLITE_inuse{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"UDPLITE_inuse - Udplite sockets currently in use","refId":"J","step":240},{"expr":"node_sockstat_UDP_inuse{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"UDP_inuse - Udp sockets currently in use","refId":"K","step":240},{"expr":"node_sockstat_UDP_mem{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"UDP_mem - Used memory for udp","refId":"L","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Sockstat UDP","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Sockets","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":510},"id":126,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_sockstat_sockets_used{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"Sockets_used - Sockets currently in use","refId":"N","step":240},{"expr":"wmi_tcp_connections_established{instance=~\"^$node\"}","legendFormat":"Sockets_established","refId":"A"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Sockstat Used","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Sockets","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":510},"id":220,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_sockstat_TCP_mem_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"TCP_mem_bytes - ","refId":"G","step":240},{"expr":"node_sockstat_UDP_mem_bytes{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"UDP_mem_bytes - ","refId":"A","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Sockstat Memory Size","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":"Bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":520},"id":125,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_sockstat_FRAG_inuse{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"FRAG_inuse - Frag sockets currently in use","refId":"A","step":240},{"expr":"node_sockstat_FRAG_memory{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"FRAG_memory - Used memory for frag","refId":"B","step":240},{"expr":"node_sockstat_RAW_inuse{instance=~\"^$node\"}","format":"time_series","intervalFactor":2,"legendFormat":"RAW_inuse - Raw sockets currently in use","refId":"C","step":240}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Sockstat FRAG / RAW","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Sockets","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Network Sockstat","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":34},"id":274,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":521},"height":"","id":49,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Discards.*/","color":"#7EB26D"},{"alias":"/.*NoRoutes.*/","color":"#EAB839"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Ip_InReceives{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InReceives - IP inreceives","refId":"A","step":4},{"expr":"irate(node_netstat_Ip_DefaultTTL{instance=~\"^$node\"}[5m])","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"DefaultTTL - Default TTL","refId":"B","step":10},{"expr":"irate(node_netstat_Ip_InDelivers{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InDelivers - IP indelivers","refId":"I","step":4},{"expr":"irate(node_netstat_Ip_OutRequests{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OutRequests - IP outrequests","refId":"P","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP In / Out","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":521},"height":"","id":221,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Octets.*/","color":"#7EB26D"},{"alias":"/.*McastPkts.*/","color":"#EAB839"},{"alias":"/.*McastOctets.*/","color":"#6ED0E0"},{"alias":"/.*BcastPkts.*/","color":"#EF843C"},{"alias":"/.*BcastOctets.*/","color":"#E24D42"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_IpExt_InOctets{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InOctets - Received octets","refId":"K","step":4},{"expr":"irate(node_netstat_IpExt_OutOctets{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutOctets - Sent octets","refId":"Q","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP In / Out Octets","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Octects out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":531},"height":"","id":119,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Octets.*/","color":"#7EB26D"},{"alias":"/.*McastPkts.*/","color":"#EAB839"},{"alias":"/.*McastOctets.*/","color":"#6ED0E0"},{"alias":"/.*BcastPkts.*/","color":"#EF843C"},{"alias":"/.*BcastOctets.*/","color":"#E24D42"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_IpExt_InBcastPkts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InBcastPkts - Received IP broadcast datagrams","refId":"B","step":4},{"expr":"irate(node_netstat_IpExt_OutBcastPkts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutBcastPkts - Sent IP broadcast datagrams","refId":"N","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP Bcast","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":531},"height":"","id":222,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Octets.*/","color":"#7EB26D"},{"alias":"/.*McastPkts.*/","color":"#EAB839"},{"alias":"/.*McastOctets.*/","color":"#6ED0E0"},{"alias":"/.*BcastPkts.*/","color":"#EF843C"},{"alias":"/.*BcastOctets.*/","color":"#E24D42"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_IpExt_InBcastOctets{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InBcastOctets - Received IP broadcast octets","refId":"A","step":4},{"expr":"irate(node_netstat_IpExt_OutBcastOctets{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutBcastOctets - Sent IP broadcast octects","refId":"M","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP Bcast Octets","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Octets out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":541},"height":"","id":120,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Octets.*/","color":"#7EB26D"},{"alias":"/.*McastPkts.*/","color":"#EAB839"},{"alias":"/.*McastOctets.*/","color":"#6ED0E0"},{"alias":"/.*BcastPkts.*/","color":"#EF843C"},{"alias":"/.*BcastOctets.*/","color":"#E24D42"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_IpExt_InMcastPkts{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InMcastPkts - Received IP multicast datagrams","refId":"H","step":4},{"expr":"irate(node_netstat_IpExt_OutMcastPkts{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OutMcastPkts - Sent IP multicast datagrams","refId":"P","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP Mcast","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":541},"height":"","id":223,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Octets.*/","color":"#7EB26D"},{"alias":"/.*McastPkts.*/","color":"#EAB839"},{"alias":"/.*McastOctets.*/","color":"#6ED0E0"},{"alias":"/.*BcastPkts.*/","color":"#EF843C"},{"alias":"/.*BcastOctets.*/","color":"#E24D42"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_IpExt_InMcastOctets{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InMcastOctets - Received IP multicast octets","refId":"G","step":4},{"expr":"irate(node_netstat_IpExt_OutMcastOctets{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OutMcastOctets - Sent IP multicast octets","refId":"O","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP Mcast Octets","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Octets out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":551},"height":"","id":81,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Ip_ForwDatagrams{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"ForwDatagrams - IP outforwdatagrams","refId":"C","step":4},{"expr":"irate(node_netstat_Ip_Forwarding{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"Forwarding - IP forwarding","refId":"D","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP Forwarding","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":551},"height":"","id":122,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Ip_FragCreates{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"FragCreates - IP fragmentation creations","refId":"E","step":4},{"expr":"irate(node_netstat_Ip_FragFails{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"FragFails - IP fragmentation failures","refId":"F","step":4},{"expr":"irate(node_netstat_Ip_FragOKs{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"FragOKs - IP fragmentation oks","refId":"G","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP Fragmented","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":561},"height":"","id":51,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_IpExt_InCEPkts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InCEPkts - Congestion Experimented datagrams in","refId":"C","step":4},{"expr":"irate(node_netstat_IpExt_InECT0Pkts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InECT0Pkts - Datagrams received with ECT(0)","refId":"E","step":4},{"expr":"irate(node_netstat_IpExt_InECT1Pkts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InECT1Pkt - Datarams received with ECT(1)","refId":"F","step":4},{"expr":"irate(node_netstat_IpExt_InNoECTPkts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InNoECTPkts - Datagrams received with NOECT","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP ECT / CEP","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":561},"height":"","id":123,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Ip_ReasmFails{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"ReasmFails - IP reassembly failures","refId":"Q","step":4},{"expr":"irate(node_netstat_Ip_ReasmOKs{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"ReasmOKs - IP reassembly oks","refId":"R","step":4},{"expr":"irate(node_netstat_Ip_ReasmReqds{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"ReasmReqds - IP reassembly requireds","refId":"S","step":4},{"expr":"irate(node_netstat_Ip_ReasmTimeout{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"ReasmTimeout - IP reasmtimeout","refId":"T","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP Reasambled","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":571},"height":"","id":118,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sideWidth":300,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Discards.*/","color":"#7EB26D"},{"alias":"/.*NoRoutes.*/","color":"#EAB839"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Ip_InDiscards{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InDiscards - IP indiscards","refId":"J","step":4},{"expr":"irate(node_netstat_Ip_InHdrErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InHdrErrors - IP inhdrerrors","refId":"K","step":4},{"expr":"irate(node_netstat_Ip_InUnknownProtos{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InUnknownProtos - IP inunknownprotos","refId":"M","step":4},{"expr":"irate(node_netstat_Ip_OutDiscards{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutDiscards - IP outdiscards","refId":"N","step":4},{"expr":"irate(node_netstat_Ip_OutNoRoutes{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutNoRoutes - IP outnoroutes","refId":"O","step":4},{"expr":"irate(node_netstat_IpExt_InNoRoutes{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InNoRoutes - IP datagrams discarded due to no routes in forwarding path","refId":"C","step":4},{"expr":"irate(node_netstat_IpExt_InCsumErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InCsumErrors - IP datagrams with checksum errors","refId":"A","step":4},{"expr":"irate(node_netstat_IpExt_InTruncatedPkts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InTruncatedPkts - IP datagrams discarded due to frame not carrying enough data","refId":"B","step":4},{"expr":"irate(node_netstat_Ip_InAddrErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InAddrErrors - IP inaddrerrors","refId":"D","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Netstat IP Errors / Discards","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Network Netstat","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":35},"id":275,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":572},"height":"","id":52,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*InSegs.*/","color":"#CCA300"},{"alias":"/.*OutSegs.*/","color":"#CCA300"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Tcp_InCsumErrors{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InCsumErrors - Segments received with checksum errors","refId":"E","step":4},{"expr":"irate(node_netstat_Tcp_InErrs{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InErrs - Segments received in error (e.g., bad TCP checksums)","refId":"F","step":4},{"expr":"irate(node_netstat_Tcp_InSegs{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InSegs - Segments received, including those received in error. This count includes segments received on currently established connections","refId":"G","step":4},{"expr":"irate(node_netstat_Tcp_OutRsts{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OutRsts - Segments sent containing the RST flag","refId":"I","step":4},{"expr":"irate(node_netstat_Tcp_OutSegs{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OutSegs - Segments sent, including those on current connections but excluding those containing only retransmitted octets","refId":"J","step":4},{"expr":"irate(node_netstat_Tcp_RetransSegs{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"RetransSegs - Segments retransmitted - that is, the number of TCP segments transmitted containing one or more previously transmitted octets","refId":"A","step":4},{"expr":"irate(wmi_tcp_segments_sent_total{instance=~\"^$node\"}[5m])","legendFormat":"OutSegs - Segments sent, including those on current connections but excluding those containing only retransmitted octets","refId":"B"},{"expr":"irate(wmi_tcp_segments_received_total{instance=~\"^$node\"}[5m])","legendFormat":"InSegs - Segments received, including those received in error. This count includes segments received on currently established connections","refId":"C"},{"expr":"irate(wmi_tcp_segments_retransmitted_total{instance=~\"^$node\"}[5m])","legendFormat":"RetransSegs - Segments retransmitted - that is, the number of TCP segments transmitted containing one or more previously transmitted octets","refId":"D"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Segments","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Segments out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":572},"height":"","id":85,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*MaxConn *./","color":"#890F02","fill":0}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_netstat_Tcp_CurrEstab{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"CurrEstab - TCP connections for which the current state is either ESTABLISHED or CLOSE- WAIT","refId":"C","step":4},{"expr":"node_netstat_Tcp_MaxConn{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"MaxConn - Limit on the total number of TCP connections the entity can support (Dinamic is \"-1\")","refId":"H","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Connections","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Connections","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":582},"height":"","id":86,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_netstat_Tcp_RtoAlgorithm{instance=~\"^$node\"}","format":"time_series","hide":true,"intervalFactor":2,"legendFormat":"RtoAlgorithm - Algorithm used to determine the timeout value used for retransmitting unacknowledged octets","refId":"M","step":4},{"expr":"node_netstat_Tcp_RtoMax{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"RtoMax - Maximum value permitted by a TCP implementation for the retransmission timeout, measured in milliseconds","refId":"N","step":4},{"expr":"node_netstat_Tcp_RtoMin{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"RtoMin - Minimum value permitted by a TCP implementation for the retransmission timeout, measured in milliseconds","refId":"O","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Retransmission","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ms","label":"Milliseconds","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":582},"height":"","id":82,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Tcp_ActiveOpens{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"ActiveOpens - TCP connections that have made a direct transition to the SYN-SENT state from the CLOSED state","refId":"A","step":4},{"expr":"irate(node_netstat_Tcp_AttemptFails{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"AttemptFails - TCP connections that have made a direct transition to the CLOSED state from either the SYN-SENT and SYN-RCVD","refId":"B","step":4},{"expr":"irate(node_netstat_Tcp_EstabResets{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"EstabResets - TCP connections that have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state","refId":"D","step":4},{"expr":"irate(node_netstat_Tcp_PassiveOpens{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"PassiveOpens - TCP connections that have made a direct transition to the SYN-RCVD state from the LISTEN state","refId":"K","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Direct Transition","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Connections","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Network Netstat TCP","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":36},"id":276,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":583},"height":"","id":94,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPAbortOnClose{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPAbortOnClose - Connections aborted due to early user close","refId":"V","step":4},{"expr":"irate(node_netstat_TcpExt_TCPAbortOnData{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPAbortOnData - Connections aborted due to unexpected data","refId":"W","step":4},{"expr":"irate(node_netstat_TcpExt_TCPAbortOnLinger{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPAbortOnLinger - Connections aborted in lingered state after being closed","refId":"X","step":4},{"expr":"irate(node_netstat_TcpExt_TCPAbortOnMemory{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPAbortOnMemory - Connections aborted before attached to a socket","refId":"Y","step":4},{"expr":"irate(node_netstat_TcpExt_TCPAbortOnTimeout{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPAbortOnTimeout - Connections aborted due timeout","refId":"B","step":4},{"expr":"irate(node_netstat_TcpExt_TCPAbortFailed{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPAbortFailed - Connections aborted without send RST due insuffient memory","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_TCPTimeouts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPTimeouts - Other TCP connections timeouts","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Aborts / Tiemouts","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Connections","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":583},"height":"","id":92,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_DelayedACKLocked{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"DelayedACKLocked - Delayed acks further delayed because of locked socket","refId":"C","step":4},{"expr":"irate(node_netstat_TcpExt_DelayedACKLost{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"DelayedACKLost - Times quick ack mode was activated","refId":"D","step":4},{"expr":"irate(node_netstat_TcpExt_DelayedACKs{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"DelayedACKs - Delayed acks sent","refId":"E","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Delayed ACK","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":593},"height":"","id":91,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Sent.*/","transform":"negative-Y"},{"alias":"SyncookiesSent - SYN cookies sent","color":"#E0F9D7"},{"alias":"SyncookiesRecv - SYN cookies received","color":"#E0F9D7"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_SyncookiesFailed{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"SyncookiesFailed - Invalid SYN cookies received","refId":"R","step":4},{"expr":"irate(node_netstat_TcpExt_SyncookiesRecv{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"SyncookiesRecv - SYN cookies received","refId":"S","step":4},{"expr":"irate(node_netstat_TcpExt_SyncookiesSent{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"SyncookiesSent - SYN cookies sent","refId":"T","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSYNChallenge{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"SynChallenge - Challenge ACKs sent in response to SYN packets","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_TCPChallengeACK{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"TCPChallengeACK - Challenge ACKs sent (RFC 5961 3.2)","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP SynCookie / Challenge","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":593},"height":"","id":90,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPLossFailures{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPLossFailures - Timeouts in loss state","refId":"C","step":4},{"expr":"irate(node_netstat_TcpExt_TCPLossProbeRecovery{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPLossProbeRecovery - TCP loss probe recoveries","refId":"D","step":4},{"expr":"irate(node_netstat_TcpExt_TCPLossProbes{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPLossProbes - Sent TCP loss probes","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_TCPLossUndo{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPLossUndo - Congestion windows recovered without slow start after partial ack","refId":"B","step":4},{"expr":"irate(node_netstat_TcpExt_TCPLostRetransmit{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPLostRetransmit - Retransmits lost","refId":"E","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP LOSS","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":603},"height":"","id":53,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_ListenDrops{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"ListenDrops - SYNs to LISTEN sockets ignored","refId":"H","step":4},{"expr":"irate(node_netstat_TcpExt_LockDroppedIcmps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"LockDroppedIcmps - ICMP packets dropped because socket was locked","refId":"J","step":4},{"expr":"irate(node_netstat_TcpExt_TCPDeferAcceptDrop{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPDeferAcceptDrop - Dropped ACK frames received by a socket in SYN_RECV state","refId":"D","step":4},{"expr":"irate(node_netstat_TcpExt_TCPBacklogDrop{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPBacklogDrop - Packets dropped bacause the socket's receive queue was full","refId":"P","step":4},{"expr":"irate(node_netstat_TcpExt_OutOfWindowIcmps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutOfWindowIcmps - ICMP packets dropped because they were out-of-window","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_TCPMinTTLDrop{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPMinTTLDrop - TCP packets dropped under minTTL condition","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP DROPS","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":603},"height":"","id":101,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPForwardRetrans{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPForwardRetrans - Packets losts retransmitted with Forward RTO-Recovery","refId":"O","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSlowStartRetrans{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPSlowStartRetrans - Packets losts retransmitted after a slow start","refId":"P","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSynRetrans{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPSynRetrans - SYN-SYN/ACK retransmits to break down retransmissions in SYN, fast/timeout retransmits","refId":"Q","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSpuriousRTOs{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSpuriousRTOs - FRTO's successfully detected spurious RTOs","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSpuriousRtxHostQueues{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSpuriousRtxHostQueues - Times detected that the fast clone is not yet freed in tcp_transmit_skb()","refId":"B","step":4},{"expr":"irate(node_netstat_TcpExt_TCPFullUndo{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPFullUndo - Retransmits that undid the CWND reduction","refId":"C","step":4},{"expr":"irate(node_netstat_TcpExt_TCPRetransFail{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPRetransFail - Failed tcp_retransmit_skb() calls","refId":"D","step":4},{"expr":"irate(node_netstat_TcpExt_TCPPartialUndo{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPPartialUndo - Congestion windows partially recovered using Hoe heuristic","refId":"E","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Retrans","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":613},"height":"","id":87,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_PruneCalled{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"PruneCalled - Pkts pruned from recv queue because of soc buf overrun","refId":"P","step":4},{"expr":"irate(node_netstat_TcpExt_RcvPruned{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"RcvPruned - Packets pruned from receive queue","refId":"Q","step":4},{"expr":"irate(node_netstat_TcpExt_OfoPruned{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OfoPruned - Packets dropped from out-of-order queue because of socket buffer overrun","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Pruned","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":613},"height":"","id":96,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPDirectCopyFromBacklog{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPDirectCopyFromBacklog - Packets directly received from backlog","refId":"M","step":4},{"expr":"irate(node_netstat_TcpExt_TCPDirectCopyFromPrequeue{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPDirectCopyFromPrequeue - Packets directly received from prequeue","refId":"N","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Direct Copy","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"fillGradient":0,"gridPos":{"h":10,"w":12,"x":0,"y":623},"height":"","id":100,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TW{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TW - TCP sockets finished time wait in fast timer","refId":"O","step":4},{"expr":"irate(node_netstat_TcpExt_TWKilled{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TWKilled - TCP sockets finished time wait in slow timer","refId":"P","step":4},{"expr":"irate(node_netstat_TcpExt_TWRecycled{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TWRecycled - Time wait sockets recycled by time stamp","refId":"Q","step":4},{"expr":"irate(node_netstat_TcpExt_TCPTimeWaitOverflow{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPTimeWaitOverflow - Occurences of time wait bucket overflow","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP TimeWait","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":623},"height":"","id":93,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_PAWSActive{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"PAWSActive - Active connections rejected because of time stamp","refId":"M","step":4},{"expr":"irate(node_netstat_TcpExt_PAWSEstab{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"PAWSEstab - Pkts rejects in estab connections because of timestamp","refId":"N","step":4},{"expr":"irate(node_netstat_TcpExt_PAWSPassive{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"PAWSPassive - Passive connections rejected because of time stamp","refId":"O","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP PAWS","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":633},"height":"","id":98,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPSackRecovery{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSackRecovery - Times recovered from packet loss by selective acknowledgements","refId":"E","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSackRecoveryFail{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSackRecoveryFail - Issue while recovering packets lost using selective ACK","refId":"F","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSackShiftFallback{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSackShiftFallback - SACKs fallbacks","refId":"G","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSackShifted{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSackShifted - SACKs shifted","refId":"H","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSACKDiscard{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSackDiscard - Discarded due invalid SACK block.","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSackFailures{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSackFailures - Timeouts after SACK recovery","refId":"B","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSackMerged{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSackMerged - SACKs merged","refId":"C","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSACKReneging{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSACKReneging - Bad SACK blocks received","refId":"D","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSACKReorder{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPSACKReorder - Times detected reordering using SACK","refId":"I","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP SACK","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":633},"height":"","id":95,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPDSACKIgnoredOld{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPDSACKIgnoredOld - Discarded packets with duplicate SACK while retransmitting","refId":"F","step":4},{"expr":"irate(node_netstat_TcpExt_TCPDSACKOfoRecv{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPDSACKOfoRecv - DSACKs for out of order packets received","refId":"G","step":4},{"expr":"irate(node_netstat_TcpExt_TCPDSACKOfoSent{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPDSACKOfoSent - DSACKs sent for out of order packets","refId":"H","step":4},{"expr":"irate(node_netstat_TcpExt_TCPDSACKOldSent{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPDSACKOldSent - DSACKs sent for old packets","refId":"I","step":4},{"expr":"irate(node_netstat_TcpExt_TCPDSACKRecv{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPDSACKRecv - DSACKs received","refId":"J","step":4},{"expr":"irate(node_netstat_TcpExt_TCPDSACKUndo{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPDSACKUndo - Discarded packets with erroneous retransmit","refId":"K","step":4},{"expr":"irate(node_netstat_TcpExt_TCPDSACKIgnoredNoUndo{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPDSACKIgnoredNoUndo - Discarded packets with duplicate SACK","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP DSACK","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":643},"height":"","id":97,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPFastOpenActive{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPFastOpenActive - Successful outbound TFO connections","refId":"P","step":4},{"expr":"irate(node_netstat_TcpExt_TCPFastOpenActiveFail{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPFastOpenActiveFail - SYN-ACK packets received that did not acknowledge data sent in the SYN packet and caused a retransmissions without SYN data","refId":"Q","step":4},{"expr":"irate(node_netstat_TcpExt_TCPFastOpenCookieReqd{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPFastOpenCookieReqd - Inbound SYN packets requesting TFO with TFO set but no cookie","refId":"R","step":4},{"expr":"irate(node_netstat_TcpExt_TCPFastOpenListenOverflow{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPFastOpenListenOverflow - Times the fastopen listen queue overflowed","refId":"S","step":4},{"expr":"irate(node_netstat_TcpExt_TCPFastOpenPassive{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPFastOpenPassive - Successful inbound TFO connections","refId":"T","step":4},{"expr":"irate(node_netstat_TcpExt_TCPFastOpenPassiveFail{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPFastOpenPassiveFail - Inbound SYN packets with TFO cookie that was invalid","refId":"U","step":4},{"expr":"irate(node_netstat_TcpExt_TCPFastRetrans{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPFastRetrans - Packets lost fast-retransmitted","refId":"V","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP FastOpen / FastRetrans","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":643},"height":"","id":99,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPHPAcks{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPHPAcks - Acknowledgments not containing data received","refId":"Z","step":4},{"expr":"irate(node_netstat_TcpExt_TCPHPHits{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPHPHits - Packets header predicted","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_TCPHPHitsToUser{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPHPHitsToUser - Packets header predicted and directly queued to user","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP HP","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":653},"height":"","id":102,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPToZeroWindowAdv{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPToZeroWindowAdv - Times window went from zero to non-zero","refId":"V","step":4},{"expr":"irate(node_netstat_TcpExt_TCPWantZeroWindowAdv{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPWantZeroWindowAdv - Times zero window announced","refId":"W","step":4},{"expr":"irate(node_netstat_TcpExt_TCPFromZeroWindowAdv{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPFromZeroWindowAdv - Times window went from zero to non-zero","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP ZeroWindow","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":653},"height":"","id":103,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPFACKReorder{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPFACKReorder - Detected packets with re-ordering using FACK","refId":"E","step":4},{"expr":"irate(node_netstat_TcpExt_TCPTSReorder{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPTSReorder - Times detected packets with re-ordering using timestamp option","refId":"S","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Reorder","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":663},"height":"","id":162,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPRenoFailures{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPRenoFailures - Timeouts after reno fast retransmit","refId":"O","step":4},{"expr":"irate(node_netstat_TcpExt_TCPRenoRecovery{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPRenoRecovery - Times recovered from packet loss due to fast retransmit","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_TCPRenoRecoveryFail{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPRenoRecoveryFail - Times reno fast retransmits failed","refId":"B","step":4},{"expr":"irate(node_netstat_TcpExt_TCPRenoReorder{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPRenoReorder - Times detected reordering using reno fast retransmit","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Reno","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":663},"height":"","id":163,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPReqQFullDoCookies{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPReqQFullDoCookies - Times SYNCOOKIE was replied to client","refId":"O","step":4},{"expr":"irate(node_netstat_TcpExt_TCPReqQFullDrop{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPReqQFullDrop - Times SYN request was dropped due to disabled syncookies","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP ReqQ","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":673},"height":"","id":164,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPOFODrop{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPOFODrop - Packets meant to be queued in OFO but dropped because socket rcvbuf limit reached","refId":"P","step":4},{"expr":"irate(node_netstat_TcpExt_TCPOFOMerge{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPOFOMerge - Packets in OFO that were merged with other packets","refId":"Q","step":4},{"expr":"irate(node_netstat_TcpExt_TCPOFOQueue{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPOFOQueue - Packets queued in OFO queue","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Out of order","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":673},"height":"","id":165,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPMD5NotFound{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPMD5NotFound - Times MD5 hash expected but not found","refId":"Z","step":4},{"expr":"irate(node_netstat_TcpExt_TCPMD5Unexpected{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPMD5Unexpected - Times MD5 hash unexpected but found","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP MD5","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":683},"height":"","id":166,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPPrequeued{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPPrequeued - Packets directly queued to recvmsg prequeue","refId":"Z","step":4},{"expr":"irate(node_netstat_TcpExt_TCPPrequeueDropped{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPPrequeueDropped - Packets dropped from prequeue","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Prequeued","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":683},"height":"","id":167,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPRcvCoalesce{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPRcvCoalesce - Times tried to coalesce the receive queue","refId":"Z","step":4},{"expr":"irate(node_netstat_TcpExt_TCPRcvCollapsed{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"TCPRcvCollapsed - Packets collapsed in receive queue due to low socket buffer","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Rcv","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":693},"height":"","id":224,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPOrigDataSent{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPOrigDataSent - Outgoing packets with original data","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Original Data","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":693},"height":"","id":225,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_ArpFilter{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"ArpFilter - Arp packets filtered","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_IPReversePathFilter{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"IPReversePathFilter - Packets arrive from non directly connected network","refId":"G","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Filters","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":703},"height":"","id":226,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPPureAcks{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPPureAcks - Acknowledgments not containing data payload received","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Pure ACK","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":703},"height":"","id":227,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_TCPAutoCorking{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"TCPAutoCorking - Times stack detected skb was underused and its flush was deferred","refId":"A","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Auto Corking","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":713},"height":"","id":104,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_TcpExt_BusyPollRxPackets{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"BusyPollRxPackets - Low latency application-fetched packets","refId":"B","step":4},{"expr":"irate(node_netstat_TcpExt_EmbryonicRsts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"EmbryonicRsts - Resets received for embryonic SYN_RECV sockets","refId":"F","step":4},{"expr":"irate(node_netstat_TcpExt_ListenOverflows{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"ListenOverflows - Times the listen queue of a socket overflowed","refId":"I","step":4},{"expr":"irate(node_netstat_TcpExt_TCPSchedulerFailed{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"TCPSchedulerFailed - Times receiver scheduled too late for direct processing","refId":"A","step":4},{"expr":"irate(node_netstat_TcpExt_TCPMemoryPressures{instance=~\"^$node\"}[5m])","intervalFactor":2,"legendFormat":"TCPMemoryPressures - TCP ran low on memory","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"TCP Issues","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Network Netstat TCP Linux MIPs","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":37},"id":277,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":714},"height":"","id":55,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Snd.*/","transform":"negative-Y"},{"alias":"/.*Datagrams.*/","color":"#EAB839"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Udp_InDatagrams{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InDatagrams - Datagrams received","refId":"B","step":4},{"expr":"irate(node_netstat_Udp_OutDatagrams{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutDatagrams - Datagrams sent","refId":"E","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"UDP In / Out","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":714},"height":"","id":109,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Snd.*/","transform":"negative-Y"},{"alias":"/.*bufErrors.*/","color":"#70DBED"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Udp_InCsumErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InCsumErrors - Datagrams with checksum errors","refId":"A","step":4},{"expr":"irate(node_netstat_Udp_InErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InErrors - Datagrams that could not be delivered to an application","refId":"C","step":4},{"expr":"irate(node_netstat_Udp_RcvbufErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"RcvbufErrors - Datagrams for which not enough socket buffer memory to receive","refId":"F","step":4},{"expr":"irate(node_netstat_Udp_SndbufErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"SndbufErrors - Datagrams for which not enough socket buffer memory to transmit","refId":"G","step":4},{"expr":"irate(node_netstat_Udp_NoPorts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"NoPorts - Datagrams received on a port with no listener","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"UDP Errors","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":724},"height":"","id":57,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Datagrams.*/","color":"#EAB839"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_UdpLite_InDatagrams{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InDatagrams - Packets received","refId":"B","step":4},{"expr":"irate(node_netstat_UdpLite_OutDatagrams{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutDatagrams - Packets sent","refId":"E","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"UDP Lite In / Out","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":724},"height":"","id":110,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*bufErrors.*/","color":"#6ED0E0"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_UdpLite_InCsumErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InCsumErrors - Datagrams with checksum errors","refId":"A","step":4},{"expr":"irate(node_netstat_UdpLite_InErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InErrors - Datagrams that could not be delivered to an application","refId":"C","step":4},{"expr":"irate(node_netstat_UdpLite_RcvbufErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"RcvbufErrors - Datagrams for which not enough socket buffer memory to receive","refId":"F","step":4},{"expr":"irate(node_netstat_UdpLite_SndbufErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"SndbufErrors - Datagrams for which not enough socket buffer memory to transmit","refId":"G","step":4},{"expr":"irate(node_netstat_UdpLite_NoPorts{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"NoPorts - Datagrams received on a port with no listener","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"UDP Lite Errors","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Datagrams out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Network Netstat UDP","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":38},"id":278,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":725},"height":"","id":50,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Type3.*/","color":"#EAB839"},{"alias":"/.*SrcQuenchs.*/","color":"#705DA0"},{"alias":"/.*ParmProb.*/","color":"#70DBED"},{"alias":"/.*TimeExcds.*/","color":"#EA6460"},{"alias":"/.*DestUnreachs.*/","color":"#7EB26D"},{"alias":"/.*InErrors.*/","color":"#890F02"},{"alias":"/.*OutErrors.*/","color":"#890F02"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Icmp_InErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InErrors - Messages which the entity received but determined as having ICMP-specific errors (bad ICMP checksums, bad length, etc.)","refId":"I","step":4},{"expr":"irate(node_netstat_Icmp_OutErrors{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutErrors - Messages which this entity did not send due to problems discovered within ICMP, such as a lack of buffers","refId":"V","step":4},{"expr":"irate(node_netstat_Icmp_InDestUnreachs{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InDestUnreachs - Destination Unreachable messages received","refId":"A","step":4},{"expr":"irate(node_netstat_Icmp_OutDestUnreachs{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutDestUnreachs - Destination Unreachable messages sent","refId":"B","step":4},{"expr":"irate(node_netstat_IcmpMsg_InType3{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InType3 - Destination unreachable","refId":"K","step":4},{"expr":"irate(node_netstat_IcmpMsg_OutType3{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OutType3 - Destination unreachable","refId":"L","step":4},{"expr":"irate(node_netstat_IcmpMsg_InType11{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InType11 - Time Exceeded","refId":"C","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"ICMP Errors 1","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Messages out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":725},"height":"","id":147,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Type3.*/","color":"#EAB839"},{"alias":"/.*SrcQuenchs.*/","color":"#705DA0"},{"alias":"/.*ParmProb.*/","color":"#70DBED"},{"alias":"/.*TimeExcds.*/","color":"#EA6460"},{"alias":"/.*DestUnreachs.*/","color":"#7EB26D"},{"alias":"/.*InErrors.*/","color":"#890F02"},{"alias":"/.*OutErrors.*/","color":"#890F02"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Icmp_InCsumErrors{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InCsumErrors - Messages with ICMP checksum errors","refId":"E","step":4},{"expr":"irate(node_netstat_Icmp_InTimeExcds{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InTimeExcds - Time Exceeded messages received","refId":"C","step":4},{"expr":"irate(node_netstat_Icmp_OutTimeExcds{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OutTimeExcds - Time Exceeded messages sent","refId":"D","step":4},{"expr":"irate(node_netstat_Icmp_InParmProbs{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InParmProbs - Parameter Problem messages received","refId":"F","step":4},{"expr":"irate(node_netstat_Icmp_OutParmProbs{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OutParmProb - Parameter Problem messages sent","refId":"G","step":4},{"expr":"irate(node_netstat_Icmp_InSrcQuenchs{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"InSrcQuenchs - Source Quench messages received","refId":"H","step":4},{"expr":"irate(node_netstat_Icmp_OutSrcQuenchs{instance=~\"^$node\"}[5m])","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"OutSrcQuenchs - Source Quench messages sent","refId":"J","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"ICMP Errors 2","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Messages out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":735},"height":"","id":115,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*Msgs.*/","color":"#6ED0E0"},{"alias":"/.*Redirects.*/","color":"#F9BA8F"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Icmp_InMsgs{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InMsgs - Messages which the entity received. Note that this counter includes all those counted by icmpInErrors","refId":"J","step":4},{"expr":"irate(node_netstat_Icmp_InRedirects{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InRedirects - Redirect messages received","refId":"L","step":4},{"expr":"irate(node_netstat_Icmp_OutMsgs{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutMsgs - Messages which this entity attempted to send. Note that this counter includes all those counted by icmpOutErrors","refId":"W","step":4},{"expr":"irate(node_netstat_Icmp_OutRedirects{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutRedirects - Redirect messages sent. For a host, this object will always be zero, since hosts do not send redirects","refId":"Y","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"ICMP In / Out - Messages / Redirects","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Messages out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":735},"height":"","id":112,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*TimestampReps.*/","color":"#F9934E"},{"alias":"/.*Timestamps -.*/","color":"#6ED0E0"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Icmp_InTimestampReps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InTimestampReps - Timestamp Reply messages received","refId":"O","step":4},{"expr":"irate(node_netstat_Icmp_InTimestamps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InTimestamps - Timestamp (request) messages received","refId":"P","step":4},{"expr":"irate(node_netstat_Icmp_OutTimestampReps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutTimestampReps - Timestamp Reply messages sent","refId":"A","step":4},{"expr":"irate(node_netstat_Icmp_OutTimestamps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutTimestamps - Timestamp (request) messages sent","refId":"B","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"ICMP Timestamps","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Messages out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":745},"height":"","id":114,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*EchoReps.*/","color":"#D683CE"},{"alias":"/.*Echos -.*/","color":"#F9934E"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Icmp_InEchoReps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InEchoReps - Echo Reply messages received","refId":"G","step":4},{"expr":"irate(node_netstat_Icmp_InEchos{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InEchos - Echo (request) messages received","refId":"H","step":4},{"expr":"irate(node_netstat_Icmp_OutEchoReps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutEchoReps - Echo Reply messages sent","refId":"T","step":4},{"expr":"irate(node_netstat_Icmp_OutEchos{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutEchos - Echo (request) messages sent","refId":"U","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"ICMP Echos","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Messages out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":null,"fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":745},"height":"","id":113,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideZero":false,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"maxPerRow":12,"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[{"alias":"/.*Out.*/","transform":"negative-Y"},{"alias":"/.*AddrMaskReps.*/","color":"#B7DBAB"},{"alias":"/.*Masks -.*/","color":"#E5AC0E"}],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"irate(node_netstat_Icmp_InAddrMaskReps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InAddrMaskReps - Address Mask Reply messages received","refId":"C","step":4},{"expr":"irate(node_netstat_Icmp_InAddrMasks{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"InAddrMasks - Address Mask Request messages received","refId":"D","step":4},{"expr":"irate(node_netstat_Icmp_OutAddrMaskReps{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutAddrMaskReps - Address Mask Reply messages sent","refId":"Q","step":4},{"expr":"irate(node_netstat_Icmp_OutAddrMasks{instance=~\"^$node\"}[5m])","format":"time_series","intervalFactor":2,"legendFormat":"OutAddrMasks - Address Mask Request messages sent","refId":"R","step":4}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"ICMP Masks","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Messages out (-) / in (+)","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Network Netstat ICMP","type":"row"},{"collapsed":true,"gridPos":{"h":1,"w":24,"x":0,"y":39},"id":279,"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":0,"y":746},"id":40,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":true,"steppedLine":false,"targets":[{"expr":"node_scrape_collector_duration_seconds{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{collector}} - Scrape duration","refId":"A","step":4},{"expr":"wmi_exporter_collector_duration_seconds{instance=~\"^$node\"}","legendFormat":"{{collector}} - Scrape duration","refId":"B"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Node Exporter Scrape Time","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"s","label":"Seconds","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","description":"","fill":2,"gridPos":{"h":10,"w":12,"x":12,"y":746},"id":157,"legend":{"alignAsTable":true,"avg":true,"current":true,"max":true,"min":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"node_scrape_collector_success{instance=~\"^$node\"}","format":"time_series","hide":false,"intervalFactor":2,"legendFormat":"{{collector}} - Scrape success","refId":"A","step":4},{"expr":"wmi_exporter_collector_success{instance=~\"^$node\"}","legendFormat":"{{collector}} - Scrape success","refId":"B"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Node Exporter Scrape Success","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":"Counter","logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"repeat":null,"title":"Node Exporter","type":"row"}],"refresh":false,"schemaVersion":19,"style":"dark","tags":[],"templating":{"list":[{"allValue":null,"current":{"text":"172.31.11.173:9796","value":"172.31.11.173:9796"},"datasource":"RANCHER_MONITORING","definition":"label_values(node_load1, instance)","hide":0,"includeAll":false,"label":"Host:","multi":false,"name":"node","options":[],"query":"label_values(node_load1, instance)","refresh":1,"regex":"","skipUrlSync":false,"sort":1,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false}]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Nodes","uid":"FnxG5TYiz","version":1}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_rancher-components-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_rancher-components-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..916b6f1ee656c3cf557f21cedcee80a583a37c61
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/c_rancher-components-dashboard.json
@@ -0,0 +1 @@
+{"__requires":[{"type":"grafana","id":"grafana","name":"Grafana","version":"5.3.0"},{"type":"panel","id":"graph","name":"Graph","version":"5.0.0"},{"type":"datasource","id":"prometheus","name":"Prometheus","version":"5.0.0"},{"type":"panel","id":"singlestat","name":"Singlestat","version":"5.0.0"}],"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"description":"This is a simple dashboard for: https://github.com/banzaicloud/logging-operator utilising Fluent-bit and Fluentd","editable":true,"gnetId":7668,"graphTooltip":0,"id":null,"links":[],"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["#d44a3a","rgba(237, 129, 40, 0.89)","#299c46"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":3,"x":0,"y":0},"id":4,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_node_status_condition{condition=\"Ready\"})","format":"time_series","intervalFactor":1,"legendFormat":"","refId":"A"}],"thresholds":"0,1","title":"Active Nodes","type":"singlestat","valueFontSize":"100%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":true,"colors":["#d44a3a","rgba(237, 129, 40, 0.89)","#299c46"],"datasource":"RANCHER_MONITORING","format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":3,"x":3,"y":0},"id":8,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(kube_pod_info{pod=~\".*fluentd.*\",pod!~\".*aggregator.*\"})","format":"time_series","instant":false,"intervalFactor":1,"refId":"A"}],"thresholds":"0,1","title":"Fluentd","type":"singlestat","valueFontSize":"100%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":5,"w":9,"x":6,"y":0},"id":2,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(fluentd_input_status_num_records_total[1m]))by (instance)","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"{{ instance }}","refId":"A"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Fluent input records","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":5,"w":9,"x":15,"y":0},"id":9,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"rate(fluentd_output_status_buffer_queue_length[1m])","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"{{ type }}","refId":"A"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Fluentd output buffer queue length","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":null,"show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":5,"w":8,"x":0,"y":5},"id":10,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"rate(fluentd_output_status_num_errors[1m])","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"{{ type }}","refId":"A"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Fluentd output error/s","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":5,"w":8,"x":8,"y":5},"id":12,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"rate(fluentd_output_status_emit_count[1m])","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"{{ type }}","refId":"A"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Fluentd output emit/s by Plugin","tooltip":{"shared":true,"sort":2,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ops","label":null,"logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":5,"w":8,"x":16,"y":5},"id":15,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"fluentd_output_status_buffer_queue_length","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"{{ type }}","refId":"A"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Fluentd output buffer queue","tooltip":{"shared":true,"sort":2,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"short","label":null,"logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":6,"w":8,"x":0,"y":10},"id":11,"legend":{"alignAsTable":true,"avg":false,"current":true,"max":false,"min":false,"rightSide":true,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"rate(fluentd_output_status_retry_count[1m])","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Retries {{ type }}","refId":"A"},{"expr":"rate(fluentd_output_status_rollback_count[1m])","format":"time_series","intervalFactor":1,"legendFormat":"Rollback {{ type }}","refId":"B"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Fluentd retries/rollback","tooltip":{"shared":true,"sort":0,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"decimals":null,"format":"short","label":"","logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":"0","show":false}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":6,"w":8,"x":8,"y":10},"id":14,"legend":{"alignAsTable":false,"avg":false,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum(rate(fluentd_output_status_retry_count[1m]))","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Retry rate","refId":"A"},{"expr":"sum(rate(fluentd_output_status_num_errors[1m]))","format":"time_series","intervalFactor":1,"legendFormat":"Error rate","refId":"C"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Fluentd output error/retry rate","tooltip":{"shared":true,"sort":2,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"ops","label":null,"logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","fill":1,"gridPos":{"h":6,"w":8,"x":16,"y":10},"id":13,"legend":{"alignAsTable":false,"avg":false,"current":true,"max":true,"min":true,"rightSide":false,"show":true,"sort":"current","sortDesc":true,"total":false,"values":true},"lines":true,"linewidth":1,"links":[],"nullPointMode":"null","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"fluentd_output_status_buffer_total_bytes","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"{{ type }}","refId":"A"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Fluentd output buffer size","tooltip":{"shared":true,"sort":2,"value_type":"individual"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","label":null,"logBase":1,"max":null,"min":"0","show":true},{"format":"short","label":null,"logBase":1,"max":null,"min":null,"show":true}],"yaxis":{"align":false,"alignLevel":null}}],"refresh":"30s","schemaVersion":16,"style":"dark","tags":[],"templating":{"list":[]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"","title":"Rancher Components","uid":"bNn5LUtiz","version":1}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_citadel-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_citadel-dashboard.json
new file mode 100755
index 0000000000000000000000000000000000000000..552d04e2773db3ddf6d9793e1b7dd167d93ca95b
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_citadel-dashboard.json
@@ -0,0 +1,1101 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "",
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "links": [],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": "RANCHER_MONITORING",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 8,
+ "panels": [],
+ "title": "Performance",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "CPU usage across Citadel instances.",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "id": 10,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"citadel\", pod_name=~\"istio-citadel-.*\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Citadel CPU usage rate",
+ "refId": "A"
+ },
+ {
+ "expr": "irate(process_cpu_seconds_total{job=\"istio/citadel\"}[4m])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Citadel CPU usage irate",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "CPU",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "Citadel process memory statistics.",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "id": 12,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_virtual_memory_bytes{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Virtual Memory",
+ "refId": "A"
+ },
+ {
+ "expr": "process_resident_memory_bytes{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Resident Memory",
+ "refId": "B"
+ },
+ {
+ "expr": "go_memstats_heap_sys_bytes{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Heap Memory Total",
+ "refId": "C"
+ },
+ {
+ "expr": "go_memstats_alloc_bytes{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Heap Memory Allocated",
+ "refId": "E"
+ },
+ {
+ "expr": "go_memstats_heap_inuse_bytes{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Heap Inuse",
+ "refId": "F"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Memory",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 14,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "go_goroutines{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Goroutines",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Goroutines",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 28,
+ "panels": [],
+ "title": "General",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "Total number of CSR requests made to Citadel.",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 30,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "citadel_server_csr_count{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "CSR Request Count",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "CSR Requests",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "The number of certificates issuances that have succeeded.",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 32,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "citadel_server_success_cert_issuance_count{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Certificates Issued",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Certificates Issued",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "id": 23,
+ "panels": [],
+ "title": "Errors",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "The number of errors occurred when creating the CSR.",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 14
+ },
+ "id": 20,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "citadel_secret_controller_csr_err_count{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "CSR Creation Error Count",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "CSR Creation Errors",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 14
+ },
+ "id": 24,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "citadel_server_csr_parsing_err_count{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "CSR Parse Error Count",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "CSR Parse Errors",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "The number of authentication failures.",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 14
+ },
+ "id": 26,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "citadel_server_authentication_failure_count{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Authentication Failure Count",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Authentication Failures",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 4,
+ "panels": [],
+ "title": "Secret Controller",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "The number of certificates created due to service account creation.",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 20
+ },
+ "id": 2,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "citadel_secret_controller_svc_acc_created_cert_count{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SA Secrets Created",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Service Account Secrets Created (due to SA creation)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": null,
+ "format": "short",
+ "label": "Certs Created",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "The number of certificates deleted due to service account deletion.",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 20
+ },
+ "id": 16,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "citadel_secret_controller_svc_acc_deleted_cert_count{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SA Secrets Deleted",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Service Account Secrets Deleted (due to SA deletion)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": null,
+ "format": "short",
+ "label": "Certs Created",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "datasource": "RANCHER_MONITORING",
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "The number of certificates recreated due to secret deletion (service account still exists).",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 20
+ },
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "citadel_secret_controller_secret_deleted_cert_count{job=\"istio/citadel\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SA Secrets Recreated",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Service Account Secrets Recreated (due to errant deletion)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": null,
+ "format": "short",
+ "label": "Certs Created",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 18,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": []
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Istio Citadel Dashboard",
+ "uid": "OOyOqb4Wz",
+ "version": 1
+}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_galley-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_galley-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..7a7578ef3a4459fc96fd2fb75c8195a6f090cdd7
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_galley-dashboard.json
@@ -0,0 +1,1809 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "links": [],
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 46,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(istio_build{component=\"galley\"}) by (tag)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ tag }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Galley Versions",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 5
+ },
+ "id": 40,
+ "panels": [],
+ "title": "Resource Usage",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 6
+ },
+ "id": 36,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_virtual_memory_bytes{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Virtual Memory",
+ "refId": "A"
+ },
+ {
+ "expr": "process_resident_memory_bytes{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Resident Memory",
+ "refId": "B"
+ },
+ {
+ "expr": "go_memstats_heap_sys_bytes{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "heap sys",
+ "refId": "C"
+ },
+ {
+ "expr": "go_memstats_heap_alloc_bytes{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "heap alloc",
+ "refId": "D"
+ },
+ {
+ "expr": "go_memstats_alloc_bytes{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Alloc",
+ "refId": "F"
+ },
+ {
+ "expr": "go_memstats_heap_inuse_bytes{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Heap in-use",
+ "refId": "G"
+ },
+ {
+ "expr": "go_memstats_stack_inuse_bytes{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Stack in-use",
+ "refId": "H"
+ },
+ {
+ "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Total (kis)",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Memory",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 6
+ },
+ "id": 38,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Total (k8s)",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}[4m])) by (container_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }} (k8s)",
+ "refId": "B"
+ },
+ {
+ "expr": "irate(process_cpu_seconds_total{job=\"istio/galley\"}[4m])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "galley (self-reported)",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "CPU",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 6
+ },
+ "id": 42,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_open_fds{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Open FDs (galley)",
+ "refId": "A"
+ },
+ {
+ "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"galley\", pod_name=~\"istio-galley-.*\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }} ",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Disk",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 6
+ },
+ "id": 44,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "go_goroutines{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "goroutines_total",
+ "refId": "A"
+ },
+ {
+ "expr": "istio_mcp_clients_total{component=\"galley\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "clients_total",
+ "refId": "B"
+ },
+ {
+ "expr": "go_goroutines{job=\"istio/galley\"}/sum(istio_mcp_clients_total{component=\"galley\"}) without (component)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "avg_goroutines_per_client",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Goroutines",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 10,
+ "panels": [],
+ "title": "Runtime",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 15
+ },
+ "id": 2,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(galley_runtime_strategy_on_change_total[4m])) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Strategy Change Events",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(rate(galley_runtime_processor_events_processed_total[4m])) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Processed Events",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rate(galley_runtime_processor_snapshots_published_total[4m])) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Snapshot Published",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Event Rates",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "Events/min",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 15
+ },
+ "id": 4,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(galley_runtime_strategy_timer_max_time_reached_total[4m])) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Max Time Reached",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(rate(galley_runtime_strategy_timer_quiesce_reached_total[4m])) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Quiesce Reached",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rate(galley_runtime_strategy_timer_resets_total[4m])) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Timer Resets",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Timer Rates",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "Events/min",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 15
+ },
+ "id": 8,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 3,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.50, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "P50",
+ "refId": "A"
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "P90",
+ "refId": "B"
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "P95",
+ "refId": "C"
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum by (le) (galley_runtime_processor_snapshot_events_total_bucket))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "P99",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Events Per Snapshot",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 21
+ },
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (typeURL) (galley_runtime_state_type_instances_total)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ typeURL }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "State Type Instances",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "Count",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 34,
+ "panels": [],
+ "title": "Validation",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 28
+ },
+ "id": 28,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "galley_validation_cert_key_updates{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Key Updates",
+ "refId": "A"
+ },
+ {
+ "expr": "galley_validation_cert_key_update_errors{job=\"istio/galley\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Key Update Errors: {{ error }}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Validation Webhook Certificate",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 28
+ },
+ "id": 30,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(galley_validation_passed{job=\"istio/galley\"}) by (group, version, resource)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Passed: {{ group }}/{{ version }}/{{resource}}",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(galley_validation_failed{job=\"istio/galley\"}) by (group, version, resource, reason)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Failed: {{ group }}/{{ version }}/{{resource}} ({{ reason}})",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Resource Validation",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 28
+ },
+ "id": 32,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(galley_validation_http_error{job=\"istio/galley\"}) by (status)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ status }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Validation HTTP Errors",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 34
+ },
+ "id": 12,
+ "panels": [],
+ "title": "Kubernetes Source",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 35
+ },
+ "id": 14,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(galley_source_kube_event_success_total[4m]) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Success",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(galley_source_kube_event_error_total[4m]) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Error",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Source Event Rate",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "Events/min",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 35
+ },
+ "id": 16,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(galley_source_kube_dynamic_converter_success_total[4m]) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{apiVersion=\"{{apiVersion}}\",group=\"{{group}}\",kind=\"{{kind}}\"}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Kubernetes Object Conversion Successes",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "Conversions/min",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 35
+ },
+ "id": 24,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(galley_source_kube_dynamic_converter_failure_total[4m]) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Error",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Kubernetes Object Conversion Failures",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "Failures/min",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 41
+ },
+ "id": 18,
+ "panels": [],
+ "title": "Mesh Configuration Protocol",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 42
+ },
+ "id": 20,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(istio_mcp_clients_total{component=\"galley\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Clients",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Connected Clients",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 42
+ },
+ "id": 22,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by(collection)(irate(istio_mcp_request_acks_total{component=\"galley\"}[4m]) * 60)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Request ACKs",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "ACKs/min",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 42
+ },
+ "id": 26,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(istio_mcp_request_nacks_total{component=\"galley\"}[4m]) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Request NACKs",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "NACKs/min",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 16,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": []
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Istio Galley Dashboard",
+ "uid": "TSEY6jLmk",
+ "version": 1
+}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_mesh-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_mesh-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..ff906a5356d7d43b1b82de16518260e22a49f8d3
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_mesh-dashboard.json
@@ -0,0 +1,1272 @@
+{
+ "__inputs": [
+ {
+ "name": "DS_PROMETHEUS",
+ "label": "Prometheus",
+ "description": "",
+ "type": "datasource",
+ "pluginId": "prometheus",
+ "pluginName": "Prometheus"
+ }
+ ],
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.2.3"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "datasource",
+ "id": "prometheus",
+ "name": "Prometheus",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "singlestat",
+ "name": "Singlestat",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": "5.0.0"
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": null,
+ "links": [],
+ "panels": [
+ {
+ "content": "
",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "height": "50px",
+ "id": 13,
+ "links": [],
+ "mode": "html",
+ "style": {
+ "font-size": "18pt"
+ },
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "ops",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 3
+ },
+ "id": 20,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_requests_total{reporter=\"destination\"}[4m])), 0.001)",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "thresholds": "",
+ "title": "Global Request Volume",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 80,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 6,
+ "y": 3
+ },
+ "id": 21,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(rate(istio_requests_total{reporter=\"destination\", response_code!~\"5.*\"}[4m])) / sum(rate(istio_requests_total{reporter=\"destination\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "thresholds": "95, 99, 99.5",
+ "title": "Global Success Rate (non-5xx responses)",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "ops",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 12,
+ "y": 3
+ },
+ "id": 22,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"destination\", response_code=~\"4.*\"}[4m])) ",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "thresholds": "",
+ "title": "4xxs",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "ops",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 18,
+ "y": 3
+ },
+ "id": 23,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"destination\", response_code=~\"5.*\"}[4m])) ",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "thresholds": "",
+ "title": "5xxs",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 6
+ },
+ "id": 113,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(galley_istio_networking_virtualservices) / count(up{job=\"istio/galley\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Virtual Services",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 6,
+ "y": 6
+ },
+ "id": 114,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(galley_istio_networking_destinationrules) / count(up{job=\"istio/galley\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Destination Rules",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 12,
+ "y": 6
+ },
+ "id": 115,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(galley_istio_networking_gateways) / count(up{job=\"istio/galley\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Gateways",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 18,
+ "y": 6
+ },
+ "id": 116,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(galley_istio_authentication_meshpolicies) / count(up{job=\"istio/galley\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Authentication Mesh Policies",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "columns": [],
+ "datasource": "RANCHER_MONITORING",
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 21,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "hideTimeOverride": false,
+ "id": 73,
+ "links": [],
+ "pageSize": null,
+ "repeat": null,
+ "repeatDirection": "v",
+ "scroll": true,
+ "showHeader": true,
+ "sort": {
+ "col": 4,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "Workload",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Workload dashboard",
+ "linkUrl": "/dashboard/db/istio-workload-dashboard?var-namespace=$__cell_2&var-workload=$__cell_",
+ "pattern": "destination_workload",
+ "preserveFormat": false,
+ "sanitize": false,
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "Time",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "Requests",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "Value #A",
+ "thresholds": [],
+ "type": "number",
+ "unit": "ops"
+ },
+ {
+ "alias": "P50 Latency",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "Value #B",
+ "thresholds": [],
+ "type": "number",
+ "unit": "s"
+ },
+ {
+ "alias": "P90 Latency",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "Value #D",
+ "thresholds": [],
+ "type": "number",
+ "unit": "s"
+ },
+ {
+ "alias": "P99 Latency",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "Value #E",
+ "thresholds": [],
+ "type": "number",
+ "unit": "s"
+ },
+ {
+ "alias": "Success Rate",
+ "colorMode": "cell",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "Value #F",
+ "thresholds": [
+ ".95",
+ " 1.00"
+ ],
+ "type": "number",
+ "unit": "percentunit"
+ },
+ {
+ "alias": "Workload",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": true,
+ "linkTooltip": "$__cell dashboard",
+ "linkUrl": "/dashboard/db/istio-workload-dashboard?var-workload=$__cell_2&var-namespace=$__cell_3",
+ "pattern": "destination_workload_var",
+ "thresholds": [],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Service",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": true,
+ "linkTooltip": "$__cell dashboard",
+ "linkUrl": "/dashboard/db/istio-service-dashboard?var-service=$__cell",
+ "pattern": "destination_service",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "destination_workload_namespace",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "label_join(sum(rate(istio_requests_total{reporter=\"destination\", response_code=\"200\"}[4m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}",
+ "refId": "A"
+ },
+ {
+ "expr": "label_join((histogram_quantile(0.50, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.50, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload}}.{{ destination_workload_namespace }}",
+ "refId": "B"
+ },
+ {
+ "expr": "label_join((histogram_quantile(0.90, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.90, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}",
+ "refId": "D"
+ },
+ {
+ "expr": "label_join((histogram_quantile(0.99, sum(rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.99, sum(rate(istio_request_duration_seconds_bucket{reporter=\"destination\"}[4m])) by (le, destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}",
+ "refId": "E"
+ },
+ {
+ "expr": "label_join((sum(rate(istio_requests_total{reporter=\"destination\", response_code!~\"5.*\"}[4m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"destination\"}[4m])) by (destination_workload, destination_workload_namespace)), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}",
+ "refId": "F"
+ }
+ ],
+ "timeFrom": null,
+ "title": "HTTP/GRPC Workloads",
+ "transform": "table",
+ "type": "table"
+ },
+ {
+ "columns": [],
+ "datasource": "RANCHER_MONITORING",
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 18,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "hideTimeOverride": false,
+ "id": 109,
+ "links": [],
+ "pageSize": null,
+ "repeatDirection": "v",
+ "scroll": true,
+ "showHeader": true,
+ "sort": {
+ "col": 2,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "Workload",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "$__cell dashboard",
+ "linkUrl": "/dashboard/db/istio-tcp-workload-dashboard?var-namespace=$__cell_2&&var-workload=$__cell",
+ "pattern": "destination_workload",
+ "preserveFormat": false,
+ "sanitize": false,
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "Bytes Sent",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "Value #A",
+ "thresholds": [
+ ""
+ ],
+ "type": "number",
+ "unit": "Bps"
+ },
+ {
+ "alias": "Bytes Received",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "Value #C",
+ "thresholds": [],
+ "type": "number",
+ "unit": "Bps"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "Time",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "Workload",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": true,
+ "linkTooltip": "$__cell dashboard",
+ "linkUrl": "/dashboard/db/istio-workload-dashboard?var-namespace=$__cell_3&var-workload=$__cell_2",
+ "pattern": "destination_workload_var",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "destination_workload_namespace",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "Service",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": true,
+ "linkTooltip": "$__cell dashboard",
+ "linkUrl": "/dashboard/db/istio-service-dashboard?var-service=$__cell",
+ "pattern": "destination_service",
+ "thresholds": [],
+ "type": "number",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "label_join(sum(rate(istio_tcp_received_bytes_total{reporter=\"source\"}[4m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}",
+ "refId": "C"
+ },
+ {
+ "expr": "label_join(sum(rate(istio_tcp_sent_bytes_total{reporter=\"source\"}[4m])) by (destination_workload, destination_workload_namespace, destination_service), \"destination_workload_var\", \".\", \"destination_workload\", \"destination_workload_namespace\")",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "title": "TCP Workloads",
+ "transform": "table",
+ "type": "table"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 48
+ },
+ "id": 111,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(istio_build) by (component, tag)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ component }}: {{ tag }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Istio Components by Version",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 18,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": []
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "Istio Mesh Dashboard",
+ "version": 5
+}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_mixer-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_mixer-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..bda37b287328d07d372ec051d62ae879342ec2b9
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_mixer-dashboard.json
@@ -0,0 +1,1808 @@
+{
+ "__inputs": [
+ {
+ "name": "DS_PROMETHEUS",
+ "label": "Prometheus",
+ "description": "",
+ "type": "datasource",
+ "pluginId": "prometheus",
+ "pluginName": "Prometheus"
+ }
+ ],
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.2.3"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "datasource",
+ "id": "prometheus",
+ "name": "Prometheus",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": "5.0.0"
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1543881232533,
+ "links": [],
+ "panels": [
+ {
+ "content": "Deployed Versions
",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "height": "40",
+ "id": 62,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 64,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(istio_build{component=\"mixer\"}) by (tag)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ tag }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Mixer Versions",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "content": "Resource Usage
",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "height": "40",
+ "id": 29,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 11
+ },
+ "id": 5,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(process_virtual_memory_bytes{job=~\"istio/istio-telemetry|istio/istio-policy\"}) by (job)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 2,
+ "legendFormat": "Virtual Memory ({{ job }})",
+ "refId": "I"
+ },
+ {
+ "expr": "sum(process_resident_memory_bytes{job=~\"istio/istio-telemetry|istio/istio-policy\"}) by (job)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Resident Memory ({{ job }})",
+ "refId": "H"
+ },
+ {
+ "expr": "sum(go_memstats_heap_sys_bytes{job=~\"istio/istio-telemetry|istio/istio-policy\"}) by (job)",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "heap sys ({{ job }})",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(go_memstats_heap_alloc_bytes{job=~\"istio/istio-telemetry|istio/istio-policy\"}) by (job)",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "heap alloc ({{ job }})",
+ "refId": "D"
+ },
+ {
+ "expr": "sum(go_memstats_alloc_bytes{job=~\"istio/istio-telemetry|istio/istio-policy\"}) by (job)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Alloc ({{ job }})",
+ "refId": "F"
+ },
+ {
+ "expr": "sum(go_memstats_heap_inuse_bytes{job=~\"istio/istio-telemetry|istio/istio-policy\"}) by (job)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Heap in-use ({{ job }})",
+ "refId": "E"
+ },
+ {
+ "expr": "sum(go_memstats_stack_inuse_bytes{job=~\"istio/istio-telemetry|istio/istio-policy\"}) by (job)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Stack in-use ({{ job }})",
+ "refId": "G"
+ },
+ {
+ "expr": "sum(label_replace(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (service)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ service }} total (k8s)",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(label_replace(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ service }} - {{ container_name }} (k8s)",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Memory",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 11
+ },
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[4m])) by (pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ service }} total (k8s)",
+ "refId": "A"
+ },
+ {
+ "expr": "label_replace(sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}[4m])) by (container_name, pod_name), \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ service }} - {{ container_name }} (k8s)",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(irate(process_cpu_seconds_total{job=~\"istio/istio-telemetry|istio/istio-policy\"}[4m])) by (job)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ job }} (self-reported)",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "CPU",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 11
+ },
+ "id": 7,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(process_open_fds{job=~\"istio/istio-telemetry|istio/istio-policy\"}) by (job)",
+ "format": "time_series",
+ "hide": true,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Open FDs ({{ job }})",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(label_replace(container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*|istio-policy-.*\"}, \"service\", \"$1\" , \"pod_name\", \"(istio-telemetry|istio-policy)-.*\")) by (container_name, service)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ service }} - {{ container_name }}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Disk",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "decimals": null,
+ "format": "none",
+ "label": "",
+ "logBase": 1024,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 11
+ },
+ "id": 4,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(go_goroutines{job=~\"istio/istio-telemetry|istio/istio-policy\"}) by (job)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Number of Goroutines ({{ job }})",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Goroutines",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "content": "Mixer Overview
",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "height": "40px",
+ "id": 30,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 21
+ },
+ "id": 9,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(grpc_io_server_completed_rpcs[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "mixer (Total)",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rate(grpc_io_server_completed_rpcs[4m])) by (grpc_server_method)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "mixer ({{ grpc_server_method }})",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Requests",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 21
+ },
+ "id": 8,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "{}",
+ "yaxis": 1
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.5, sum(rate(grpc_io_server_server_latency_bucket{}[4m])) by (grpc_server_method, le))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ grpc_server_method }} 0.5",
+ "refId": "B"
+ },
+ {
+ "expr": "histogram_quantile(0.9, sum(rate(grpc_io_server_server_latency_bucket{}[4m])) by (grpc_server_method, le))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ grpc_server_method }} 0.9",
+ "refId": "C"
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(rate(grpc_io_server_server_latency_bucket{}[4m])) by (grpc_server_method, le))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ grpc_server_method }} 0.99",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Response Durations",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "ms",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 21
+ },
+ "id": 11,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(grpc_server_handled_total{grpc_code=~\"Unknown|Unimplemented|Internal|DataLoss\"}[4m])) by (grpc_method)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Mixer {{ grpc_method }}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Server Error Rate (5xx responses)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 21
+ },
+ "id": 12,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(grpc_server_handled_total{grpc_code!=\"OK\",grpc_service=~\".*Mixer\"}[4m])) by (grpc_method)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Mixer {{ grpc_method }}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Non-successes (4xxs)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "content": "Adapters and Config
",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 28,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "id": 13,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(mixer_runtime_dispatches_total{adapter=~\"$adapter\"}[4m])) by (adapter)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ adapter }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Adapter Dispatch Count",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 14,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.5, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[4m])) by (adapter, le))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ adapter }} - p50",
+ "refId": "A"
+ },
+ {
+ "expr": "histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[4m])) by (adapter, le))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ adapter }} - p90 ",
+ "refId": "B"
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=~\"$adapter\"}[4m])) by (adapter, le))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ adapter }} - p99",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Adapter Dispatch Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 1,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 37
+ },
+ "id": 60,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "scalar(topk(1, max(mixer_config_rule_config_count) by (configID)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Rules",
+ "refId": "A"
+ },
+ {
+ "expr": "scalar(topk(1, max(mixer_config_rule_config_error_count) by (configID)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Config Errors",
+ "refId": "B"
+ },
+ {
+ "expr": "scalar(topk(1, max(mixer_config_rule_config_match_error_count) by (configID)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Match Errors",
+ "refId": "C"
+ },
+ {
+ "expr": "scalar(topk(1, max(mixer_config_unsatisfied_action_handler_count) by (configID)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Unsatisfied Actions",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Rules",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 37
+ },
+ "id": 56,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "scalar(topk(1, max(mixer_config_instance_config_count) by (configID)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Instances",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Instances in Latest Config",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 37
+ },
+ "id": 54,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "scalar(topk(1, max(mixer_config_handler_config_count) by (configID)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Handlers",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Handlers in Latest Config",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 37
+ },
+ "id": 58,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "scalar(topk(1, max(mixer_config_attribute_count) by (configID)))",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "Attributes",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Attributes in Latest Config",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "content": "Individual Adapters
",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 44
+ },
+ "id": 23,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 47
+ },
+ "id": 46,
+ "panels": [],
+ "repeat": "adapter",
+ "title": "$adapter Adapter",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 48
+ },
+ "id": 17,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "label_replace(irate(mixer_runtime_dispatches_total{adapter=\"$adapter\"}[4m]),\"handler\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ handler }} (error: {{ error }})",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Dispatch Count By Handler",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 48
+ },
+ "id": 18,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "label_replace(histogram_quantile(0.5, sum(rate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=\"$adapter\"}[4m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "p50 - {{ handler_short }} (error: {{ error }})",
+ "refId": "A"
+ },
+ {
+ "expr": "label_replace(histogram_quantile(0.9, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=\"$adapter\"}[4m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "p90 - {{ handler_short }} (error: {{ error }})",
+ "refId": "D"
+ },
+ {
+ "expr": "label_replace(histogram_quantile(0.99, sum(irate(mixer_runtime_dispatch_duration_seconds_bucket{adapter=\"$adapter\"}[4m])) by (handler, error, le)), \"handler_short\", \"$1 ($3)\", \"handler\", \"(.*)\\\\.(.*)\\\\.(.*)\")",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "p99 - {{ handler_short }} (error: {{ error }})",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Dispatch Duration By Handler",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 16,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Adapter",
+ "multi": true,
+ "name": "adapter",
+ "options": [],
+ "query": "label_values(adapter)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Istio Mixer Dashboard",
+ "version": 4
+}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_performance-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_performance-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..4d5b3c3f3f1831917307d52ad5d9872165aa2ce8
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_performance-dashboard.json
@@ -0,0 +1,1823 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": 9,
+ "links": [],
+ "panels": [
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 21,
+ "panels": [
+ {
+ "content": "The charts on this dashboard are intended to show Istio main components cost in terms resources utilization under steady load.\n\n- **vCPU/1k rps:** shows vCPU utilization by the main Istio components normalized by 1000 requests/second. When idle or low traffic, this chart will be blank. The curve for istio-proxy refers to the services sidecars only.\n- **vCPU:** vCPU utilization by Istio components, not normalized.\n- **Memory:** memory footprint for the components. Telemetry and policy are normalized by 1k rps, and no data is shown when there is no traffic. For ingress and istio-proxy, the data is per instance.\n- **Bytes transferred/ sec:** shows the number of bytes flowing through each Istio component.\n\n\n",
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 19,
+ "links": [],
+ "mode": "markdown",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Performance Dashboard README",
+ "transparent": true,
+ "type": "text"
+ }
+ ],
+ "title": "Performance Dashboard Notes",
+ "type": "row"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 6,
+ "panels": [],
+ "title": "vCPU Usage",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 2
+ },
+ "id": 4,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))/ (round(sum(irate(istio_requests_total[4m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-telemetry",
+ "refId": "A"
+ },
+ {
+ "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[4m])) / (round(sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[4m])), 0.001)/1000))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "istio-ingressgateway",
+ "refId": "B"
+ },
+ {
+ "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"}[4m]))/ (round(sum(irate(istio_requests_total[4m])), 0.001)/1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-proxy",
+ "refId": "C"
+ },
+ {
+ "expr": "(sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))/ (round(sum(irate(istio_requests_total[4m])), 0.001)/1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-policy",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "vCPU / 1k rps",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 2
+ },
+ "id": 7,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-telemetry-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-telemetry",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\",container_name=\"istio-proxy\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-ingressgateway",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-proxy",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",pod_name=~\"istio-policy-.*\",container_name=~\"mixer|istio-proxy\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-policy",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "vCPU",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 13,
+ "panels": [],
+ "title": "Memory and Data Rates",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 11
+ },
+ "id": 902,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-telemetry-.*\"}) / (sum(irate(istio_requests_total[4m])) / 1000)) / (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-telemetry / 1k rps",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\"}) / count(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-ingressgateway-.*\",container_name!=\"POD\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "per istio-ingressgateway",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"}) / count(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",namespace!=\"istio-system\",container_name=\"istio-proxy\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "per istio proxy",
+ "refId": "C"
+ },
+ {
+ "expr": "(sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",pod_name=~\"istio-policy-.*\"}) / (sum(irate(istio_requests_total[4m])) / 1000))/ (sum(irate(istio_requests_total{source_workload=\"istio-ingressgateway\"}[4m])) >bool 10)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-policy / 1k rps",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Memory Usage",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 11
+ },
+ "id": 11,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-telemetry\"}[4m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-telemetry\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-telemetry",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(irate(istio_response_bytes_sum{source_workload=\"istio-ingressgateway\", reporter=\"source\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-ingressgateway",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(irate(istio_response_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[4m])) + sum(irate(istio_response_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[4m])) + sum(irate(istio_request_bytes_sum{source_workload_namespace!=\"istio-system\", reporter=\"source\"}[4m])) + sum(irate(istio_request_bytes_sum{destination_workload_namespace!=\"istio-system\", reporter=\"destination\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio-proxy",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(irate(istio_response_bytes_sum{destination_workload=\"istio-policy\"}[4m])) + sum(irate(istio_request_bytes_sum{destination_workload=\"istio-policy\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "istio_policy",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Bytes transferred / sec",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 17,
+ "panels": [],
+ "title": "Istio Component Versions",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 15,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(istio_build) by (component, tag)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ component }}: {{ tag }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Istio Components by Version",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 71,
+ "panels": [],
+ "title": "Proxy Resource Usage",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 32
+ },
+ "id": 72,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=\"istio-proxy\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }} (k8s)",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Memory",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 32
+ },
+ "id": 73,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=\"istio-proxy\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Total (k8s)",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "vCPU",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 32
+ },
+ "id": 702,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=\"istio-proxy\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Disk",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "decimals": null,
+ "format": "none",
+ "label": "",
+ "logBase": 1024,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 39
+ },
+ "id": 69,
+ "panels": [],
+ "title": "Pilot Resource Usage",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 40
+ },
+ "id": 5,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_virtual_memory_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 2,
+ "legendFormat": "Virtual Memory",
+ "refId": "I",
+ "step": 2
+ },
+ {
+ "expr": "process_resident_memory_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Resident Memory",
+ "refId": "H",
+ "step": 2
+ },
+ {
+ "expr": "go_memstats_heap_sys_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "heap sys",
+ "refId": "A"
+ },
+ {
+ "expr": "go_memstats_heap_alloc_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "heap alloc",
+ "refId": "D"
+ },
+ {
+ "expr": "go_memstats_alloc_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Alloc",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "go_memstats_heap_inuse_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Heap in-use",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "go_memstats_stack_inuse_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Stack in-use",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Total (k8s)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }} (k8s)",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Memory",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 40
+ },
+ "id": 602,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Total (k8s)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}[4m])) by (container_name)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }} (k8s)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "irate(process_cpu_seconds_total{job=\"istio/pilot\"}[4m])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "pilot (self-reported)",
+ "refId": "C",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "vCPU",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 40
+ },
+ "id": 74,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_open_fds{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": true,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Open FDs (pilot)",
+ "refId": "A"
+ },
+ {
+ "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"discovery|istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Disk",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "decimals": null,
+ "format": "none",
+ "label": "",
+ "logBase": 1024,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 40
+ },
+ "id": 402,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "go_goroutines{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Number of Goroutines",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Goroutines",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 47
+ },
+ "id": 93,
+ "panels": [],
+ "title": "Mixer Resource Usage",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 48
+ },
+ "id": 94,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_virtual_memory_bytes{job=~\"istio/istio-telemetry|istio-policy\"}",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 2,
+ "legendFormat": "Virtual Memory",
+ "refId": "I",
+ "step": 2
+ },
+ {
+ "expr": "process_resident_memory_bytes{job=~\"istio/istio-telemetry|istio-policy\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Resident Memory",
+ "refId": "H",
+ "step": 2
+ },
+ {
+ "expr": "go_memstats_heap_sys_bytes{job=~\"istio/istio-telemetry|istio-policy\"}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "heap sys",
+ "refId": "A"
+ },
+ {
+ "expr": "go_memstats_heap_alloc_bytes{job=~\"istio/istio-telemetry|istio-policy\"}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "heap alloc",
+ "refId": "D"
+ },
+ {
+ "expr": "go_memstats_alloc_bytes{job=~\"istio/istio-telemetry|istio-policy\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Alloc",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "go_memstats_heap_inuse_bytes{job=~\"istio/istio-telemetry|istio-policy\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Heap in-use",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "go_memstats_stack_inuse_bytes{job=~\"istio/istio-policy|istio-telemetry\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Stack in-use",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "sum(container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Total (k8s)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }} (k8s)",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Memory",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 48
+ },
+ "id": 95,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Total (k8s)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "sum(rate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}[4m])) by (container_name)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }} (k8s)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "irate(process_cpu_seconds_total{job=~\"istio/istio-policy|istio/istio-telemetry\"}[4m])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "mixer (self-reported)",
+ "refId": "C",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "vCPU",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 48
+ },
+ "id": 96,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_open_fds{job=~\"istio/istio-policy|istio/istio-telemetry\"}",
+ "format": "time_series",
+ "hide": true,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Open FDs (pilot)",
+ "refId": "A"
+ },
+ {
+ "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"mixer|istio-proxy\", pod_name=~\"istio-telemetry-.*\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ container_name }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Disk",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "decimals": null,
+ "format": "none",
+ "label": "",
+ "logBase": 1024,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 48
+ },
+ "id": 97,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "go_goroutines{job=\"istio/istio-telemetry\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Number of Goroutines",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Goroutines",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "10s",
+ "schemaVersion": 18,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": []
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Istio Performance Dashboard",
+ "uid": "vu8e0VWZk",
+ "version": 22
+}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_pilot-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_pilot-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..a42d1e6994c559576491c4b57bcf6948a383ce66
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/c_istio_pilot-dashboard.json
@@ -0,0 +1,1591 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "id": 11,
+ "links": [],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 60,
+ "panels": [],
+ "title": "Deployed Versions",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 56,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(istio_build{component=\"pilot\"}) by (tag)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ tag }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Pilot Versions",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 62,
+ "panels": [],
+ "title": "Resource Usage",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 7
+ },
+ "id": 5,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_virtual_memory_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 2,
+ "legendFormat": "Virtual Memory",
+ "refId": "I",
+ "step": 2
+ },
+ {
+ "expr": "process_resident_memory_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Resident Memory",
+ "refId": "H",
+ "step": 2
+ },
+ {
+ "expr": "go_memstats_heap_sys_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "heap sys",
+ "refId": "A"
+ },
+ {
+ "expr": "go_memstats_heap_alloc_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "heap alloc",
+ "refId": "D"
+ },
+ {
+ "expr": "go_memstats_alloc_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Alloc",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "go_memstats_heap_inuse_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Heap in-use",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "go_memstats_stack_inuse_bytes{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Stack in-use",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"discovery\", pod_name=~\"istio-pilot-.*\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Discovery (container)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "container_memory_usage_bytes{job=\"kubernetes-cadvisor\", container_name=~\"istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Sidecar (container)",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Memory",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 7
+ },
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=\"discovery\", pod_name=~\"istio-pilot-.*\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Discovery (container)",
+ "refId": "A"
+ },
+ {
+ "expr": "irate(process_cpu_seconds_total{job=\"istio/pilot\"}[4m])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Discovery (process)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "sum(irate(container_cpu_usage_seconds_total{job=\"kubernetes-cadvisor\",container_name=\"istio-proxy\", pod_name=~\"istio-pilot-.*\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "Sidecar (container)",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "CPU",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 7
+ },
+ "id": 7,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=\"discovery\", pod_name=~\"istio-pilot-.*\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Discovery",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "container_fs_usage_bytes{job=\"kubernetes-cadvisor\", container_name=\"istio-proxy\", pod_name=~\"istio-pilot-.*\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Sidecar",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Disk",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "decimals": null,
+ "format": "none",
+ "label": "",
+ "logBase": 1024,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 7
+ },
+ "id": 4,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "go_goroutines{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Number of Goroutines",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Goroutines",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 58,
+ "panels": [],
+ "title": "Pilot Push Information",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "Shows the rate of pilot pushes",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 15
+ },
+ "id": 622,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": false,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "paceLength": 10,
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(pilot_xds_pushes{type=\"cds\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Cluster",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(irate(pilot_xds_pushes{type=\"eds\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Endpoints",
+ "refId": "D"
+ },
+ {
+ "expr": "sum(irate(pilot_xds_pushes{type=\"lds\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Listeners",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(irate(pilot_xds_pushes{type=\"rds\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Routes",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Pilot Pushes",
+ "tooltip": {
+ "shared": false,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "description": "Captures a variety of pilot errors",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 15
+ },
+ "id": 67,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(pilot_xds_cds_reject{job=\"istio/pilot\"}) or (absent(pilot_xds_cds_reject{job=\"istio/pilot\"}) - 1)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Rejected CDS Configs",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(pilot_xds_eds_reject{job=\"istio/pilot\"}) or (absent(pilot_xds_eds_reject{job=\"istio/pilot\"}) - 1)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Rejected EDS Configs",
+ "refId": "D"
+ },
+ {
+ "expr": "sum(pilot_xds_rds_reject{job=\"istio/pilot\"}) or (absent(pilot_xds_rds_reject{job=\"istio/pilot\"}) - 1)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Rejected RDS Configs",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(pilot_xds_lds_reject{job=\"istio/pilot\"}) or (absent(pilot_xds_lds_reject{job=\"istio/pilot\"}) - 1)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Rejected LDS Configs",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rate(pilot_xds_write_timeout{job=\"istio/pilot\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Write Timeouts",
+ "refId": "F"
+ },
+ {
+ "expr": "sum(rate(pilot_total_xds_internal_errors{job=\"istio/pilot\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Internal Errors",
+ "refId": "H"
+ },
+ {
+ "expr": "sum(rate(pilot_total_xds_rejects{job=\"istio/pilot\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Config Rejection Rate",
+ "refId": "E"
+ },
+ {
+ "expr": "sum(rate(pilot_xds_push_context_errors{job=\"istio/pilot\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Push Context Errors",
+ "refId": "K"
+ },
+ {
+ "expr": "sum(rate(pilot_xds_pushes{type!~\"lds|cds|rds|eds\"}[4m])) by (type)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Push Errors ({{ type }})",
+ "refId": "L"
+ },
+ {
+ "expr": "sum(rate(pilot_xds_push_errors{job=\"istio/pilot\"}[4m])) by (type)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Push Errors ({{ type }})",
+ "refId": "I"
+ },
+ {
+ "expr": "sum(rate(pilot_xds_push_timeout{job=\"istio/pilot\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Push Timeouts",
+ "refId": "G"
+ },
+ {
+ "expr": "sum(rate(pilot_xds_push_timeout_failures{job=\"istio/pilot\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Push Timeouts Failures",
+ "refId": "J"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Pilot Errors",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "description": "Shows the total time it takes to push a config update to a proxy",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 15
+ },
+ "id": 624,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.5, sum(rate(pilot_proxy_convergence_time_bucket[4m])) by (le))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "p50 ",
+ "refId": "A"
+ },
+ {
+ "expr": "histogram_quantile(0.9, sum(rate(pilot_proxy_convergence_time_bucket[4m])) by (le))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "p90",
+ "refId": "B"
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(rate(pilot_proxy_convergence_time_bucket[4m])) by (le))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "p99",
+ "refId": "C"
+ },
+ {
+ "expr": "histogram_quantile(0.999, sum(rate(pilot_proxy_convergence_time_bucket[4m])) by (le))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "p99.9",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Proxy Push Time",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 23
+ },
+ "id": 45,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "pilot_conflict_inbound_listener{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Inbound Listeners",
+ "refId": "B"
+ },
+ {
+ "expr": "pilot_conflict_outbound_listener_http_over_current_tcp{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Outbound Listeners (http over current tcp)",
+ "refId": "A"
+ },
+ {
+ "expr": "pilot_conflict_outbound_listener_tcp_over_current_tcp{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Outbound Listeners (tcp over current tcp)",
+ "refId": "C"
+ },
+ {
+ "expr": "pilot_conflict_outbound_listener_tcp_over_current_http{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Outbound Listeners (tcp over current http)",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Conflicts",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 23
+ },
+ "id": 47,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "pilot_virt_services{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Virtual Services",
+ "refId": "A"
+ },
+ {
+ "expr": "pilot_services{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Services",
+ "refId": "B"
+ },
+ {
+ "expr": "pilot_xds{job=\"istio/pilot\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Connected Endpoints",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "ADS Monitoring",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "columns": [],
+ "datasource": "RANCHER_MONITORING",
+ "description": "Clusters in this table do not have any endpoints known to pilot. This could be from referencing subsets that do not have any instances, or pods marked as NotReady",
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 23
+ },
+ "id": 51,
+ "links": [],
+ "pageSize": null,
+ "scroll": true,
+ "showHeader": true,
+ "sort": {
+ "col": null,
+ "desc": false
+ },
+ "styles": [
+ {
+ "alias": "Time",
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "Time",
+ "type": "date"
+ },
+ {
+ "alias": "Clusters",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "decimals": 2,
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "number",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "sum(pilot_xds_eds_instances{job=\"istio/pilot\", cluster=~\".+\\\\|.+\"}) by (cluster) < 1",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{cluster}}",
+ "refId": "B"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Clusters with no known endpoints",
+ "transform": "timeseries_aggregations",
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 64,
+ "panels": [],
+ "title": "Envoy Information",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "description": "Shows details about Envoy proxies in the mesh",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 32
+ },
+ "id": 40,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(envoy_cluster_upstream_cx_total{cluster_name=\"xds-grpc\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "XDS Connections",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(irate(envoy_cluster_upstream_cx_connect_fail{cluster_name=\"xds-grpc\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "XDS Connection Failures",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(increase(envoy_server_hot_restart_epoch[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Envoy Restarts",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Envoy Details",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 32
+ },
+ "id": 41,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(envoy_cluster_upstream_cx_active{cluster_name=\"xds-grpc\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "XDS Active Connections",
+ "refId": "C",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "XDS Active Connections",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "description": "Shows the size of XDS requests and responses",
+ "fill": 1,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 32
+ },
+ "id": 42,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max(rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "XDS Response Bytes Max",
+ "refId": "D"
+ },
+ {
+ "expr": "quantile(0.5, rate(envoy_cluster_upstream_cx_rx_bytes_total{cluster_name=\"xds-grpc\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "XDS Response Bytes Average",
+ "refId": "B"
+ },
+ {
+ "expr": "max(rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "XDS Request Bytes Max",
+ "refId": "A"
+ },
+ {
+ "expr": "quantile(.5, rate(envoy_cluster_upstream_cx_tx_bytes_total{cluster_name=\"xds-grpc\"}[4m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "XDS Request Bytes Average",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "XDS Requests Size",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 18,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": []
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "Istio Pilot Dashboard",
+ "uid": "3--MLVZZk",
+ "version": 11
+}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/w_istio_service-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/w_istio_service-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..590733f724d6a0c768e2fc4f535af360cfa5bb0b
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/w_istio_service-dashboard.json
@@ -0,0 +1,2601 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "iteration": 1536442501501,
+ "links": [],
+ "panels": [
+ {
+ "content": "",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 89,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "ops",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 3
+ },
+ "id": 12,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\"}[5m])), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "thresholds": "",
+ "title": "Client Request Volume",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(50, 172, 45, 0.97)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(245, 54, 54, 0.9)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "decimals": null,
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 80,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 3
+ },
+ "id": 14,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"source\",destination_service=~\"$service\"}[5m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "B"
+ }
+ ],
+ "thresholds": "95, 99, 99.5",
+ "title": "Client Success Rate (non-5xx responses)",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 3
+ },
+ "id": 87,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "P50",
+ "refId": "A"
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P90",
+ "refId": "B"
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\",destination_service=~\"$service\"}[4m])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P99",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Client Request Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "Bps",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 3
+ },
+ "id": 84,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", destination_service=~\"$service\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "TCP Received Bytes",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "ops",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 7
+ },
+ "id": 97,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\"}[5m])), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "thresholds": "",
+ "title": "Server Request Volume",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(50, 172, 45, 0.97)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(245, 54, 54, 0.9)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "decimals": null,
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 80,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 7
+ },
+ "id": 98,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\"}[5m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "B"
+ }
+ ],
+ "thresholds": "95, 99, 99.5",
+ "title": "Server Success Rate (non-5xx responses)",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 7
+ },
+ "id": 99,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "P50",
+ "refId": "A"
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P90",
+ "refId": "B"
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_service=~\"$service\"}[4m])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P99",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Server Request Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "Bps",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 7
+ },
+ "id": 100,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"source\", destination_service=~\"$service\"}[4m])) ",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "TCP Sent Bytes",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "content": "",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 45,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 25,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\",destination_service=~\"$service\",reporter=\"source\",source_workload=~\"$srcwl\",source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }} (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", reporter=\"source\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }}",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Requests by Source And Response Code",
+ "tooltip": {
+ "shared": false,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "id": 26,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Success Rate (non-5xx responses) By Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "percentunit",
+ "label": null,
+ "logBase": 1,
+ "max": "1.01",
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "description": "",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 20
+ },
+ "id": 27,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Request Duration by Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 20
+ },
+ "id": 28,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Request Size By Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 20
+ },
+ "id": 68,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Response Size By Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 80,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace), 0.001)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Bytes Received from Incoming TCP Connection",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 82,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Bytes Sent to Incoming TCP Connection",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "content": "",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 69,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 35
+ },
+ "id": 90,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\",destination_service=~\"$service\",reporter=\"destination\",destination_workload=~\"$dstwl\",destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} : {{ response_code }} (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", reporter=\"destination\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} : {{ response_code }}",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Requests by Destination And Response Code",
+ "tooltip": {
+ "shared": false,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 35
+ },
+ "id": 91,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\",response_code!~\"5.*\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace) / sum(rate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[5m])) by (destination_workload, destination_workload_namespace)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Success Rate (non-5xx responses) By Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "percentunit",
+ "label": null,
+ "logBase": 1,
+ "max": "1.01",
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "description": "",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 41
+ },
+ "id": 94,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Request Duration by Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 41
+ },
+ "id": 95,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Request Size By Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 41
+ },
+ "id": 96,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace }} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Response Size By Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 47
+ },
+ "id": 92,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace), 0.001)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace}} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{ destination_workload_namespace}}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Bytes Received from Incoming TCP Connection",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 47
+ },
+ "id": 93,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{destination_workload_namespace }} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", destination_service=~\"$service\", destination_workload=~\"$dstwl\", destination_workload_namespace=~\"$dstns\"}[4m])) by (destination_workload, destination_workload_namespace), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_workload }}.{{destination_workload_namespace }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Bytes Sent to Incoming TCP Connection",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "10s",
+ "schemaVersion": 16,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "allValue": null,
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service",
+ "multi": false,
+ "name": "service",
+ "options": [],
+ "query": "label_values(destination_service)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Client Workload Namespace",
+ "multi": true,
+ "name": "srcns",
+ "options": [],
+ "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=\"$service\"}) by (source_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\"}) by (source_workload_namespace))",
+ "refresh": 1,
+ "regex": "/.*namespace=\"([^\"]*).*/",
+ "sort": 2,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Client Workload",
+ "multi": true,
+ "name": "srcwl",
+ "options": [],
+ "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=~\"$service\", source_workload_namespace=~\"$srcns\"}) by (source_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\", source_workload_namespace=~\"$srcns\"}) by (source_workload))",
+ "refresh": 1,
+ "regex": "/.*workload=\"([^\"]*).*/",
+ "sort": 3,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service Workload Namespace",
+ "multi": true,
+ "name": "dstns",
+ "options": [],
+ "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=\"$service\"}) by (destination_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\"}) by (destination_workload_namespace))",
+ "refresh": 1,
+ "regex": "/.*namespace=\"([^\"]*).*/",
+ "sort": 2,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service Workload",
+ "multi": true,
+ "name": "dstwl",
+ "options": [],
+ "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_service=~\"$service\", destination_workload_namespace=~\"$dstns\"}) by (destination_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_service=~\"$service\", destination_workload_namespace=~\"$dstns\"}) by (destination_workload))",
+ "refresh": 1,
+ "regex": "/.*workload=\"([^\"]*).*/",
+ "sort": 3,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Istio Service Dashboard",
+ "uid": "LJ_uJAvmk",
+ "version": 1
+}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/w_istio_workload-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/w_istio_workload-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..00a54a2bd7c4c3a116db52ff9b9b39e209cad0cc
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/istio/w_istio_workload-dashboard.json
@@ -0,0 +1,2303 @@
+{
+ "__inputs": [
+ {
+ "name": "DS_PROMETHEUS",
+ "label": "Prometheus",
+ "description": "",
+ "type": "datasource",
+ "pluginId": "prometheus",
+ "pluginName": "Prometheus"
+ }
+ ],
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.0.4"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "datasource",
+ "id": "prometheus",
+ "name": "Prometheus",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "singlestat",
+ "name": "Singlestat",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": "5.0.0"
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": null,
+ "iteration": 1531345461465,
+ "links": [],
+ "panels": [
+ {
+ "content": "",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 89,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "ops",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 8,
+ "x": 0,
+ "y": 3
+ },
+ "id": 12,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\"}[5m])), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "thresholds": "",
+ "title": "Incoming Request Volume",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(50, 172, 45, 0.97)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(245, 54, 54, 0.9)"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "decimals": null,
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 80,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": false
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 8,
+ "x": 8,
+ "y": 3
+ },
+ "id": 14,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"destination\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\"}[5m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "B"
+ }
+ ],
+ "thresholds": "95, 99, 99.5",
+ "title": "Incoming Success Rate (non-5xx responses)",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 4,
+ "w": 8,
+ "x": 16,
+ "y": 3
+ },
+ "id": 87,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "P50",
+ "refId": "A"
+ },
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P90",
+ "refId": "B"
+ },
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\",destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\"}[4m])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P99",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Request Duration",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "Bps",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 84,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\"}[4m])) + sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "TCP Server Traffic",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": "RANCHER_MONITORING",
+ "format": "Bps",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 85,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(istio_tcp_sent_bytes_total{reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\"}[4m])) + sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\"}[4m]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "TCP Client Traffic",
+ "transparent": false,
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "content": "",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 45,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 25,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", reporter=\"destination\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }} (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", reporter=\"destination\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} : {{ response_code }}",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Requests by Source And Response Code",
+ "tooltip": {
+ "shared": false,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "id": 26,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\",response_code!~\"5.*\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[5m])) by (source_workload, source_workload_namespace)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Success Rate (non-5xx responses) By Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "percentunit",
+ "label": null,
+ "logBase": 1,
+ "max": "1.01",
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "description": "",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 20
+ },
+ "id": 27,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Request Duration by Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 20
+ },
+ "id": 28,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Incoming Request Size By Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 20
+ },
+ "id": 68,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload=~\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{source_workload}}.{{source_workload_namespace}} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Response Size By Source",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 80,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", connection_security_policy=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace), 0.001)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"destination\", connection_security_policy!=\"mutual_tls\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Bytes Received from Incoming TCP Connection",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 82,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"destination\", destination_workload_namespace=~\"$namespace\", destination_workload=~\"$workload\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[4m])) by (source_workload, source_workload_namespace), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ source_workload }}.{{ source_workload_namespace}}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Bytes Sent to Incoming TCP Connection",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ },
+ {
+ "content": "",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 69,
+ "links": [],
+ "mode": "html",
+ "title": "",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 35
+ },
+ "id": 70,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_requests_total{connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", reporter=\"source\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service, response_code), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} : {{ response_code }} (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_requests_total{connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", reporter=\"source\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service, response_code), 0.001)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} : {{ response_code }}",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Outgoing Requests by Destination And Response Code",
+ "tooltip": {
+ "shared": false,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 35
+ },
+ "id": 71,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\",response_code!~\"5.*\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\",response_code!~\"5.*\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service) / sum(irate(istio_requests_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[5m])) by (destination_service)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{destination_service }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Outgoing Success Rate (non-5xx responses) By Destination",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "percentunit",
+ "label": null,
+ "logBase": 1,
+ "max": "1.01",
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "description": "",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 41
+ },
+ "id": 72,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Outgoing Request Duration by Destination",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 41
+ },
+ "id": 73,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Outgoing Request Size By Destination",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 41
+ },
+ "id": 74,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "hideEmpty": true,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P50 (🔐mTLS)",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P90 (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P95 (🔐mTLS)",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P99 (🔐mTLS)",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P50",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P90",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P95",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service, le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} P99",
+ "refId": "H",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Response Size By Destination",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 47
+ },
+ "id": 76,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy=\"mutual_tls\", reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!=\"mutual_tls\", reporter=\"source\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Bytes Sent on Outgoing TCP Connection",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "RANCHER_MONITORING",
+ "fill": 1,
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 47
+ },
+ "id": 78,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }} (🔐mTLS)",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "round(sum(irate(istio_tcp_received_bytes_total{reporter=\"source\", connection_security_policy!=\"mutual_tls\", source_workload_namespace=~\"$namespace\", source_workload=~\"$workload\", destination_service=~\"$dstsvc\"}[4m])) by (destination_service), 0.001)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ destination_service }}",
+ "refId": "B",
+ "step": 2
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Bytes Received from Outgoing TCP Connection",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ }
+ ],
+ "refresh": "10s",
+ "schemaVersion": 16,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Namespace",
+ "multi": false,
+ "name": "namespace",
+ "options": [],
+ "query": "query_result(sum(istio_requests_total) by (destination_workload_namespace) or sum(istio_tcp_sent_bytes_total) by (destination_workload_namespace))",
+ "refresh": 1,
+ "regex": "/.*_namespace=\"([^\"]*).*/",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Workload",
+ "multi": false,
+ "name": "workload",
+ "options": [],
+ "query": "query_result((sum(istio_requests_total{destination_workload_namespace=~\"$namespace\"}) by (destination_workload) or sum(istio_requests_total{source_workload_namespace=~\"$namespace\"}) by (source_workload)) or (sum(istio_tcp_sent_bytes_total{destination_workload_namespace=~\"$namespace\"}) by (destination_workload) or sum(istio_tcp_sent_bytes_total{source_workload_namespace=~\"$namespace\"}) by (source_workload)))",
+ "refresh": 1,
+ "regex": "/.*workload=\"([^\"]*).*/",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Inbound Workload Namespace",
+ "multi": true,
+ "name": "srcns",
+ "options": [],
+ "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\"}) by (source_workload_namespace) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\"}) by (source_workload_namespace))",
+ "refresh": 1,
+ "regex": "/.*namespace=\"([^\"]*).*/",
+ "sort": 2,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Inbound Workload",
+ "multi": true,
+ "name": "srcwl",
+ "options": [],
+ "query": "query_result( sum(istio_requests_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload_namespace=~\"$srcns\"}) by (source_workload) or sum(istio_tcp_sent_bytes_total{reporter=\"destination\", destination_workload=\"$workload\", destination_workload_namespace=~\"$namespace\", source_workload_namespace=~\"$srcns\"}) by (source_workload))",
+ "refresh": 1,
+ "regex": "/.*workload=\"([^\"]*).*/",
+ "sort": 3,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": "RANCHER_MONITORING",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Destination Service",
+ "multi": true,
+ "name": "dstsvc",
+ "options": [],
+ "query": "query_result( sum(istio_requests_total{reporter=\"source\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\"}) by (destination_service) or sum(istio_tcp_sent_bytes_total{reporter=\"source\", source_workload=~\"$workload\", source_workload_namespace=~\"$namespace\"}) by (destination_service))",
+ "refresh": 1,
+ "regex": "/.*destination_service=\"([^\"]*).*/",
+ "sort": 4,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Istio Workload Dashboard",
+ "uid": "UbsSZTDik",
+ "version": 1
+}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_daemonset-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_daemonset-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..b8ea1221564d12208e72de823a505f6f456c3a70
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_daemonset-dashboard.json
@@ -0,0 +1 @@
+{"__requires":[{"id":"grafana","name":"Grafana","type":"grafana","version":"5.3.0"},{"id":"graph","name":"Graph","type":"panel","version":"5.0.0"},{"id":"prometheus","name":"Prometheus","type":"datasource","version":"5.0.0"},{"id":"singlestat","name":"Singlestat","type":"panel","version":"5.0.0"}],"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"description":"Kubernetes DaemonSet Overview","editable":true,"gnetId":6615,"graphTooltip":1,"id":null,"iteration":1543396055929,"links":[],"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","decimals":null,"editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":false},"gridPos":{"h":3,"w":8,"x":0,"y":0},"id":5,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(kube_daemonset_status_desired_number_scheduled{daemonset=\"$daemonset_name\",namespace=\"$daemonset_namespace\"}) without (instance, pod)","format":"time_series","instant":false,"interval":"","intervalFactor":2,"legendFormat":"","refId":"A","step":600}],"thresholds":"","title":"Desired Replicas","transparent":false,"type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":8,"x":8,"y":0},"id":6,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"min(kube_daemonset_status_number_available{daemonset=\"$daemonset_name\",namespace=\"$daemonset_namespace\"}) without (instance, pod)","format":"time_series","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Available Replicas","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":8,"x":16,"y":0},"id":2,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(kube_daemonset_metadata_generation{daemonset=\"$daemonset_name\",namespace=\"$daemonset_namespace\"}) without (instance, pod)","format":"time_series","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Metadata Generation","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["#299c46","rgba(237, 129, 40, 0.89)","#d44a3a"],"datasource":"RANCHER_MONITORING","decimals":2,"format":"s","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":6,"w":3,"x":0,"y":3},"id":11,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"time() - max(kube_daemonset_created{namespace=\"$daemonset_namespace\",daemonset=\"$daemonset_name\"})","format":"time_series","intervalFactor":1,"refId":"A"}],"thresholds":"","title":"DaemonSet Create Time","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":6,"w":7,"x":3,"y":3},"id":8,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"cores","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(rate(container_cpu_usage_seconds_total{namespace=\"$daemonset_namespace\",pod_name=~\"$daemonset_name.*\",container_name!=\"\"}[5m]))","format":"time_series","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"CPU","type":"singlestat","valueFontSize":"110%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"bytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":6,"w":7,"x":10,"y":3},"id":9,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"80%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(container_memory_working_set_bytes{namespace=\"$daemonset_namespace\",pod_name=~\"$daemonset_name.*\",container_name!=\"\"})","format":"time_series","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Memory","type":"singlestat","valueFontSize":"110%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"Bps","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":false},"gridPos":{"h":6,"w":7,"x":17,"y":3},"id":7,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(rate(container_network_transmit_bytes_total{namespace=\"$daemonset_namespace\",pod_name=~\"$daemonset_name.*\",container_name!=\"\"}[5m])) + sum(rate(container_network_receive_bytes_total{namespace=\"$daemonset_namespace\",pod_name=~\"$daemonset_name.*\",container_name!=\"\"}[5m]))","format":"time_series","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Network","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"N/A","value":"null"}],"valueName":"current"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":1,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":7,"w":12,"x":0,"y":9},"id":13,"isNew":false,"legend":{"alignAsTable":false,"avg":false,"current":true,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":false,"show":false,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum by (pod_name) (rate(container_cpu_usage_seconds_total{namespace=\"$daemonset_namespace\",pod_name=~\"$daemonset_name.*\",container_name!=\"\"}[5m]))","format":"time_series","intervalFactor":2,"legendFormat":"{{pod_name}}","refId":"A","step":30}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"CPU Usage","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"decimals":null,"format":"percentunit","label":"","logBase":1,"min":"0","show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":1,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":7,"w":12,"x":12,"y":9},"id":15,"isNew":false,"legend":{"alignAsTable":false,"avg":false,"current":false,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":false,"show":false,"total":false,"values":false},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum by (pod_name) (container_memory_working_set_bytes{namespace=\"$daemonset_namespace\",pod_name=~\"$daemonset_name.*\",container_name!=\"\"})","format":"time_series","interval":"10s","intervalFactor":1,"legendFormat":"{{ pod_name }}","refId":"A","step":15}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Memory Usage","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","logBase":1,"max":null,"min":"0","show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","decimals":0,"editable":true,"error":false,"fill":1,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":9,"w":24,"x":0,"y":16},"id":1,"isNew":true,"legend":{"alignAsTable":true,"avg":false,"current":true,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"avg(kube_daemonset_status_number_ready{daemonset=\"$daemonset_name\",namespace=\"$daemonset_namespace\"}) without (instance, pod)","format":"time_series","intervalFactor":1,"legendFormat":"Ready","refId":"A"},{"expr":"avg(kube_daemonset_status_number_available{daemonset=\"$daemonset_name\",namespace=\"$daemonset_namespace\"}) without (instance, pod)","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Available","refId":"C"},{"expr":"avg(kube_daemonset_status_number_unavailable{daemonset=\"$daemonset_name\",namespace=\"$daemonset_namespace\"}) without (instance, pod)","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Unavailable","refId":"B"},{"expr":"avg(kube_daemonset_status_number_misscheduled{daemonset=\"$daemonset_name\",namespace=\"$daemonset_namespace\"}) without (instance, pod)","format":"time_series","hide":false,"intervalFactor":1,"legendFormat":"Misscheduled","refId":"D"}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Replicas Status","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"decimals":0,"format":"none","label":"","logBase":1,"show":true},{"format":"short","label":"","logBase":1,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"refresh":"30s","schemaVersion":16,"style":"dark","tags":[],"templating":{"list":[{"allValue":"","current":{},"datasource":"RANCHER_MONITORING","hide":0,"includeAll":false,"label":"Namespace","multi":false,"name":"daemonset_namespace","options":[],"query":"label_values(kube_daemonset_metadata_generation, namespace)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":null,"tags":[],"tagsQuery":"","type":"query","useTags":false},{"allValue":"","current":{},"datasource":"RANCHER_MONITORING","hide":0,"includeAll":false,"label":"DaemonSet","multi":false,"name":"daemonset_name","options":[],"query":"label_values(kube_daemonset_metadata_generation{namespace=\"$daemonset_namespace\"}, daemonset)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false}]},"time":{"from":"now-5m","to":"now"},"timepicker":{"hidden":false,"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"DaemonSet","uid":"gekRLzHiz","version":1}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_deployment-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_deployment-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..7d307f543b3e29d3ede7c77756819d66f189d6b6
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_deployment-dashboard.json
@@ -0,0 +1 @@
+{"__requires":[{"id":"grafana","name":"Grafana","type":"grafana","version":"5.3.0"},{"id":"graph","name":"Graph","type":"panel","version":"5.0.0"},{"id":"prometheus","name":"Prometheus","type":"datasource","version":"5.0.0"},{"id":"singlestat","name":"Singlestat","type":"panel","version":"5.0.0"}],"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"editable":true,"gnetId":null,"graphTooltip":1,"id":null,"iteration":1543396071820,"links":[],"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":8,"x":0,"y":0},"id":8,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"cores","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(rate(container_cpu_usage_seconds_total{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\",container_name!=\"\"}[5m]))","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"CPU","type":"singlestat","valueFontSize":"110%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"decbytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":8,"x":8,"y":0},"id":9,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"80%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(container_memory_working_set_bytes{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\",container_name!=\"\"})","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Memory","type":"singlestat","valueFontSize":"110%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"Bps","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":false},"gridPos":{"h":5,"w":8,"x":16,"y":0},"id":7,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(rate(container_network_transmit_bytes_total{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\",container_name!=\"\"}[5m])) + sum(rate(container_network_receive_bytes_total{namespace=\"$deployment_namespace\",pod_name=~\"$deployment_name.*\",container_name!=\"\"}[5m]))","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Network","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":false},"gridPos":{"h":3,"w":6,"x":0,"y":5},"id":5,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(kube_deployment_spec_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)","intervalFactor":2,"metric":"kube_deployment_spec_replicas","refId":"A","step":600}],"thresholds":"","title":"Desired Replicas","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":6,"y":5},"id":6,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"min(kube_deployment_status_replicas_available{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Available Replicas","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":12,"y":5},"id":3,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(kube_deployment_status_observed_generation{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Observed Generation","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":18,"y":5},"id":2,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(kube_deployment_metadata_generation{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Metadata Generation","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":1,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":9,"w":24,"x":0,"y":8},"id":1,"isNew":true,"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":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"max(kube_deployment_status_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)","intervalFactor":2,"legendFormat":"Current","refId":"A","step":30},{"expr":"min(kube_deployment_status_replicas_available{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)","intervalFactor":2,"legendFormat":"Available","refId":"B","step":30},{"expr":"max(kube_deployment_status_replicas_unavailable{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)","intervalFactor":2,"legendFormat":"Unavailable","refId":"C","step":30},{"expr":"min(kube_deployment_status_replicas_updated{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)","intervalFactor":2,"legendFormat":"Updated","refId":"D","step":30},{"expr":"max(kube_deployment_spec_replicas{deployment=\"$deployment_name\",namespace=\"$deployment_namespace\"}) without (instance, pod)","intervalFactor":2,"legendFormat":"Desired","refId":"E","step":30}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Replicas","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"none","label":"","logBase":1,"show":true},{"format":"short","label":"","logBase":1,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"schemaVersion":16,"style":"dark","tags":[],"templating":{"list":[{"allValue":"","current":{},"datasource":"RANCHER_MONITORING","hide":0,"includeAll":false,"label":"Namespace","multi":false,"name":"deployment_namespace","options":[],"query":"label_values(kube_deployment_metadata_generation, namespace)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":null,"tags":[],"tagsQuery":"","type":"query","useTags":false},{"allValue":"","current":{},"datasource":"RANCHER_MONITORING","hide":0,"includeAll":false,"label":"Deployment","multi":false,"name":"deployment_name","options":[],"query":"label_values(kube_deployment_metadata_generation{namespace=\"$deployment_namespace\"}, deployment)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":"","tags":[],"tagsQuery":"deployment","type":"query","useTags":false}]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Deployment","uid":"kZdoIYxik","version":1}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_pods-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_pods-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..add1c0ceea62ead7ece09aa5e079c090c52818c4
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_pods-dashboard.json
@@ -0,0 +1 @@
+{"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"editable":true,"gnetId":null,"graphTooltip":1,"id":26,"iteration":1568019625400,"links":[],"panels":[{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":1,"fillGradient":0,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":7,"w":24,"x":0,"y":0},"id":1,"isNew":false,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum by(container_name) (container_memory_working_set_bytes{namespace=\"$namespace\",container_name!=\"\",container_name=~\"$container\",container_name!=\"POD\",pod_name=\"$pod\"})","interval":"10s","intervalFactor":1,"legendFormat":"Current: {{ container_name }}","metric":"container_memory_working_set_bytes","refId":"A","step":15},{"expr":"kube_pod_container_resource_requests_memory_bytes{namespace=\"$namespace\",pod=\"$pod\",container=~\"$container\"}","interval":"10s","intervalFactor":2,"legendFormat":"Requested: {{ container }}","metric":"kube_pod_container_resource_requests_memory_bytes","refId":"B","step":20},{"expr":"kube_pod_container_resource_limits_memory_bytes{namespace=\"$namespace\",pod=\"$pod\",container=~\"$container\"}","interval":"10s","intervalFactor":2,"legendFormat":"Limit: {{ container }}","metric":"kube_pod_container_resource_limits_memory_bytes","refId":"C","step":20}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Memory Usage","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","logBase":1,"show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":1,"fillGradient":0,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":7,"w":24,"x":0,"y":7},"id":2,"isNew":false,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sum by (container_name)(rate(container_cpu_usage_seconds_total{namespace=\"$namespace\",container_name!=\"\",container_name=~\"$container\",container_name!=\"POD\",pod_name=\"$pod\"}[5m]))","intervalFactor":2,"legendFormat":"Current: {{ container_name }}","refId":"A","step":30},{"expr":"kube_pod_container_resource_requests_cpu_cores{namespace=\"$namespace\",pod=\"$pod\",container=~\"$container\"}","interval":"10s","intervalFactor":2,"legendFormat":"Requested: {{ container }}","metric":"kube_pod_container_resource_requests_cpu_cores","refId":"B","step":20},{"expr":"kube_pod_container_resource_limits_cpu_cores{namespace=\"$namespace\",pod=\"$pod\",container=~\"$container\"}","interval":"10s","intervalFactor":2,"legendFormat":"Limit: {{ container }}","metric":"kube_pod_container_resource_limits_memory_bytes","refId":"C","step":20}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"CPU Usage","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"percentunit","logBase":1,"show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false,"alignLevel":null}},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":1,"fillGradient":0,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":7,"w":24,"x":0,"y":14},"id":3,"isNew":false,"legend":{"alignAsTable":true,"avg":true,"current":true,"hideEmpty":false,"hideZero":false,"max":false,"min":false,"rightSide":true,"show":true,"total":false,"values":true},"lines":true,"linewidth":2,"links":[],"nullPointMode":"connected","options":{"dataLinks":[]},"percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"sort_desc(sum by (pod_name) (rate(container_network_receive_bytes_total{namespace=\"$namespace\",pod_name=\"$pod\",container_name!=\"\"}[5m])))","intervalFactor":2,"legendFormat":"{{ pod_name }}","refId":"A","step":30}],"thresholds":[],"timeFrom":null,"timeRegions":[],"timeShift":null,"title":"Network I/O","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"bytes","logBase":1,"show":true},{"format":"short","logBase":1,"show":true}],"yaxis":{"align":false,"alignLevel":null}}],"refresh":false,"schemaVersion":19,"style":"dark","tags":[],"templating":{"list":[{"allValue":"","current":{"text":"cattle-system","value":"cattle-system"},"datasource":"RANCHER_MONITORING","definition":"","hide":0,"includeAll":false,"label":"Namespace","multi":false,"name":"namespace","options":[],"query":"label_values(kube_pod_info, namespace)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false},{"allValue":"","current":{"text":"cattle-node-agent-4kwsc","value":"cattle-node-agent-4kwsc"},"datasource":"RANCHER_MONITORING","definition":"","hide":0,"includeAll":false,"label":"Pod","multi":false,"name":"pod","options":[],"query":"label_values(kube_pod_info{namespace=\"$namespace\"}, pod)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false},{"allValue":".*","current":{"text":"All","value":"$__all"},"datasource":"RANCHER_MONITORING","definition":"","hide":0,"includeAll":true,"label":"Container","multi":false,"name":"container","options":[],"query":"label_values(kube_pod_container_info{namespace=\"$namespace\", pod=\"$pod\"}, container)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":"","tags":[],"tagsQuery":"","type":"query","useTags":false}]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"Pods","uid":"XSOTSYxiz","version":1}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_statefulset-dashboard.json b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_statefulset-dashboard.json
new file mode 100644
index 0000000000000000000000000000000000000000..a7020ea9db66c59cdd3f55dc9763dfef534db2a9
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/dashboards/w_statefulset-dashboard.json
@@ -0,0 +1 @@
+{"__requires":[{"id":"grafana","name":"Grafana","type":"grafana","version":"5.3.0"},{"id":"graph","name":"Graph","type":"panel","version":"5.0.0"},{"id":"prometheus","name":"Prometheus","type":"datasource","version":"5.0.0"},{"id":"singlestat","name":"Singlestat","type":"panel","version":"5.0.0"}],"annotations":{"list":[{"builtIn":1,"datasource":"-- Grafana --","enable":true,"hide":true,"iconColor":"rgba(0, 211, 255, 1)","name":"Annotations & Alerts","type":"dashboard"}]},"editable":true,"gnetId":null,"graphTooltip":1,"id":null,"iteration":1543396179999,"links":[],"panels":[{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":8,"x":0,"y":0},"id":8,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"cores","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(rate(container_cpu_usage_seconds_total{namespace=\"$statefulset_namespace\",pod_name=~\"$statefulset_name.*\",container_name!=\"\"}[5m]))","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"CPU","type":"singlestat","valueFontSize":"110%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"bytes","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":5,"w":8,"x":8,"y":0},"id":9,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"80%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(container_memory_working_set_bytes{namespace=\"$statefulset_namespace\",pod_name=~\"$statefulset_name.*\",container_name!=\"\"})","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Memory","type":"singlestat","valueFontSize":"110%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"current"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"Bps","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":false},"gridPos":{"h":5,"w":8,"x":16,"y":0},"id":7,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":true},"tableColumn":"","targets":[{"expr":"sum(rate(container_network_transmit_bytes_total{namespace=\"$statefulset_namespace\",pod_name=~\"$statefulset_name.*\",container_name!=\"\"}[5m])) + sum(rate(container_network_receive_bytes_total{namespace=\"$statefulset_namespace\",pod_name=~\"$statefulset_name.*\",container_name!=\"\"}[5m]))","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Network","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":false},"gridPos":{"h":3,"w":6,"x":0,"y":5},"id":5,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(kube_statefulset_replicas{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)","intervalFactor":2,"metric":"kube_statefulset_replicas","refId":"A","step":600}],"thresholds":"","title":"Desired Replicas","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":6,"y":5},"id":6,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"min(kube_statefulset_status_replicas{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Available Replicas","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":12,"y":5},"id":3,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(kube_statefulset_status_observed_generation{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Observed Generation","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"cacheTimeout":null,"colorBackground":false,"colorValue":false,"colors":["rgba(245, 54, 54, 0.9)","rgba(237, 129, 40, 0.89)","rgba(50, 172, 45, 0.97)"],"datasource":"RANCHER_MONITORING","editable":true,"format":"none","gauge":{"maxValue":100,"minValue":0,"show":false,"thresholdLabels":false,"thresholdMarkers":true},"gridPos":{"h":3,"w":6,"x":18,"y":5},"id":2,"interval":null,"links":[],"mappingType":1,"mappingTypes":[{"name":"value to text","value":1},{"name":"range to text","value":2}],"maxDataPoints":100,"nullPointMode":"connected","nullText":null,"postfix":"","postfixFontSize":"50%","prefix":"","prefixFontSize":"50%","rangeMaps":[{"from":"null","text":"N/A","to":"null"}],"sparkline":{"fillColor":"rgba(31, 118, 189, 0.18)","full":false,"lineColor":"rgb(31, 120, 193)","show":false},"tableColumn":"","targets":[{"expr":"max(kube_statefulset_metadata_generation{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)","intervalFactor":2,"refId":"A","step":600}],"thresholds":"","title":"Metadata Generation","type":"singlestat","valueFontSize":"80%","valueMaps":[{"op":"=","text":"0","value":"null"}],"valueName":"avg"},{"aliasColors":{},"bars":false,"dashLength":10,"dashes":false,"datasource":"RANCHER_MONITORING","editable":true,"error":false,"fill":1,"grid":{"threshold1Color":"rgba(216, 200, 27, 0.27)","threshold2Color":"rgba(234, 112, 112, 0.22)"},"gridPos":{"h":9,"w":24,"x":0,"y":8},"id":1,"isNew":true,"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":2,"links":[],"nullPointMode":"connected","percentage":false,"pointradius":5,"points":false,"renderer":"flot","seriesOverrides":[],"spaceLength":10,"stack":false,"steppedLine":false,"targets":[{"expr":"min(kube_statefulset_status_replicas{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)","intervalFactor":2,"legendFormat":"Available","refId":"B","step":30},{"expr":"max(kube_statefulset_replicas{statefulset=\"$statefulset_name\",namespace=\"$statefulset_namespace\"}) without (instance, pod)","intervalFactor":2,"legendFormat":"Desired","refId":"E","step":30}],"thresholds":[],"timeFrom":null,"timeShift":null,"title":"Replicas","tooltip":{"msResolution":true,"shared":true,"sort":0,"value_type":"cumulative"},"type":"graph","xaxis":{"buckets":null,"mode":"time","name":null,"show":true,"values":[]},"yaxes":[{"format":"none","label":"","logBase":1,"show":true},{"format":"short","label":"","logBase":1,"show":false}],"yaxis":{"align":false,"alignLevel":null}}],"schemaVersion":16,"style":"dark","tags":[],"templating":{"list":[{"allValue":"","current":{},"datasource":"RANCHER_MONITORING","hide":0,"includeAll":false,"label":"Namespace","multi":false,"name":"statefulset_namespace","options":[],"query":"label_values(kube_statefulset_metadata_generation, namespace)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":null,"tags":[],"tagsQuery":"","type":"query","useTags":false},{"allValue":"","current":{},"datasource":"RANCHER_MONITORING","hide":0,"includeAll":false,"label":"StatefulSet","multi":false,"name":"statefulset_name","options":[],"query":"label_values(kube_statefulset_metadata_generation{namespace=\"$statefulset_namespace\"}, statefulset)","refresh":1,"regex":"","skipUrlSync":false,"sort":0,"tagValuesQuery":"","tags":[],"tagsQuery":"statefulset","type":"query","useTags":false}]},"time":{"from":"now-5m","to":"now"},"timepicker":{"refresh_intervals":["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"],"time_options":["5m","15m","1h","6h","12h","24h","2d","7d","30d"]},"timezone":"browser","title":"StatefulSet","uid":"TDdTILbiz","version":1}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/_helpers.tpl b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/_helpers.tpl
new file mode 100644
index 0000000000000000000000000000000000000000..d5be9232eb24f72b4e1e6bb9d1dc2170ebecd61b
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/_helpers.tpl
@@ -0,0 +1,17 @@
+{{/* vim: set filetype=mustache: */}}
+
+{{- define "app.dashboards.fullname" -}}
+{{- $name := include "app.name" . -}}
+{{- printf "%s-%s-dashboards" $name .Release.Name -}}
+{{- end -}}
+
+
+{{- define "app.provisionings.fullname" -}}
+{{- $name := include "app.name" . -}}
+{{- printf "%s-%s-provisionings" $name .Release.Name -}}
+{{- end -}}
+
+{{- define "app.dashboards.istio-fullname" -}}
+{{- $name := include "app.name" . -}}
+{{- printf "%s-%s-%s-dashboards" $name "istio" .Release.Name -}}
+{{- end -}}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/dashboards-configmap.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/dashboards-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3ba9d5c23f1b3e16250fc81838b32f43f613f551
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/dashboards-configmap.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.dashboards.fullname" . }}
+data:
+{{- if eq .Values.level "cluster" }}
+{{ (.Files.Glob "dashboards/c_*.json").AsConfig | indent 2 }}
+{{- end }}
+{{ (.Files.Glob "dashboards/w_*.json").AsConfig | indent 2 }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/dashboards-istio-configmap.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/dashboards-istio-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1133751bb3151463d92663bb8d66e6e4f7c3b09a
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/dashboards-istio-configmap.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.dashboards.istio-fullname" . }}
+data:
+{{- if eq .Values.level "cluster" }}
+{{ (.Files.Glob "dashboards/istio/c_istio_*.json").AsConfig | indent 2 }}
+{{- end }}
+{{ (.Files.Glob "dashboards/istio/w_istio_*.json").AsConfig | indent 2 }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/deployment.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/deployment.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..1a82e920bd03eb2a0ba027822eb76ef485defb77
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/deployment.yaml
@@ -0,0 +1,173 @@
+apiVersion: {{ template "deployment_api_version" . }}
+kind: Deployment
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ spec:
+ initContainers:
+ - name: grafana-init-plugin-json-copy
+ image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ {{- if and .Values.resources .Values.resources.inits }}
+ resources:
+{{ toYaml .Values.resources.inits | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: grafana-nginx
+ mountPath: /run.sh
+ subPath: copy-datasource-plugin-json.sh
+ - name: grafana-static-contents
+ mountPath: /host
+ - name: grafana-init-plugin-json-modify
+ image: {{ template "system_default_registry" . }}{{ .Values.image.tool.repository }}:{{ .Values.image.tool.tag }}
+ command:
+ - /run.sh
+ {{- if and .Values.resources .Values.resources.inits }}
+ resources:
+{{ toYaml .Values.resources.inits | indent 10 }}
+ {{- end }}
+ volumeMounts:
+ - name: grafana-nginx
+ mountPath: /run.sh
+ subPath: modify-datasource-plugin-json.sh
+ - name: grafana-static-contents
+ mountPath: /host
+ containers:
+ - name: grafana
+ image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ env:
+ - name: GF_AUTH_BASIC_ENABLED
+ value: "true"
+ - name: GF_AUTH_ANONYMOUS_ENABLED
+ value: "true"
+{{- if .Values.extraVars }}
+{{ toYaml .Values.extraVars | indent 8 }}
+{{- end }}
+ volumeMounts:
+ - name: grafana-storage
+ mountPath: /var/lib/grafana
+ - name: grafana-static-contents
+ mountPath: /usr/share/grafana/public/app/plugins/datasource/prometheus/plugin.json
+ subPath: grafana/plugin.json
+ - name: grafana-dashboards
+ mountPath: /var/lib/grafana/rancher-dashboards
+ - name: grafana-istio-dashboards
+ mountPath: /var/lib/grafana/rancher-istio-dashboards
+ - name: grafana-provisionings
+ mountPath: /etc/grafana/provisioning/dashboards/all.yaml
+ subPath: dashboards.yaml
+ - name: grafana-provisionings
+ mountPath: /etc/grafana/provisioning/datasources/all.yaml
+ subPath: datasources.yaml
+ ports:
+ - name: web
+ containerPort: 3000
+ protocol: TCP
+ readinessProbe:
+ httpGet:
+ path: /api/health
+ port: 3000
+ periodSeconds: 1
+ timeoutSeconds: 1
+ successThreshold: 1
+ failureThreshold: 10
+ {{- if and .Values.resources .Values.resources.core }}
+ resources:
+{{ toYaml .Values.resources.core | indent 10 }}
+ {{- end }}
+ - name: grafana-proxy
+ image: {{ template "system_default_registry" . }}{{ .Values.image.proxy.repository }}:{{ .Values.image.proxy.tag }}
+ args:
+ - nginx
+ - -g
+ - daemon off;
+ - -c
+ - /nginx/nginx.conf
+ ports:
+ - name: http
+ containerPort: 8080
+ protocol: TCP
+ volumeMounts:
+ - mountPath: /nginx/
+ name: grafana-nginx
+ - mountPath: /var/cache/nginx
+ name: nginx-home
+ {{- if and .Values.resources .Values.resources.proxy }}
+ resources:
+{{ toYaml .Values.resources.proxy | indent 10 }}
+ securityContext:
+ runAsUser: 101
+ runAsGroup: 101
+ {{- end }}
+ nodeSelector:
+{{- include "linux-node-selector" . | nindent 8 }}
+ {{- range .Values.nodeSelectors }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ {{- if .Values.enabledRBAC }}
+ serviceAccountName: {{ default (default (include "app.fullname" .) .Values.serviceAccountName) .Values.serviceAccountNameOverride }}
+ {{- end }}
+ tolerations:
+{{- include "linux-node-tolerations" . | nindent 8 }}
+ {{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 8 }}
+ {{- end }}
+ securityContext:
+ runAsUser: 472
+ runAsGroup: 472
+ fsGroup: 472
+ volumes:
+ - name: grafana-static-contents
+ emptyDir: {}
+ - name: grafana-storage
+ {{- if or .Values.storageSpec .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ template "app.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ - name: grafana-nginx
+ configMap:
+ name: {{ template "app.nginx.fullname" . }}
+ items:
+ - key: nginx.conf
+ mode: 438
+ path: nginx.conf
+ - key: copy-datasource-plugin-json.sh
+ mode: 0777
+ path: copy-datasource-plugin-json.sh
+ - key: modify-datasource-plugin-json.sh
+ mode: 0777
+ path: modify-datasource-plugin-json.sh
+ - name: grafana-dashboards
+ configMap:
+ name: {{ template "app.dashboards.fullname" . }}
+ - name: grafana-istio-dashboards
+ configMap:
+ name: {{ template "app.dashboards.istio-fullname" . }}
+ - name: grafana-provisionings
+ configMap:
+ name: {{ template "app.provisionings.fullname" . }}
+ - name: nginx-home
+ emptyDir: {}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/metrics-service.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/metrics-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6873a82d9e97d74445f7c310bf3135073bb3b30e
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/metrics-service.yaml
@@ -0,0 +1,21 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: expose-grafana-metrics
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: metrics
+ port: 3000
+ targetPort: web
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/nginx-configmap.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/nginx-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..aa3228f7967a45215a571a54f5b4fbc4488b4005
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/nginx-configmap.yaml
@@ -0,0 +1,111 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "app.nginx.fullname" . }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ component: nginx
+data:
+ copy-datasource-plugin-json.sh: |-
+ #!/bin/bash
+
+ srcpath="/usr/share/grafana/public/app/plugins/datasource/prometheus/plugin.json"
+ dstpath="/host/grafana/raw-plugin.json"
+
+ if [[ -f $srcpath ]] && [[ -d /host ]]; then
+ mkdir -p /host/grafana
+ cp -f $srcpath $dstpath
+
+ exit 0
+ fi
+
+ exit 1
+
+ modify-datasource-plugin-json.sh: |-
+ #!/bin/sh
+
+ srcpath="/host/grafana/raw-plugin.json"
+ dstpath="/host/grafana/plugin.json"
+
+ if [ -f $srcpath ] && [ -d /host ]; then
+ mkdir -p /host/grafana
+
+ token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
+
+ cat $srcpath | K8S_BEARERTOKEN="Bearer $token" jq 'to_entries | . + [{"key":"routes","value":[{"path":"api/v1","url":"{{ .Values.prometheusDatasourceURL }}/api/v1","headers":[{"name":"Authorization","content":env.K8S_BEARERTOKEN}]}]}] | from_entries' > $dstpath
+
+ exit 0
+ fi
+
+ exit 1
+
+ nginx.conf: |-
+ worker_processes auto;
+ error_log /dev/stdout warn;
+ pid /var/cache/nginx/nginx.pid;
+
+ events {
+ worker_connections 1024;
+ }
+
+ http {
+ include /etc/nginx/mime.types;
+ log_format main '[$time_local - $status] $remote_addr - $remote_user $request ($http_referer)';
+
+ proxy_connect_timeout 10;
+ proxy_read_timeout 180;
+ proxy_send_timeout 5;
+ proxy_buffering off;
+ proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=my_zone:100m inactive=1d max_size=10g;
+
+ server {
+ listen 8080;
+ access_log off;
+
+ gzip on;
+ gzip_min_length 1k;
+ gzip_comp_level 2;
+ gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript image/jpeg image/gif image/png;
+ gzip_vary on;
+ gzip_disable "MSIE [1-6]\.";
+
+ proxy_set_header Host $host;
+
+ location /api/dashboards {
+ proxy_pass http://localhost:3000;
+ }
+
+ location /api/search {
+ proxy_pass http://localhost:3000;
+
+ sub_filter_types application/json;
+ sub_filter_once off;
+ sub_filter '"url":"/d' '"url":"d';
+ }
+
+ location / {
+ proxy_cache my_zone;
+ proxy_cache_valid 200 302 1d;
+ proxy_cache_valid 301 30d;
+ proxy_cache_valid any 5m;
+ proxy_cache_bypass $http_cache_control;
+ add_header X-Proxy-Cache $upstream_cache_status;
+ add_header Cache-Control "public";
+
+ proxy_pass http://localhost:3000/;
+
+ sub_filter_types text/html;
+ sub_filter_once off;
+ sub_filter '"appSubUrl":""' '"appSubUrl":"."';
+ sub_filter '"url":"/' '"url":"./';
+ sub_filter ':"/avatar/' ':"avatar/';
+
+ if ($request_filename ~ .*\.(?:js|css|jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$) {
+ expires 90d;
+ }
+ }
+ }
+ }
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/provisionings-configmap.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/provisionings-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8d2391d8511f02ba04e8022718ce7444fcd8d820
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/provisionings-configmap.yaml
@@ -0,0 +1,40 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.provisionings.fullname" . }}
+data:
+ dashboards.yaml: |+
+ - name: RANCHER_MONITORING
+ orgId: 1
+ folder: ''
+ type: file
+ disableDeletion: false
+ updateIntervalSeconds: 0 #never
+ options:
+ path: /var/lib/grafana/rancher-dashboards
+ - name: RANCHER_ISTIO_MONITORING
+ orgId: 2
+ folder: 'istio'
+ type: file
+ disableDeletion: false
+ updateIntervalSeconds: 0 #never
+ options:
+ path: /var/lib/grafana/rancher-istio-dashboards
+
+
+ datasources.yaml: |+
+ apiVersion: 1
+
+ datasources:
+ - name: RANCHER_MONITORING
+ type: prometheus
+ access: proxy
+ basicAuth: false
+ editable: false
+ isDefault: true
+ url: {{ .Values.prometheusDatasourceURL }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/pvc.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/pvc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1443336ff981fab96221fe976135c03f72d972d3
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/pvc.yaml
@@ -0,0 +1,24 @@
+{{- if or .Values.storageSpec .Values.persistence.enabled -}}
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+spec:
+ {{- if .Values.storageSpec }}
+{{ toYaml .Values.storageSpec | indent 2 }}
+ {{- else }}
+ accessModes:
+ - {{ default "ReadWriteOnce" .Values.persistence.accessMode }}
+ {{ if and .Values.persistence.storageClass (ne "default" .Values.persistence.storageClass) }}
+ storageClassName: {{ .Values.persistence.storageClass }}
+ {{ end }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size | quote }}
+ {{- end }}
+{{- end -}}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/rbac.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/rbac.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..84e08d851e460455fa44c1e41db63764ff53df4a
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/rbac.yaml
@@ -0,0 +1,13 @@
+{{- if and .Values.enabledRBAC (not .Values.serviceAccountName) }}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+imagePullSecrets:
+{{ toYaml .Values.image.pullSecrets | indent 2 }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fd26aa2abdff557a3e61ff447bae1252d769fc2a
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/service.yaml
@@ -0,0 +1,21 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: access-grafana
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ kubernetes.io/cluster-service: "true"
+spec:
+ type: ClusterIP
+ sessionAffinity: ClientIP
+ selector:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: http
+ port: 80
+ targetPort: http
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f62030472ea508e39d2e303b8f4264c482b3ddf1
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/templates/servicemonitor.yaml
@@ -0,0 +1,35 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace | quote }}
+ endpoints:
+ - port: metrics
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/grafana/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/grafana/values.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..65f546c1cccaac0d0a289765b8ee6f2ec7622582
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/grafana/values.yaml
@@ -0,0 +1,53 @@
+enabledRBAC: true
+
+## Tolerations for use with node taints
+## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+##
+tolerations: []
+ # - key: "key"
+ # operator: "Equal"
+ # value: "value"
+ # effect: "NoSchedule"
+
+## Pass extra environment variables to the Grafana container.
+##
+# extraVars:
+# - name: EXTRA_VAR_1
+# value: extra-var-value-1
+# - name: EXTRA_VAR_2
+# value: extra-var-value-2
+extraVars:
+
+storageSpec: {}
+# storageClassName: default
+# accessModes:
+# - ReadWriteOnce
+# resources:
+# requests:
+# storage: 2Gi
+# selector: {}
+
+## Resource limits & requests
+## Ref: https://kubernetes.io/docs/user-guide/compute-resources/
+resources:
+ inits:
+ limits:
+ memory: 50Mi
+ cpu: 50m
+ requests:
+ memory: 50Mi
+ cpu: 50m
+ core:
+ limits:
+ memory: 200Mi
+ cpu: 200m
+ requests:
+ memory: 100Mi
+ cpu: 100m
+ proxy:
+ limits:
+ memory: 100Mi
+ cpu: 100m
+ requests:
+ memory: 50Mi
+ cpu: 50m
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/Chart.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c3caeb9bc2e21e1e9d8e862a13faff3871cadabf
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/Chart.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+name: operator-init
+version: 0.1.0
+appVersion: 0.1.0
+tillerVersion: ">=2.7.2-0"
+description: Helm chart to initialize Prometheus Operator CRDs
+keywords:
+ - prometheus-operator
+ - crd
+maintainers:
+- name: support
+ email: support@rancher.com
+engine: gotpl
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/LICENSE b/charts/rancher-monitoring/v0.0.6/charts/operator-init/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..56df9b297a0f0ce65d1ac65ee99ca304d55eaeb0
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018 Istio Authors
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/README.md b/charts/rancher-monitoring/v0.0.6/charts/operator-init/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..3a0deaa59f44079e3235e988fd662e25c4632b30
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/README.md
@@ -0,0 +1,27 @@
+# operator-init
+
+## Introduction
+
+This chart bootstraps prometheus-operator's [CRDs](https://github.com/helm/charts/tree/master/stable/prometheus-operator/templates/prometheus-operator)
+which are an internal implementation detail of prometheus-operator. CRDs define data structures for storing runtime configuration
+specified by a human operator.
+
+This chart must be run to completion prior to running other Prometheus Operator charts, or other prometheus-operator charts will fail to initialize.
+
+## Prerequisites
+
+- Kubernetes 1.9 or newer cluster with RBAC (Role-Based Access Control) enabled is required
+- Helm 2.7.2 or newer or alternately the ability to modify RBAC rules is also required
+
+## Resources Required
+
+The chart deploys pods that consume minimal resources.
+
+## Uninstalling the Chart
+
+> Warning: Deleting CRDs will delete any configuration that you have made to prometheus-operator.
+
+To delete all CRDs, run the following command
+ ```
+ kubectl delete -f files/.
+ ```
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-alertmanager.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-alertmanager.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..76c34a49b7470729ea30efb8044ee46621a71cca
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-alertmanager.yaml
@@ -0,0 +1,2399 @@
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: "alertmanagers.monitoring.coreos.com"
+ labels:
+ app: operator-init
+ chart: rancher-monitoring-0.3.0
+ heritage: Tiller
+ release: prometheus-operator
+spec:
+ group: "monitoring.coreos.com"
+ names:
+ kind: Alertmanager
+ plural: alertmanagers
+ scope: Namespaced
+ validation:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ spec:
+ description: 'AlertmanagerSpec is a specification of the desired behavior
+ of the Alertmanager cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status'
+ properties:
+ additionalPeers:
+ description: AdditionalPeers allows injecting a set of additional Alertmanagers
+ to peer with to form a highly available cluster.
+ items:
+ type: string
+ type: array
+ affinity:
+ description: Affinity is a group of affinity scheduling rules.
+ properties:
+ nodeAffinity:
+ description: Node affinity is a group of node affinity scheduling
+ rules.
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes
+ that satisfy the affinity expressions specified by this field,
+ but it may choose a node that violates one or more of the
+ expressions. The node that is most preferred is the one with
+ the greatest sum of weights, i.e. for each node that meets
+ all of the scheduling requirements (resource request, requiredDuringScheduling
+ affinity expressions, etc.), compute a sum by iterating through
+ the elements of this field and adding "weight" to the sum
+ if the node matches the corresponding matchExpressions; the
+ node(s) with the highest sum are the most preferred.
+ items:
+ description: An empty preferred scheduling term matches all
+ objects with implicit weight 0 (i.e. it's a no-op). A null
+ preferred scheduling term matches no objects (i.e. is also
+ a no-op).
+ properties:
+ preference:
+ description: A null or empty node selector term matches
+ no objects. The requirements of them are ANDed. The
+ TopologySelectorTerm type implements a subset of the
+ NodeSelectorTerm.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements
+ by node's labels.
+ items:
+ description: A node selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: The label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists, DoesNotExist. Gt, and Lt.
+ type: string
+ values:
+ description: An array of string values. If the
+ operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be
+ empty. If the operator is Gt or Lt, the values
+ array must have a single element, which will
+ be interpreted as an integer. This array is
+ replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: array
+ matchFields:
+ description: A list of node selector requirements
+ by node's fields.
+ items:
+ description: A node selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: The label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists, DoesNotExist. Gt, and Lt.
+ type: string
+ values:
+ description: An array of string values. If the
+ operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be
+ empty. If the operator is Gt or Lt, the values
+ array must have a single element, which will
+ be interpreted as an integer. This array is
+ replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: array
+ weight:
+ description: Weight associated with matching the corresponding
+ nodeSelectorTerm, in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - weight
+ - preference
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: A node selector represents the union of the results
+ of one or more label queries over a set of nodes; that is,
+ it represents the OR of the selectors represented by the node
+ selector terms.
+ properties:
+ nodeSelectorTerms:
+ description: Required. A list of node selector terms. The
+ terms are ORed.
+ items:
+ description: A null or empty node selector term matches
+ no objects. The requirements of them are ANDed. The
+ TopologySelectorTerm type implements a subset of the
+ NodeSelectorTerm.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements
+ by node's labels.
+ items:
+ description: A node selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: The label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists, DoesNotExist. Gt, and Lt.
+ type: string
+ values:
+ description: An array of string values. If the
+ operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be
+ empty. If the operator is Gt or Lt, the values
+ array must have a single element, which will
+ be interpreted as an integer. This array is
+ replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: array
+ matchFields:
+ description: A list of node selector requirements
+ by node's fields.
+ items:
+ description: A node selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: The label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists, DoesNotExist. Gt, and Lt.
+ type: string
+ values:
+ description: An array of string values. If the
+ operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be
+ empty. If the operator is Gt or Lt, the values
+ array must have a single element, which will
+ be interpreted as an integer. This array is
+ replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: array
+ type: array
+ required:
+ - nodeSelectorTerms
+ podAffinity:
+ description: Pod affinity is a group of inter pod affinity scheduling
+ rules.
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes
+ that satisfy the affinity expressions specified by this field,
+ but it may choose a node that violates one or more of the
+ expressions. The node that is most preferred is the one with
+ the greatest sum of weights, i.e. for each node that meets
+ all of the scheduling requirements (resource request, requiredDuringScheduling
+ affinity expressions, etc.), compute a sum by iterating through
+ the elements of this field and adding "weight" to the sum
+ if the node has pods which matches the corresponding podAffinityTerm;
+ the node(s) with the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Defines a set of pods (namely those matching
+ the labelSelector relative to the given namespace(s))
+ that this pod should be co-located (affinity) or not
+ co-located (anti-affinity) with, where co-located is
+ defined as running on a node whose value of the label
+ with key matches that of any node on which
+ a pod of the set of pods is running
+ properties:
+ labelSelector:
+ description: A label selector is a label query over
+ a set of resources. The result of matchLabels and
+ matchExpressions are ANDed. An empty label selector
+ matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label
+ selector requirements. The requirements are
+ ANDed.
+ items:
+ description: A label selector requirement is
+ a selector that contains values, a key, and
+ an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the
+ selector applies to.
+ type: string
+ operator:
+ description: operator represents a key's
+ relationship to a set of values. Valid
+ operators are In, NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string
+ values. If the operator is In or NotIn,
+ the values array must be non-empty. If
+ the operator is Exists or DoesNotExist,
+ the values array must be empty. This array
+ is replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value}
+ pairs. A single {key,value} in the matchLabels
+ map is equivalent to an element of matchExpressions,
+ whose key field is "key", the operator is "In",
+ and the values array contains only "value".
+ The requirements are ANDed.
+ type: object
+ namespaces:
+ description: namespaces specifies which namespaces
+ the labelSelector applies to (matches against);
+ null or empty list means "this pod's namespace"
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity)
+ or not co-located (anti-affinity) with the pods
+ matching the labelSelector in the specified namespaces,
+ where co-located is defined as running on a node
+ whose value of the label with key topologyKey matches
+ that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ weight:
+ description: weight associated with matching the corresponding
+ podAffinityTerm, in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - weight
+ - podAffinityTerm
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the affinity requirements specified by this
+ field are not met at scheduling time, the pod will not be
+ scheduled onto the node. If the affinity requirements specified
+ by this field cease to be met at some point during pod execution
+ (e.g. due to a pod label update), the system may or may not
+ try to eventually evict the pod from its node. When there
+ are multiple elements, the lists of nodes corresponding to
+ each podAffinityTerm are intersected, i.e. all terms must
+ be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching
+ the labelSelector relative to the given namespace(s)) that
+ this pod should be co-located (affinity) or not co-located
+ (anti-affinity) with, where co-located is defined as running
+ on a node whose value of the label with key
+ matches that of any node on which a pod of the set of pods
+ is running
+ properties:
+ labelSelector:
+ description: A label selector is a label query over a
+ set of resources. The result of matchLabels and matchExpressions
+ are ANDed. An empty label selector matches all objects.
+ A null label selector matches no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector
+ requirements. The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: operator represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values.
+ If the operator is In or NotIn, the values
+ array must be non-empty. If the operator is
+ Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a
+ strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs.
+ A single {key,value} in the matchLabels map is equivalent
+ to an element of matchExpressions, whose key field
+ is "key", the operator is "In", and the values array
+ contains only "value". The requirements are ANDed.
+ type: object
+ namespaces:
+ description: namespaces specifies which namespaces the
+ labelSelector applies to (matches against); null or
+ empty list means "this pod's namespace"
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity)
+ or not co-located (anti-affinity) with the pods matching
+ the labelSelector in the specified namespaces, where
+ co-located is defined as running on a node whose value
+ of the label with key topologyKey matches that of any
+ node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: array
+ podAntiAffinity:
+ description: Pod anti affinity is a group of inter pod anti affinity
+ scheduling rules.
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes
+ that satisfy the anti-affinity expressions specified by this
+ field, but it may choose a node that violates one or more
+ of the expressions. The node that is most preferred is the
+ one with the greatest sum of weights, i.e. for each node that
+ meets all of the scheduling requirements (resource request,
+ requiredDuringScheduling anti-affinity expressions, etc.),
+ compute a sum by iterating through the elements of this field
+ and adding "weight" to the sum if the node has pods which
+ matches the corresponding podAffinityTerm; the node(s) with
+ the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Defines a set of pods (namely those matching
+ the labelSelector relative to the given namespace(s))
+ that this pod should be co-located (affinity) or not
+ co-located (anti-affinity) with, where co-located is
+ defined as running on a node whose value of the label
+ with key matches that of any node on which
+ a pod of the set of pods is running
+ properties:
+ labelSelector:
+ description: A label selector is a label query over
+ a set of resources. The result of matchLabels and
+ matchExpressions are ANDed. An empty label selector
+ matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label
+ selector requirements. The requirements are
+ ANDed.
+ items:
+ description: A label selector requirement is
+ a selector that contains values, a key, and
+ an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the
+ selector applies to.
+ type: string
+ operator:
+ description: operator represents a key's
+ relationship to a set of values. Valid
+ operators are In, NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string
+ values. If the operator is In or NotIn,
+ the values array must be non-empty. If
+ the operator is Exists or DoesNotExist,
+ the values array must be empty. This array
+ is replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value}
+ pairs. A single {key,value} in the matchLabels
+ map is equivalent to an element of matchExpressions,
+ whose key field is "key", the operator is "In",
+ and the values array contains only "value".
+ The requirements are ANDed.
+ type: object
+ namespaces:
+ description: namespaces specifies which namespaces
+ the labelSelector applies to (matches against);
+ null or empty list means "this pod's namespace"
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity)
+ or not co-located (anti-affinity) with the pods
+ matching the labelSelector in the specified namespaces,
+ where co-located is defined as running on a node
+ whose value of the label with key topologyKey matches
+ that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ weight:
+ description: weight associated with matching the corresponding
+ podAffinityTerm, in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - weight
+ - podAffinityTerm
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the anti-affinity requirements specified by
+ this field are not met at scheduling time, the pod will not
+ be scheduled onto the node. If the anti-affinity requirements
+ specified by this field cease to be met at some point during
+ pod execution (e.g. due to a pod label update), the system
+ may or may not try to eventually evict the pod from its node.
+ When there are multiple elements, the lists of nodes corresponding
+ to each podAffinityTerm are intersected, i.e. all terms must
+ be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching
+ the labelSelector relative to the given namespace(s)) that
+ this pod should be co-located (affinity) or not co-located
+ (anti-affinity) with, where co-located is defined as running
+ on a node whose value of the label with key
+ matches that of any node on which a pod of the set of pods
+ is running
+ properties:
+ labelSelector:
+ description: A label selector is a label query over a
+ set of resources. The result of matchLabels and matchExpressions
+ are ANDed. An empty label selector matches all objects.
+ A null label selector matches no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector
+ requirements. The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: operator represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values.
+ If the operator is In or NotIn, the values
+ array must be non-empty. If the operator is
+ Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a
+ strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs.
+ A single {key,value} in the matchLabels map is equivalent
+ to an element of matchExpressions, whose key field
+ is "key", the operator is "In", and the values array
+ contains only "value". The requirements are ANDed.
+ type: object
+ namespaces:
+ description: namespaces specifies which namespaces the
+ labelSelector applies to (matches against); null or
+ empty list means "this pod's namespace"
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity)
+ or not co-located (anti-affinity) with the pods matching
+ the labelSelector in the specified namespaces, where
+ co-located is defined as running on a node whose value
+ of the label with key topologyKey matches that of any
+ node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: array
+ baseImage:
+ description: Base image that is used to deploy pods, without tag.
+ type: string
+ configMaps:
+ description: ConfigMaps is a list of ConfigMaps in the same namespace
+ as the Alertmanager object, which shall be mounted into the Alertmanager
+ Pods. The ConfigMaps are mounted into /etc/alertmanager/configmaps/.
+ items:
+ type: string
+ type: array
+ containers:
+ description: Containers allows injecting additional containers. This
+ is meant to allow adding an authentication proxy to an Alertmanager
+ pod.
+ items:
+ description: A single application container that you want to run within
+ a pod.
+ properties:
+ args:
+ description: 'Arguments to the entrypoint. The docker image''s
+ CMD is used if this is not provided. Variable references $(VAR_NAME)
+ are expanded using the container''s environment. If a variable
+ cannot be resolved, the reference in the input string will be
+ unchanged. The $(VAR_NAME) syntax can be escaped with a double
+ $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
+ regardless of whether the variable exists or not. Cannot be
+ updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
+ items:
+ type: string
+ type: array
+ command:
+ description: 'Entrypoint array. Not executed within a shell. The
+ docker image''s ENTRYPOINT is used if this is not provided.
+ Variable references $(VAR_NAME) are expanded using the container''s
+ environment. If a variable cannot be resolved, the reference
+ in the input string will be unchanged. The $(VAR_NAME) syntax
+ can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references
+ will never be expanded, regardless of whether the variable exists
+ or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
+ items:
+ type: string
+ type: array
+ env:
+ description: List of environment variables to set in the container.
+ Cannot be updated.
+ items:
+ description: EnvVar represents an environment variable present
+ in a Container.
+ properties:
+ name:
+ description: Name of the environment variable. Must be a
+ C_IDENTIFIER.
+ type: string
+ value:
+ description: 'Variable references $(VAR_NAME) are expanded
+ using the previous defined environment variables in the
+ container and any service environment variables. If a
+ variable cannot be resolved, the reference in the input
+ string will be unchanged. The $(VAR_NAME) syntax can be
+ escaped with a double $$, ie: $$(VAR_NAME). Escaped references
+ will never be expanded, regardless of whether the variable
+ exists or not. Defaults to "".'
+ type: string
+ valueFrom:
+ description: EnvVarSource represents a source for the value
+ of an EnvVar.
+ properties:
+ configMapKeyRef:
+ description: Selects a key from a ConfigMap.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap or it's
+ key must be defined
+ type: boolean
+ required:
+ - key
+ fieldRef:
+ description: ObjectFieldSelector selects an APIVersioned
+ field of an object.
+ properties:
+ apiVersion:
+ description: Version of the schema the FieldPath
+ is written in terms of, defaults to "v1".
+ type: string
+ fieldPath:
+ description: Path of the field to select in the
+ specified API version.
+ type: string
+ required:
+ - fieldPath
+ resourceFieldRef:
+ description: ResourceFieldSelector represents container
+ resources (cpu, memory) and their output format
+ properties:
+ containerName:
+ description: 'Container name: required for volumes,
+ optional for env vars'
+ type: string
+ divisor: {}
+ resource:
+ description: 'Required: resource to select'
+ type: string
+ required:
+ - resource
+ secretKeyRef:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's
+ key must be defined
+ type: boolean
+ required:
+ - key
+ required:
+ - name
+ type: array
+ envFrom:
+ description: List of sources to populate environment variables
+ in the container. The keys defined within a source must be a
+ C_IDENTIFIER. All invalid keys will be reported as an event
+ when the container is starting. When a key exists in multiple
+ sources, the value associated with the last source will take
+ precedence. Values defined by an Env with a duplicate key will
+ take precedence. Cannot be updated.
+ items:
+ description: EnvFromSource represents the source of a set of
+ ConfigMaps
+ properties:
+ configMapRef:
+ description: |-
+ ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.
+ The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.
+ properties:
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap must be defined
+ type: boolean
+ prefix:
+ description: An optional identifier to prepend to each key
+ in the ConfigMap. Must be a C_IDENTIFIER.
+ type: string
+ secretRef:
+ description: |-
+ SecretEnvSource selects a Secret to populate the environment variables with.
+ The contents of the target Secret's Data field will represent the key-value pairs as environment variables.
+ properties:
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret must be defined
+ type: boolean
+ type: array
+ image:
+ description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
+ This field is optional to allow higher level config management
+ to default or override container images in workload controllers
+ like Deployments and StatefulSets.'
+ type: string
+ imagePullPolicy:
+ description: 'Image pull policy. One of Always, Never, IfNotPresent.
+ Defaults to Always if :latest tag is specified, or IfNotPresent
+ otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
+ type: string
+ lifecycle:
+ description: Lifecycle describes actions that the management system
+ should take in response to container lifecycle events. For the
+ PostStart and PreStop lifecycle handlers, management of the
+ container blocks until the action is complete, unless the container
+ process fails, in which case the handler is aborted.
+ properties:
+ postStart:
+ description: Handler defines a specific action that should
+ be taken
+ properties:
+ exec:
+ description: ExecAction describes a "run in container"
+ action.
+ properties:
+ command:
+ description: Command is the command line to execute
+ inside the container, the working directory for
+ the command is root ('/') in the container's filesystem.
+ The command is simply exec'd, it is not run inside
+ a shell, so traditional shell instructions ('|',
+ etc) won't work. To use a shell, you need to explicitly
+ call out to that shell. Exit status of 0 is treated
+ as live/healthy and non-zero is unhealthy.
+ items:
+ type: string
+ type: array
+ httpGet:
+ description: HTTPGetAction describes an action based on
+ HTTP Get requests.
+ properties:
+ host:
+ description: Host name to connect to, defaults to
+ the pod IP. You probably want to set "Host" in httpHeaders
+ instead.
+ type: string
+ httpHeaders:
+ description: Custom headers to set in the request.
+ HTTP allows repeated headers.
+ items:
+ description: HTTPHeader describes a custom header
+ to be used in HTTP probes
+ properties:
+ name:
+ description: The header field name
+ type: string
+ value:
+ description: The header field value
+ type: string
+ required:
+ - name
+ - value
+ type: array
+ path:
+ description: Path to access on the HTTP server.
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ scheme:
+ description: Scheme to use for connecting to the host.
+ Defaults to HTTP.
+ type: string
+ required:
+ - port
+ tcpSocket:
+ description: TCPSocketAction describes an action based
+ on opening a socket
+ properties:
+ host:
+ description: 'Optional: Host name to connect to, defaults
+ to the pod IP.'
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ required:
+ - port
+ preStop:
+ description: Handler defines a specific action that should
+ be taken
+ properties:
+ exec:
+ description: ExecAction describes a "run in container"
+ action.
+ properties:
+ command:
+ description: Command is the command line to execute
+ inside the container, the working directory for
+ the command is root ('/') in the container's filesystem.
+ The command is simply exec'd, it is not run inside
+ a shell, so traditional shell instructions ('|',
+ etc) won't work. To use a shell, you need to explicitly
+ call out to that shell. Exit status of 0 is treated
+ as live/healthy and non-zero is unhealthy.
+ items:
+ type: string
+ type: array
+ httpGet:
+ description: HTTPGetAction describes an action based on
+ HTTP Get requests.
+ properties:
+ host:
+ description: Host name to connect to, defaults to
+ the pod IP. You probably want to set "Host" in httpHeaders
+ instead.
+ type: string
+ httpHeaders:
+ description: Custom headers to set in the request.
+ HTTP allows repeated headers.
+ items:
+ description: HTTPHeader describes a custom header
+ to be used in HTTP probes
+ properties:
+ name:
+ description: The header field name
+ type: string
+ value:
+ description: The header field value
+ type: string
+ required:
+ - name
+ - value
+ type: array
+ path:
+ description: Path to access on the HTTP server.
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ scheme:
+ description: Scheme to use for connecting to the host.
+ Defaults to HTTP.
+ type: string
+ required:
+ - port
+ tcpSocket:
+ description: TCPSocketAction describes an action based
+ on opening a socket
+ properties:
+ host:
+ description: 'Optional: Host name to connect to, defaults
+ to the pod IP.'
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ required:
+ - port
+ livenessProbe:
+ description: Probe describes a health check to be performed against
+ a container to determine whether it is alive or ready to receive
+ traffic.
+ properties:
+ exec:
+ description: ExecAction describes a "run in container" action.
+ properties:
+ command:
+ description: Command is the command line to execute inside
+ the container, the working directory for the command is
+ root ('/') in the container's filesystem. The command
+ is simply exec'd, it is not run inside a shell, so traditional
+ shell instructions ('|', etc) won't work. To use a shell,
+ you need to explicitly call out to that shell. Exit
+ status of 0 is treated as live/healthy and non-zero
+ is unhealthy.
+ items:
+ type: string
+ type: array
+ failureThreshold:
+ description: Minimum consecutive failures for the probe to
+ be considered failed after having succeeded. Defaults to
+ 3. Minimum value is 1.
+ format: int32
+ type: integer
+ httpGet:
+ description: HTTPGetAction describes an action based on HTTP
+ Get requests.
+ properties:
+ host:
+ description: Host name to connect to, defaults to the
+ pod IP. You probably want to set "Host" in httpHeaders
+ instead.
+ type: string
+ httpHeaders:
+ description: Custom headers to set in the request. HTTP
+ allows repeated headers.
+ items:
+ description: HTTPHeader describes a custom header to
+ be used in HTTP probes
+ properties:
+ name:
+ description: The header field name
+ type: string
+ value:
+ description: The header field value
+ type: string
+ required:
+ - name
+ - value
+ type: array
+ path:
+ description: Path to access on the HTTP server.
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ scheme:
+ description: Scheme to use for connecting to the host.
+ Defaults to HTTP.
+ type: string
+ required:
+ - port
+ initialDelaySeconds:
+ description: 'Number of seconds after the container has started
+ before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
+ format: int32
+ type: integer
+ periodSeconds:
+ description: How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: Minimum consecutive successes for the probe to
+ be considered successful after having failed. Defaults to
+ 1. Must be 1 for liveness. Minimum value is 1.
+ format: int32
+ type: integer
+ tcpSocket:
+ description: TCPSocketAction describes an action based on
+ opening a socket
+ properties:
+ host:
+ description: 'Optional: Host name to connect to, defaults
+ to the pod IP.'
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ required:
+ - port
+ timeoutSeconds:
+ description: 'Number of seconds after which the probe times
+ out. Defaults to 1 second. Minimum value is 1. More info:
+ https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
+ format: int32
+ type: integer
+ name:
+ description: Name of the container specified as a DNS_LABEL. Each
+ container in a pod must have a unique name (DNS_LABEL). Cannot
+ be updated.
+ type: string
+ ports:
+ description: List of ports to expose from the container. Exposing
+ a port here gives the system additional information about the
+ network connections a container uses, but is primarily informational.
+ Not specifying a port here DOES NOT prevent that port from being
+ exposed. Any port which is listening on the default "0.0.0.0"
+ address inside a container will be accessible from the network.
+ Cannot be updated.
+ items:
+ description: ContainerPort represents a network port in a single
+ container.
+ properties:
+ containerPort:
+ description: Number of port to expose on the pod's IP address.
+ This must be a valid port number, 0 < x < 65536.
+ format: int32
+ type: integer
+ hostIP:
+ description: What host IP to bind the external port to.
+ type: string
+ hostPort:
+ description: Number of port to expose on the host. If specified,
+ this must be a valid port number, 0 < x < 65536. If HostNetwork
+ is specified, this must match ContainerPort. Most containers
+ do not need this.
+ format: int32
+ type: integer
+ name:
+ description: If specified, this must be an IANA_SVC_NAME
+ and unique within the pod. Each named port in a pod must
+ have a unique name. Name for the port that can be referred
+ to by services.
+ type: string
+ protocol:
+ description: Protocol for port. Must be UDP, TCP, or SCTP.
+ Defaults to "TCP".
+ type: string
+ required:
+ - containerPort
+ type: array
+ readinessProbe:
+ description: Probe describes a health check to be performed against
+ a container to determine whether it is alive or ready to receive
+ traffic.
+ properties:
+ exec:
+ description: ExecAction describes a "run in container" action.
+ properties:
+ command:
+ description: Command is the command line to execute inside
+ the container, the working directory for the command is
+ root ('/') in the container's filesystem. The command
+ is simply exec'd, it is not run inside a shell, so traditional
+ shell instructions ('|', etc) won't work. To use a shell,
+ you need to explicitly call out to that shell. Exit
+ status of 0 is treated as live/healthy and non-zero
+ is unhealthy.
+ items:
+ type: string
+ type: array
+ failureThreshold:
+ description: Minimum consecutive failures for the probe to
+ be considered failed after having succeeded. Defaults to
+ 3. Minimum value is 1.
+ format: int32
+ type: integer
+ httpGet:
+ description: HTTPGetAction describes an action based on HTTP
+ Get requests.
+ properties:
+ host:
+ description: Host name to connect to, defaults to the
+ pod IP. You probably want to set "Host" in httpHeaders
+ instead.
+ type: string
+ httpHeaders:
+ description: Custom headers to set in the request. HTTP
+ allows repeated headers.
+ items:
+ description: HTTPHeader describes a custom header to
+ be used in HTTP probes
+ properties:
+ name:
+ description: The header field name
+ type: string
+ value:
+ description: The header field value
+ type: string
+ required:
+ - name
+ - value
+ type: array
+ path:
+ description: Path to access on the HTTP server.
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ scheme:
+ description: Scheme to use for connecting to the host.
+ Defaults to HTTP.
+ type: string
+ required:
+ - port
+ initialDelaySeconds:
+ description: 'Number of seconds after the container has started
+ before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
+ format: int32
+ type: integer
+ periodSeconds:
+ description: How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: Minimum consecutive successes for the probe to
+ be considered successful after having failed. Defaults to
+ 1. Must be 1 for liveness. Minimum value is 1.
+ format: int32
+ type: integer
+ tcpSocket:
+ description: TCPSocketAction describes an action based on
+ opening a socket
+ properties:
+ host:
+ description: 'Optional: Host name to connect to, defaults
+ to the pod IP.'
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ required:
+ - port
+ timeoutSeconds:
+ description: 'Number of seconds after which the probe times
+ out. Defaults to 1 second. Minimum value is 1. More info:
+ https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
+ format: int32
+ type: integer
+ resources:
+ description: ResourceRequirements describes the compute resource
+ requirements.
+ properties:
+ limits:
+ description: 'Limits describes the maximum amount of compute
+ resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ requests:
+ description: 'Requests describes the minimum amount of compute
+ resources required. If Requests is omitted for a container,
+ it defaults to Limits if that is explicitly specified, otherwise
+ to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ securityContext:
+ description: SecurityContext holds security configuration that
+ will be applied to a container. Some fields are present in both
+ SecurityContext and PodSecurityContext. When both are set,
+ the values in SecurityContext take precedence.
+ properties:
+ allowPrivilegeEscalation:
+ description: 'AllowPrivilegeEscalation controls whether a
+ process can gain more privileges than its parent process.
+ This bool directly controls if the no_new_privs flag will
+ be set on the container process. AllowPrivilegeEscalation
+ is true always when the container is: 1) run as Privileged
+ 2) has CAP_SYS_ADMIN'
+ type: boolean
+ capabilities:
+ description: Adds and removes POSIX capabilities from running
+ containers.
+ properties:
+ add:
+ description: Added capabilities
+ items:
+ type: string
+ type: array
+ drop:
+ description: Removed capabilities
+ items:
+ type: string
+ type: array
+ privileged:
+ description: Run container in privileged mode. Processes in
+ privileged containers are essentially equivalent to root
+ on the host. Defaults to false.
+ type: boolean
+ procMount:
+ description: procMount denotes the type of proc mount to use
+ for the containers. The default is DefaultProcMount which
+ uses the container runtime defaults for readonly paths and
+ masked paths. This requires the ProcMountType feature flag
+ to be enabled.
+ type: string
+ readOnlyRootFilesystem:
+ description: Whether this container has a read-only root filesystem.
+ Default is false.
+ type: boolean
+ runAsGroup:
+ description: The GID to run the entrypoint of the container
+ process. Uses runtime default if unset. May also be set
+ in PodSecurityContext. If set in both SecurityContext and
+ PodSecurityContext, the value specified in SecurityContext
+ takes precedence.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root
+ user. If true, the Kubelet will validate the image at runtime
+ to ensure that it does not run as UID 0 (root) and fail
+ to start the container if it does. If unset or false, no
+ such validation will be performed. May also be set in PodSecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the
+ value specified in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container
+ process. Defaults to user specified in image metadata if
+ unspecified. May also be set in PodSecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the
+ value specified in SecurityContext takes precedence.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: SELinuxOptions are the labels to be applied to
+ the container
+ properties:
+ level:
+ description: Level is SELinux level label that applies
+ to the container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies
+ to the container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies
+ to the container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies
+ to the container.
+ type: string
+ stdin:
+ description: Whether this container should allocate a buffer for
+ stdin in the container runtime. If this is not set, reads from
+ stdin in the container will always result in EOF. Default is
+ false.
+ type: boolean
+ stdinOnce:
+ description: Whether the container runtime should close the stdin
+ channel after it has been opened by a single attach. When stdin
+ is true the stdin stream will remain open across multiple attach
+ sessions. If stdinOnce is set to true, stdin is opened on container
+ start, is empty until the first client attaches to stdin, and
+ then remains open and accepts data until the client disconnects,
+ at which time stdin is closed and remains closed until the container
+ is restarted. If this flag is false, a container processes that
+ reads from stdin will never receive an EOF. Default is false
+ type: boolean
+ terminationMessagePath:
+ description: 'Optional: Path at which the file to which the container''s
+ termination message will be written is mounted into the container''s
+ filesystem. Message written is intended to be brief final status,
+ such as an assertion failure message. Will be truncated by the
+ node if greater than 4096 bytes. The total message length across
+ all containers will be limited to 12kb. Defaults to /dev/termination-log.
+ Cannot be updated.'
+ type: string
+ terminationMessagePolicy:
+ description: Indicate how the termination message should be populated.
+ File will use the contents of terminationMessagePath to populate
+ the container status message on both success and failure. FallbackToLogsOnError
+ will use the last chunk of container log output if the termination
+ message file is empty and the container exited with an error.
+ The log output is limited to 2048 bytes or 80 lines, whichever
+ is smaller. Defaults to File. Cannot be updated.
+ type: string
+ tty:
+ description: Whether this container should allocate a TTY for
+ itself, also requires 'stdin' to be true. Default is false.
+ type: boolean
+ volumeDevices:
+ description: volumeDevices is the list of block devices to be
+ used by the container. This is a beta feature.
+ items:
+ description: volumeDevice describes a mapping of a raw block
+ device within a container.
+ properties:
+ devicePath:
+ description: devicePath is the path inside of the container
+ that the device will be mapped to.
+ type: string
+ name:
+ description: name must match the name of a persistentVolumeClaim
+ in the pod
+ type: string
+ required:
+ - name
+ - devicePath
+ type: array
+ volumeMounts:
+ description: Pod volumes to mount into the container's filesystem.
+ Cannot be updated.
+ items:
+ description: VolumeMount describes a mounting of a Volume within
+ a container.
+ properties:
+ mountPath:
+ description: Path within the container at which the volume
+ should be mounted. Must not contain ':'.
+ type: string
+ mountPropagation:
+ description: mountPropagation determines how mounts are
+ propagated from the host to container and the other way
+ around. When not set, MountPropagationNone is used. This
+ field is beta in 1.10.
+ type: string
+ name:
+ description: This must match the Name of a Volume.
+ type: string
+ readOnly:
+ description: Mounted read-only if true, read-write otherwise
+ (false or unspecified). Defaults to false.
+ type: boolean
+ subPath:
+ description: Path within the volume from which the container's
+ volume should be mounted. Defaults to "" (volume's root).
+ type: string
+ required:
+ - name
+ - mountPath
+ type: array
+ workingDir:
+ description: Container's working directory. If not specified,
+ the container runtime's default will be used, which might be
+ configured in the container image. Cannot be updated.
+ type: string
+ required:
+ - name
+ type: array
+ externalUrl:
+ description: The external URL the Alertmanager instances will be available
+ under. This is necessary to generate correct URLs. This is necessary
+ if Alertmanager is not served from root of a DNS name.
+ type: string
+ image:
+ description: Image if specified has precedence over baseImage, tag and
+ sha combinations. Specifying the version is still necessary to ensure
+ the Prometheus Operator knows what version of Alertmanager is being
+ configured.
+ type: string
+ imagePullSecrets:
+ description: An optional list of references to secrets in the same namespace
+ to use for pulling prometheus and alertmanager images from registries
+ see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
+ items:
+ description: LocalObjectReference contains enough information to let
+ you locate the referenced object inside the same namespace.
+ properties:
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ type: array
+ listenLocal:
+ description: ListenLocal makes the Alertmanager server listen on loopback,
+ so that it does not bind against the Pod IP. Note this is only for
+ the Alertmanager UI, not the gossip communication.
+ type: boolean
+ logLevel:
+ description: Log level for Alertmanager to be configured with.
+ type: string
+ nodeSelector:
+ description: Define which Nodes the Pods are scheduled on.
+ type: object
+ paused:
+ description: If set to true all actions on the underlaying managed objects
+ are not goint to be performed, except for delete actions.
+ type: boolean
+ podMetadata:
+ description: ObjectMeta is metadata that all persisted resources must
+ have, which includes all objects users must create.
+ properties:
+ annotations:
+ description: 'Annotations is an unstructured key value map stored
+ with a resource that may be set by external tools to store and
+ retrieve arbitrary metadata. They are not queryable and should
+ be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
+ type: object
+ clusterName:
+ description: The name of the cluster which the object belongs to.
+ This is used to distinguish resources with same name and namespace
+ in different clusters. This field is not set anywhere right now
+ and apiserver is going to ignore it if set in create or update
+ request.
+ type: string
+ creationTimestamp:
+ description: Time is a wrapper around time.Time which supports correct
+ marshaling to YAML and JSON. Wrappers are provided for many of
+ the factory methods that the time package offers.
+ format: date-time
+ type: string
+ deletionGracePeriodSeconds:
+ description: Number of seconds allowed for this object to gracefully
+ terminate before it will be removed from the system. Only set
+ when deletionTimestamp is also set. May only be shortened. Read-only.
+ format: int64
+ type: integer
+ deletionTimestamp:
+ description: Time is a wrapper around time.Time which supports correct
+ marshaling to YAML and JSON. Wrappers are provided for many of
+ the factory methods that the time package offers.
+ format: date-time
+ type: string
+ finalizers:
+ description: Must be empty before the object is deleted from the
+ registry. Each entry is an identifier for the responsible component
+ that will remove the entry from the list. If the deletionTimestamp
+ of the object is non-nil, entries in this list can only be removed.
+ items:
+ type: string
+ type: array
+ generateName:
+ description: |-
+ GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
+ If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
+ Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
+ type: string
+ generation:
+ description: A sequence number representing a specific generation
+ of the desired state. Populated by the system. Read-only.
+ format: int64
+ type: integer
+ initializers:
+ description: Initializers tracks the progress of initialization.
+ properties:
+ pending:
+ description: Pending is a list of initializers that must execute
+ in order before this object is visible. When the last pending
+ initializer is removed, and no failing result is set, the
+ initializers struct will be set to nil and the object is considered
+ as initialized and visible to all clients.
+ items:
+ description: Initializer is information about an initializer
+ that has not yet completed.
+ properties:
+ name:
+ description: name of the process that is responsible for
+ initializing this object.
+ type: string
+ required:
+ - name
+ type: array
+ result:
+ description: Status is a return value for calls that don't return
+ other objects.
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of
+ this representation of an object. Servers should convert
+ recognized schemas to the latest internal value, and may
+ reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ code:
+ description: Suggested HTTP return code for this status,
+ 0 if not set.
+ format: int32
+ type: integer
+ details:
+ description: StatusDetails is a set of additional properties
+ that MAY be set by the server to provide additional information
+ about a response. The Reason field of a Status object
+ defines what attributes will be set. Clients must ignore
+ fields that do not match the defined type of each attribute,
+ and should assume that any attribute may be empty, invalid,
+ or under defined.
+ properties:
+ causes:
+ description: The Causes array includes more details
+ associated with the StatusReason failure. Not all
+ StatusReasons may provide detailed causes.
+ items:
+ description: StatusCause provides more information
+ about an api.Status failure, including cases when
+ multiple errors are encountered.
+ properties:
+ field:
+ description: |-
+ The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
+ Examples:
+ "name" - the field "name" on the current resource
+ "items[0].name" - the field "name" on the first array entry in "items"
+ type: string
+ message:
+ description: A human-readable description of the
+ cause of the error. This field may be presented
+ as-is to a reader.
+ type: string
+ reason:
+ description: A machine-readable description of
+ the cause of the error. If this value is empty
+ there is no information available.
+ type: string
+ type: array
+ group:
+ description: The group attribute of the resource associated
+ with the status StatusReason.
+ type: string
+ kind:
+ description: 'The kind attribute of the resource associated
+ with the status StatusReason. On some operations may
+ differ from the requested resource Kind. More info:
+ https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: The name attribute of the resource associated
+ with the status StatusReason (when there is a single
+ name which can be described).
+ type: string
+ retryAfterSeconds:
+ description: If specified, the time in seconds before
+ the operation should be retried. Some errors may indicate
+ the client must take an alternate action - for those
+ errors this field may indicate how long to wait before
+ taking the alternate action.
+ format: int32
+ type: integer
+ uid:
+ description: 'UID of the resource. (when there is a
+ single resource which can be described). More info:
+ http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST
+ resource this object represents. Servers may infer this
+ from the endpoint the client submits requests to. Cannot
+ be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ message:
+ description: A human-readable description of the status
+ of this operation.
+ type: string
+ metadata:
+ description: ListMeta describes metadata that synthetic
+ resources must have, including lists and various status
+ objects. A resource may have only one of {ObjectMeta,
+ ListMeta}.
+ properties:
+ continue:
+ description: continue may be set if the user set a limit
+ on the number of items returned, and indicates that
+ the server has more data available. The value is opaque
+ and may be used to issue another request to the endpoint
+ that served this list to retrieve the next set of
+ available objects. Continuing a consistent list may
+ not be possible if the server configuration has changed
+ or more than a few minutes have passed. The resourceVersion
+ field returned when using this continue value will
+ be identical to the value in the first response, unless
+ you have received this token from an error message.
+ type: string
+ resourceVersion:
+ description: 'String that identifies the server''s internal
+ version of this object that can be used by clients
+ to determine when objects have changed. Value must
+ be treated as opaque by clients and passed unmodified
+ back to the server. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
+ type: string
+ selfLink:
+ description: selfLink is a URL representing this object.
+ Populated by the system. Read-only.
+ type: string
+ reason:
+ description: A machine-readable description of why this
+ operation is in the "Failure" status. If this value is
+ empty there is no information available. A Reason clarifies
+ an HTTP status code but does not override it.
+ type: string
+ status:
+ description: 'Status of the operation. One of: "Success"
+ or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
+ type: string
+ required:
+ - pending
+ labels:
+ description: 'Map of string keys and values that can be used to
+ organize and categorize (scope and select) objects. May match
+ selectors of replication controllers and services. More info:
+ http://kubernetes.io/docs/user-guide/labels'
+ type: object
+ name:
+ description: 'Name must be unique within a namespace. Is required
+ when creating resources, although some resources may allow a client
+ to request the generation of an appropriate name automatically.
+ Name is primarily intended for creation idempotence and configuration
+ definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ namespace:
+ description: |-
+ Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
+ Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
+ type: string
+ ownerReferences:
+ description: List of objects depended by this object. If ALL objects
+ in the list have been deleted, this object will be garbage collected.
+ If this object is managed by a controller, then an entry in this
+ list will point to this controller, with the controller field
+ set to true. There cannot be more than one managing controller.
+ items:
+ description: OwnerReference contains enough information to let
+ you identify an owning object. An owning object must be in the
+ same namespace as the dependent, or be cluster-scoped, so there
+ is no namespace field.
+ properties:
+ apiVersion:
+ description: API version of the referent.
+ type: string
+ blockOwnerDeletion:
+ description: If true, AND if the owner has the "foregroundDeletion"
+ finalizer, then the owner cannot be deleted from the key-value
+ store until this reference is removed. Defaults to false.
+ To set this field, a user needs "delete" permission of the
+ owner, otherwise 422 (Unprocessable Entity) will be returned.
+ type: boolean
+ controller:
+ description: If true, this reference points to the managing
+ controller.
+ type: boolean
+ kind:
+ description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ uid:
+ description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ - uid
+ type: array
+ resourceVersion:
+ description: |-
+ An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
+ Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
+ type: string
+ selfLink:
+ description: SelfLink is a URL representing this object. Populated
+ by the system. Read-only.
+ type: string
+ uid:
+ description: |-
+ UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
+ Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+ type: string
+ priorityClassName:
+ description: Priority class assigned to the Pods
+ type: string
+ replicas:
+ description: Size is the expected size of the alertmanager cluster.
+ The controller will eventually make the size of the running cluster
+ equal to the expected size.
+ format: int32
+ type: integer
+ resources:
+ description: ResourceRequirements describes the compute resource requirements.
+ properties:
+ limits:
+ description: 'Limits describes the maximum amount of compute resources
+ allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ requests:
+ description: 'Requests describes the minimum amount of compute resources
+ required. If Requests is omitted for a container, it defaults
+ to Limits if that is explicitly specified, otherwise to an implementation-defined
+ value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ retention:
+ description: Time duration Alertmanager shall retain data for. Default
+ is '120h', and must match the regular expression `[0-9]+(ms|s|m|h)`
+ (milliseconds seconds minutes hours).
+ type: string
+ routePrefix:
+ description: The route prefix Alertmanager registers HTTP handlers for.
+ This is useful, if using ExternalURL and a proxy is rewriting HTTP
+ routes of a request, and the actual ExternalURL is still true, but
+ the server serves requests under a different route prefix. For example
+ for use with `kubectl proxy`.
+ type: string
+ secrets:
+ description: Secrets is a list of Secrets in the same namespace as the
+ Alertmanager object, which shall be mounted into the Alertmanager
+ Pods. The Secrets are mounted into /etc/alertmanager/secrets/.
+ items:
+ type: string
+ type: array
+ securityContext:
+ description: PodSecurityContext holds pod-level security attributes
+ and common container settings. Some fields are also present in container.securityContext. Field
+ values of container.securityContext take precedence over field values
+ of PodSecurityContext.
+ properties:
+ fsGroup:
+ description: |-
+ A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:
+ 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw----
+ If unset, the Kubelet will not modify the ownership and permissions of any volume.
+ format: int64
+ type: integer
+ runAsGroup:
+ description: The GID to run the entrypoint of the container process.
+ Uses runtime default if unset. May also be set in SecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value
+ specified in SecurityContext takes precedence for that container.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root
+ user. If true, the Kubelet will validate the image at runtime
+ to ensure that it does not run as UID 0 (root) and fail to start
+ the container if it does. If unset or false, no such validation
+ will be performed. May also be set in SecurityContext. If set
+ in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container process.
+ Defaults to user specified in image metadata if unspecified. May
+ also be set in SecurityContext. If set in both SecurityContext
+ and PodSecurityContext, the value specified in SecurityContext
+ takes precedence for that container.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: SELinuxOptions are the labels to be applied to the
+ container
+ properties:
+ level:
+ description: Level is SELinux level label that applies to the
+ container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies to the
+ container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies to the
+ container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies to the
+ container.
+ type: string
+ supplementalGroups:
+ description: A list of groups applied to the first process run in
+ each container, in addition to the container's primary GID. If
+ unspecified, no groups will be added to any container.
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ description: Sysctls hold a list of namespaced sysctls used for
+ the pod. Pods with unsupported sysctls (by the container runtime)
+ might fail to launch.
+ items:
+ description: Sysctl defines a kernel parameter to be set
+ properties:
+ name:
+ description: Name of a property to set
+ type: string
+ value:
+ description: Value of a property to set
+ type: string
+ required:
+ - name
+ - value
+ type: array
+ serviceAccountName:
+ description: ServiceAccountName is the name of the ServiceAccount to
+ use to run the Prometheus Pods.
+ type: string
+ sha:
+ description: SHA of Alertmanager container image to be deployed. Defaults
+ to the value of `version`. Similar to a tag, but the SHA explicitly
+ deploys an immutable container image. Version and Tag are ignored
+ if SHA is set.
+ type: string
+ storage:
+ description: StorageSpec defines the configured storage for a group
+ Prometheus servers. If neither `emptyDir` nor `volumeClaimTemplate`
+ is specified, then by default an [EmptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir)
+ will be used.
+ properties:
+ emptyDir:
+ description: Represents an empty directory for a pod. Empty directory
+ volumes support ownership management and SELinux relabeling.
+ properties:
+ medium:
+ description: 'What type of storage medium should back this directory.
+ The default is "" which means to use the node''s default medium.
+ Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
+ type: string
+ sizeLimit: {}
+ volumeClaimTemplate:
+ description: PersistentVolumeClaim is a user's request for and claim
+ to a persistent volume
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this
+ representation of an object. Servers should convert recognized
+ schemas to the latest internal value, and may reject unrecognized
+ values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource
+ this object represents. Servers may infer this from the endpoint
+ the client submits requests to. Cannot be updated. In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ metadata:
+ description: ObjectMeta is metadata that all persisted resources
+ must have, which includes all objects users must create.
+ properties:
+ annotations:
+ description: 'Annotations is an unstructured key value map
+ stored with a resource that may be set by external tools
+ to store and retrieve arbitrary metadata. They are not
+ queryable and should be preserved when modifying objects.
+ More info: http://kubernetes.io/docs/user-guide/annotations'
+ type: object
+ clusterName:
+ description: The name of the cluster which the object belongs
+ to. This is used to distinguish resources with same name
+ and namespace in different clusters. This field is not
+ set anywhere right now and apiserver is going to ignore
+ it if set in create or update request.
+ type: string
+ creationTimestamp:
+ description: Time is a wrapper around time.Time which supports
+ correct marshaling to YAML and JSON. Wrappers are provided
+ for many of the factory methods that the time package
+ offers.
+ format: date-time
+ type: string
+ deletionGracePeriodSeconds:
+ description: Number of seconds allowed for this object to
+ gracefully terminate before it will be removed from the
+ system. Only set when deletionTimestamp is also set. May
+ only be shortened. Read-only.
+ format: int64
+ type: integer
+ deletionTimestamp:
+ description: Time is a wrapper around time.Time which supports
+ correct marshaling to YAML and JSON. Wrappers are provided
+ for many of the factory methods that the time package
+ offers.
+ format: date-time
+ type: string
+ finalizers:
+ description: Must be empty before the object is deleted
+ from the registry. Each entry is an identifier for the
+ responsible component that will remove the entry from
+ the list. If the deletionTimestamp of the object is non-nil,
+ entries in this list can only be removed.
+ items:
+ type: string
+ type: array
+ generateName:
+ description: |-
+ GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
+ If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
+ Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
+ type: string
+ generation:
+ description: A sequence number representing a specific generation
+ of the desired state. Populated by the system. Read-only.
+ format: int64
+ type: integer
+ initializers:
+ description: Initializers tracks the progress of initialization.
+ properties:
+ pending:
+ description: Pending is a list of initializers that
+ must execute in order before this object is visible.
+ When the last pending initializer is removed, and
+ no failing result is set, the initializers struct
+ will be set to nil and the object is considered as
+ initialized and visible to all clients.
+ items:
+ description: Initializer is information about an initializer
+ that has not yet completed.
+ properties:
+ name:
+ description: name of the process that is responsible
+ for initializing this object.
+ type: string
+ required:
+ - name
+ type: array
+ result:
+ description: Status is a return value for calls that
+ don't return other objects.
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema
+ of this representation of an object. Servers should
+ convert recognized schemas to the latest internal
+ value, and may reject unrecognized values. More
+ info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ code:
+ description: Suggested HTTP return code for this
+ status, 0 if not set.
+ format: int32
+ type: integer
+ details:
+ description: StatusDetails is a set of additional
+ properties that MAY be set by the server to provide
+ additional information about a response. The Reason
+ field of a Status object defines what attributes
+ will be set. Clients must ignore fields that do
+ not match the defined type of each attribute,
+ and should assume that any attribute may be empty,
+ invalid, or under defined.
+ properties:
+ causes:
+ description: The Causes array includes more
+ details associated with the StatusReason failure.
+ Not all StatusReasons may provide detailed
+ causes.
+ items:
+ description: StatusCause provides more information
+ about an api.Status failure, including cases
+ when multiple errors are encountered.
+ properties:
+ field:
+ description: |-
+ The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
+ Examples:
+ "name" - the field "name" on the current resource
+ "items[0].name" - the field "name" on the first array entry in "items"
+ type: string
+ message:
+ description: A human-readable description
+ of the cause of the error. This field
+ may be presented as-is to a reader.
+ type: string
+ reason:
+ description: A machine-readable description
+ of the cause of the error. If this value
+ is empty there is no information available.
+ type: string
+ type: array
+ group:
+ description: The group attribute of the resource
+ associated with the status StatusReason.
+ type: string
+ kind:
+ description: 'The kind attribute of the resource
+ associated with the status StatusReason. On
+ some operations may differ from the requested
+ resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: The name attribute of the resource
+ associated with the status StatusReason (when
+ there is a single name which can be described).
+ type: string
+ retryAfterSeconds:
+ description: If specified, the time in seconds
+ before the operation should be retried. Some
+ errors may indicate the client must take an
+ alternate action - for those errors this field
+ may indicate how long to wait before taking
+ the alternate action.
+ format: int32
+ type: integer
+ uid:
+ description: 'UID of the resource. (when there
+ is a single resource which can be described).
+ More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ kind:
+ description: 'Kind is a string value representing
+ the REST resource this object represents. Servers
+ may infer this from the endpoint the client submits
+ requests to. Cannot be updated. In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ message:
+ description: A human-readable description of the
+ status of this operation.
+ type: string
+ metadata:
+ description: ListMeta describes metadata that synthetic
+ resources must have, including lists and various
+ status objects. A resource may have only one of
+ {ObjectMeta, ListMeta}.
+ properties:
+ continue:
+ description: continue may be set if the user
+ set a limit on the number of items returned,
+ and indicates that the server has more data
+ available. The value is opaque and may be
+ used to issue another request to the endpoint
+ that served this list to retrieve the next
+ set of available objects. Continuing a consistent
+ list may not be possible if the server configuration
+ has changed or more than a few minutes have
+ passed. The resourceVersion field returned
+ when using this continue value will be identical
+ to the value in the first response, unless
+ you have received this token from an error
+ message.
+ type: string
+ resourceVersion:
+ description: 'String that identifies the server''s
+ internal version of this object that can be
+ used by clients to determine when objects
+ have changed. Value must be treated as opaque
+ by clients and passed unmodified back to the
+ server. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
+ type: string
+ selfLink:
+ description: selfLink is a URL representing
+ this object. Populated by the system. Read-only.
+ type: string
+ reason:
+ description: A machine-readable description of why
+ this operation is in the "Failure" status. If
+ this value is empty there is no information available.
+ A Reason clarifies an HTTP status code but does
+ not override it.
+ type: string
+ status:
+ description: 'Status of the operation. One of: "Success"
+ or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
+ type: string
+ required:
+ - pending
+ labels:
+ description: 'Map of string keys and values that can be
+ used to organize and categorize (scope and select) objects.
+ May match selectors of replication controllers and services.
+ More info: http://kubernetes.io/docs/user-guide/labels'
+ type: object
+ name:
+ description: 'Name must be unique within a namespace. Is
+ required when creating resources, although some resources
+ may allow a client to request the generation of an appropriate
+ name automatically. Name is primarily intended for creation
+ idempotence and configuration definition. Cannot be updated.
+ More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ namespace:
+ description: |-
+ Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
+ Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
+ type: string
+ ownerReferences:
+ description: List of objects depended by this object. If
+ ALL objects in the list have been deleted, this object
+ will be garbage collected. If this object is managed by
+ a controller, then an entry in this list will point to
+ this controller, with the controller field set to true.
+ There cannot be more than one managing controller.
+ items:
+ description: OwnerReference contains enough information
+ to let you identify an owning object. An owning object
+ must be in the same namespace as the dependent, or be
+ cluster-scoped, so there is no namespace field.
+ properties:
+ apiVersion:
+ description: API version of the referent.
+ type: string
+ blockOwnerDeletion:
+ description: If true, AND if the owner has the "foregroundDeletion"
+ finalizer, then the owner cannot be deleted from
+ the key-value store until this reference is removed.
+ Defaults to false. To set this field, a user needs
+ "delete" permission of the owner, otherwise 422
+ (Unprocessable Entity) will be returned.
+ type: boolean
+ controller:
+ description: If true, this reference points to the
+ managing controller.
+ type: boolean
+ kind:
+ description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ uid:
+ description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ - uid
+ type: array
+ resourceVersion:
+ description: |-
+ An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
+ Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
+ type: string
+ selfLink:
+ description: SelfLink is a URL representing this object.
+ Populated by the system. Read-only.
+ type: string
+ uid:
+ description: |-
+ UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
+ Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+ type: string
+ spec:
+ description: PersistentVolumeClaimSpec describes the common
+ attributes of storage devices and allows a Source for provider-specific
+ attributes
+ properties:
+ accessModes:
+ description: 'AccessModes contains the desired access modes
+ the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
+ items:
+ type: string
+ type: array
+ dataSource:
+ description: TypedLocalObjectReference contains enough information
+ to let you locate the typed referenced object inside the
+ same namespace.
+ properties:
+ apiGroup:
+ description: APIGroup is the group for the resource
+ being referenced. If APIGroup is not specified, the
+ specified Kind must be in the core API group. For
+ any other third-party types, APIGroup is required.
+ type: string
+ kind:
+ description: Kind is the type of resource being referenced
+ type: string
+ name:
+ description: Name is the name of resource being referenced
+ type: string
+ required:
+ - kind
+ - name
+ resources:
+ description: ResourceRequirements describes the compute
+ resource requirements.
+ properties:
+ limits:
+ description: 'Limits describes the maximum amount of
+ compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ requests:
+ description: 'Requests describes the minimum amount
+ of compute resources required. If Requests is omitted
+ for a container, it defaults to Limits if that is
+ explicitly specified, otherwise to an implementation-defined
+ value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ selector:
+ description: A label selector is a label query over a set
+ of resources. The result of matchLabels and matchExpressions
+ are ANDed. An empty label selector matches all objects.
+ A null label selector matches no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector
+ requirements. The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: operator represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values.
+ If the operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be empty.
+ This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs.
+ A single {key,value} in the matchLabels map is equivalent
+ to an element of matchExpressions, whose key field
+ is "key", the operator is "In", and the values array
+ contains only "value". The requirements are ANDed.
+ type: object
+ storageClassName:
+ description: 'Name of the StorageClass required by the claim.
+ More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
+ type: string
+ volumeMode:
+ description: volumeMode defines what type of volume is required
+ by the claim. Value of Filesystem is implied when not
+ included in claim spec. This is a beta feature.
+ type: string
+ volumeName:
+ description: VolumeName is the binding reference to the
+ PersistentVolume backing this claim.
+ type: string
+ status:
+ description: PersistentVolumeClaimStatus is the current status
+ of a persistent volume claim.
+ properties:
+ accessModes:
+ description: 'AccessModes contains the actual access modes
+ the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
+ items:
+ type: string
+ type: array
+ capacity:
+ description: Represents the actual resources of the underlying
+ volume.
+ type: object
+ conditions:
+ description: Current Condition of persistent volume claim.
+ If underlying persistent volume is being resized then
+ the Condition will be set to 'ResizeStarted'.
+ items:
+ description: PersistentVolumeClaimCondition contails details
+ about state of pvc
+ properties:
+ lastProbeTime:
+ description: Time is a wrapper around time.Time which
+ supports correct marshaling to YAML and JSON. Wrappers
+ are provided for many of the factory methods that
+ the time package offers.
+ format: date-time
+ type: string
+ lastTransitionTime:
+ description: Time is a wrapper around time.Time which
+ supports correct marshaling to YAML and JSON. Wrappers
+ are provided for many of the factory methods that
+ the time package offers.
+ format: date-time
+ type: string
+ message:
+ description: Human-readable message indicating details
+ about last transition.
+ type: string
+ reason:
+ description: Unique, this should be a short, machine
+ understandable string that gives the reason for
+ condition's last transition. If it reports "ResizeStarted"
+ that means the underlying persistent volume is being
+ resized.
+ type: string
+ status:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ - status
+ type: array
+ phase:
+ description: Phase represents the current phase of PersistentVolumeClaim.
+ type: string
+ tag:
+ description: Tag of Alertmanager container image to be deployed. Defaults
+ to the value of `version`. Version is ignored if Tag is set.
+ type: string
+ tolerations:
+ description: If specified, the pod's tolerations.
+ items:
+ description: The pod this Toleration is attached to tolerates any
+ taint that matches the triple using the matching
+ operator .
+ properties:
+ effect:
+ description: Effect indicates the taint effect to match. Empty
+ means match all taint effects. When specified, allowed values
+ are NoSchedule, PreferNoSchedule and NoExecute.
+ type: string
+ key:
+ description: Key is the taint key that the toleration applies
+ to. Empty means match all taint keys. If the key is empty, operator
+ must be Exists; this combination means to match all values and
+ all keys.
+ type: string
+ operator:
+ description: Operator represents a key's relationship to the value.
+ Valid operators are Exists and Equal. Defaults to Equal. Exists
+ is equivalent to wildcard for value, so that a pod can tolerate
+ all taints of a particular category.
+ type: string
+ tolerationSeconds:
+ description: TolerationSeconds represents the period of time the
+ toleration (which must be of effect NoExecute, otherwise this
+ field is ignored) tolerates the taint. By default, it is not
+ set, which means tolerate the taint forever (do not evict).
+ Zero and negative values will be treated as 0 (evict immediately)
+ by the system.
+ format: int64
+ type: integer
+ value:
+ description: Value is the taint value the toleration matches to.
+ If the operator is Exists, the value should be empty, otherwise
+ just a regular string.
+ type: string
+ type: array
+ version:
+ description: Version the cluster should be on.
+ type: string
+ status:
+ description: 'AlertmanagerStatus is the most recent observed status of the
+ Alertmanager cluster. Read-only. Not included when requesting from the
+ apiserver, only from the Prometheus Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status'
+ properties:
+ availableReplicas:
+ description: Total number of available pods (ready for at least minReadySeconds)
+ targeted by this Alertmanager cluster.
+ format: int32
+ type: integer
+ paused:
+ description: Represents whether any actions on the underlaying managed
+ objects are being performed. Only delete actions will be performed.
+ type: boolean
+ replicas:
+ description: Total number of non-terminated pods targeted by this Alertmanager
+ cluster (their labels match the selector).
+ format: int32
+ type: integer
+ unavailableReplicas:
+ description: Total number of unavailable pods targeted by this Alertmanager
+ cluster.
+ format: int32
+ type: integer
+ updatedReplicas:
+ description: Total number of non-terminated pods targeted by this Alertmanager
+ cluster that have the desired version spec.
+ format: int32
+ type: integer
+ required:
+ - paused
+ - replicas
+ - updatedReplicas
+ - availableReplicas
+ - unavailableReplicas
+ version: v1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-podmonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-podmonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9385c9a2154f61a4550c48e996bed26a4d3309b6
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-podmonitor.yaml
@@ -0,0 +1,240 @@
+# Source https://raw.githubusercontent.com/coreos/kube-prometheus/master/manifests/0prometheus-operator-0podmonitorCustomResourceDefinition.yaml
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: "podmonitors.monitoring.coreos.com"
+ labels:
+ app: operator-init
+ chart: operator-init-0.1.0
+ heritage: Tiller
+ release: prometheus-operator
+spec:
+ group: "monitoring.coreos.com"
+ names:
+ kind: PodMonitor
+ plural: podmonitors
+ scope: Namespaced
+ validation:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ spec:
+ description: PodMonitorSpec contains specification parameters for a PodMonitor.
+ properties:
+ jobLabel:
+ description: The label to use to retrieve the job name from.
+ type: string
+ namespaceSelector:
+ description: NamespaceSelector is a selector for selecting either all
+ namespaces or a list of namespaces.
+ properties:
+ any:
+ description: Boolean describing whether all namespaces are selected
+ in contrast to a list restricting them.
+ type: boolean
+ matchNames:
+ description: List of namespace names.
+ items:
+ type: string
+ type: array
+ type: object
+ podMetricsEndpoints:
+ description: A list of endpoints allowed as part of this PodMonitor.
+ items:
+ description: PodMetricsEndpoint defines a scrapeable endpoint of a
+ Kubernetes Pod serving Prometheus metrics.
+ properties:
+ honorLabels:
+ description: HonorLabels chooses the metric's labels on collisions
+ with target labels.
+ type: boolean
+ interval:
+ description: Interval at which metrics should be scraped
+ type: string
+ metricRelabelings:
+ description: MetricRelabelConfigs to apply to samples before ingestion.
+ items:
+ description: 'RelabelConfig allows dynamic rewriting of the
+ label set, being applied to samples before ingestion. It defines
+ ``-section of Prometheus configuration.
+ More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
+ properties:
+ action:
+ description: Action to perform based on regex matching.
+ Default is 'replace'
+ type: string
+ modulus:
+ description: Modulus to take of the hash of the source label
+ values.
+ format: int64
+ type: integer
+ regex:
+ description: Regular expression against which the extracted
+ value is matched. defailt is '(.*)'
+ type: string
+ replacement:
+ description: Replacement value against which a regex replace
+ is performed if the regular expression matches. Regex
+ capture groups are available. Default is '$1'
+ type: string
+ separator:
+ description: Separator placed between concatenated source
+ label values. default is ';'.
+ type: string
+ sourceLabels:
+ description: The source labels select values from existing
+ labels. Their content is concatenated using the configured
+ separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
+ items:
+ type: string
+ type: array
+ targetLabel:
+ description: Label to which the resulting value is written
+ in a replace action. It is mandatory for replace actions.
+ Regex capture groups are available.
+ type: string
+ type: object
+ type: array
+ params:
+ description: Optional HTTP URL parameters
+ type: object
+ path:
+ description: HTTP path to scrape for metrics.
+ type: string
+ port:
+ description: Name of the port this endpoint refers to. Mutually
+ exclusive with targetPort.
+ type: string
+ proxyUrl:
+ description: ProxyURL eg http://proxyserver:2195 Directs scrapes
+ to proxy through this endpoint.
+ type: string
+ relabelings:
+ description: 'RelabelConfigs to apply to samples before ingestion.
+ More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
+ items:
+ description: 'RelabelConfig allows dynamic rewriting of the
+ label set, being applied to samples before ingestion. It defines
+ ``-section of Prometheus configuration.
+ More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
+ properties:
+ action:
+ description: Action to perform based on regex matching.
+ Default is 'replace'
+ type: string
+ modulus:
+ description: Modulus to take of the hash of the source label
+ values.
+ format: int64
+ type: integer
+ regex:
+ description: Regular expression against which the extracted
+ value is matched. defailt is '(.*)'
+ type: string
+ replacement:
+ description: Replacement value against which a regex replace
+ is performed if the regular expression matches. Regex
+ capture groups are available. Default is '$1'
+ type: string
+ separator:
+ description: Separator placed between concatenated source
+ label values. default is ';'.
+ type: string
+ sourceLabels:
+ description: The source labels select values from existing
+ labels. Their content is concatenated using the configured
+ separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
+ items:
+ type: string
+ type: array
+ targetLabel:
+ description: Label to which the resulting value is written
+ in a replace action. It is mandatory for replace actions.
+ Regex capture groups are available.
+ type: string
+ type: object
+ type: array
+ scheme:
+ description: HTTP scheme to use for scraping.
+ type: string
+ scrapeTimeout:
+ description: Timeout after which the scrape is ended
+ type: string
+ targetPort:
+ anyOf:
+ - type: string
+ - type: integer
+ type: object
+ type: array
+ podTargetLabels:
+ description: PodTargetLabels transfers labels on the Kubernetes Pod
+ onto the target.
+ items:
+ type: string
+ type: array
+ sampleLimit:
+ description: SampleLimit defines per-scrape limit on number of scraped
+ samples that will be accepted.
+ format: int64
+ type: integer
+ selector:
+ description: A label selector is a label query over a set of resources.
+ The result of matchLabels and matchExpressions are ANDed. An empty
+ label selector matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector requirements.
+ The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector that contains
+ values, a key, and an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector applies
+ to.
+ type: string
+ operator:
+ description: operator represents a key's relationship to a
+ set of values. Valid operators are In, NotIn, Exists and
+ DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values. If the operator
+ is In or NotIn, the values array must be non-empty. If the
+ operator is Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs. A single
+ {key,value} in the matchLabels map is equivalent to an element
+ of matchExpressions, whose key field is "key", the operator is
+ "In", and the values array contains only "value". The requirements
+ are ANDed.
+ type: object
+ type: object
+ required:
+ - podMetricsEndpoints
+ - selector
+ type: object
+ type: object
+ version: v1
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-prometheus.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-prometheus.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5ea10baed3c2914186cc2f73149ddab6e37187ce
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-prometheus.yaml
@@ -0,0 +1,3429 @@
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: "prometheuses.monitoring.coreos.com"
+ labels:
+ app: operator-init
+ chart: operator-init-0.1.0
+ heritage: Tiller
+ release: prometheus-operator
+spec:
+ group: "monitoring.coreos.com"
+ names:
+ kind: Prometheus
+ plural: prometheuses
+ scope: Namespaced
+ validation:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ spec:
+ description: 'PrometheusSpec is a specification of the desired behavior
+ of the Prometheus cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status'
+ properties:
+ additionalAlertManagerConfigs:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must be a valid
+ secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ additionalAlertRelabelConfigs:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must be a valid
+ secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ additionalScrapeConfigs:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must be a valid
+ secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ affinity:
+ description: Affinity is a group of affinity scheduling rules.
+ properties:
+ nodeAffinity:
+ description: Node affinity is a group of node affinity scheduling
+ rules.
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes
+ that satisfy the affinity expressions specified by this field,
+ but it may choose a node that violates one or more of the
+ expressions. The node that is most preferred is the one with
+ the greatest sum of weights, i.e. for each node that meets
+ all of the scheduling requirements (resource request, requiredDuringScheduling
+ affinity expressions, etc.), compute a sum by iterating through
+ the elements of this field and adding "weight" to the sum
+ if the node matches the corresponding matchExpressions; the
+ node(s) with the highest sum are the most preferred.
+ items:
+ description: An empty preferred scheduling term matches all
+ objects with implicit weight 0 (i.e. it's a no-op). A null
+ preferred scheduling term matches no objects (i.e. is also
+ a no-op).
+ properties:
+ preference:
+ description: A null or empty node selector term matches
+ no objects. The requirements of them are ANDed. The
+ TopologySelectorTerm type implements a subset of the
+ NodeSelectorTerm.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements
+ by node's labels.
+ items:
+ description: A node selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: The label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists, DoesNotExist. Gt, and Lt.
+ type: string
+ values:
+ description: An array of string values. If the
+ operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be
+ empty. If the operator is Gt or Lt, the values
+ array must have a single element, which will
+ be interpreted as an integer. This array is
+ replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ description: A list of node selector requirements
+ by node's fields.
+ items:
+ description: A node selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: The label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists, DoesNotExist. Gt, and Lt.
+ type: string
+ values:
+ description: An array of string values. If the
+ operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be
+ empty. If the operator is Gt or Lt, the values
+ array must have a single element, which will
+ be interpreted as an integer. This array is
+ replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ weight:
+ description: Weight associated with matching the corresponding
+ nodeSelectorTerm, in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - weight
+ - preference
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: A node selector represents the union of the results
+ of one or more label queries over a set of nodes; that is,
+ it represents the OR of the selectors represented by the node
+ selector terms.
+ properties:
+ nodeSelectorTerms:
+ description: Required. A list of node selector terms. The
+ terms are ORed.
+ items:
+ description: A null or empty node selector term matches
+ no objects. The requirements of them are ANDed. The
+ TopologySelectorTerm type implements a subset of the
+ NodeSelectorTerm.
+ properties:
+ matchExpressions:
+ description: A list of node selector requirements
+ by node's labels.
+ items:
+ description: A node selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: The label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists, DoesNotExist. Gt, and Lt.
+ type: string
+ values:
+ description: An array of string values. If the
+ operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be
+ empty. If the operator is Gt or Lt, the values
+ array must have a single element, which will
+ be interpreted as an integer. This array is
+ replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchFields:
+ description: A list of node selector requirements
+ by node's fields.
+ items:
+ description: A node selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: The label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: Represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists, DoesNotExist. Gt, and Lt.
+ type: string
+ values:
+ description: An array of string values. If the
+ operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be
+ empty. If the operator is Gt or Lt, the values
+ array must have a single element, which will
+ be interpreted as an integer. This array is
+ replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - nodeSelectorTerms
+ type: object
+ type: object
+ podAffinity:
+ description: Pod affinity is a group of inter pod affinity scheduling
+ rules.
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes
+ that satisfy the affinity expressions specified by this field,
+ but it may choose a node that violates one or more of the
+ expressions. The node that is most preferred is the one with
+ the greatest sum of weights, i.e. for each node that meets
+ all of the scheduling requirements (resource request, requiredDuringScheduling
+ affinity expressions, etc.), compute a sum by iterating through
+ the elements of this field and adding "weight" to the sum
+ if the node has pods which matches the corresponding podAffinityTerm;
+ the node(s) with the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Defines a set of pods (namely those matching
+ the labelSelector relative to the given namespace(s))
+ that this pod should be co-located (affinity) or not
+ co-located (anti-affinity) with, where co-located is
+ defined as running on a node whose value of the label
+ with key matches that of any node on which
+ a pod of the set of pods is running
+ properties:
+ labelSelector:
+ description: A label selector is a label query over
+ a set of resources. The result of matchLabels and
+ matchExpressions are ANDed. An empty label selector
+ matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label
+ selector requirements. The requirements are
+ ANDed.
+ items:
+ description: A label selector requirement is
+ a selector that contains values, a key, and
+ an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the
+ selector applies to.
+ type: string
+ operator:
+ description: operator represents a key's
+ relationship to a set of values. Valid
+ operators are In, NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string
+ values. If the operator is In or NotIn,
+ the values array must be non-empty. If
+ the operator is Exists or DoesNotExist,
+ the values array must be empty. This array
+ is replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value}
+ pairs. A single {key,value} in the matchLabels
+ map is equivalent to an element of matchExpressions,
+ whose key field is "key", the operator is "In",
+ and the values array contains only "value".
+ The requirements are ANDed.
+ type: object
+ type: object
+ namespaces:
+ description: namespaces specifies which namespaces
+ the labelSelector applies to (matches against);
+ null or empty list means "this pod's namespace"
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity)
+ or not co-located (anti-affinity) with the pods
+ matching the labelSelector in the specified namespaces,
+ where co-located is defined as running on a node
+ whose value of the label with key topologyKey matches
+ that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ description: weight associated with matching the corresponding
+ podAffinityTerm, in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - weight
+ - podAffinityTerm
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the affinity requirements specified by this
+ field are not met at scheduling time, the pod will not be
+ scheduled onto the node. If the affinity requirements specified
+ by this field cease to be met at some point during pod execution
+ (e.g. due to a pod label update), the system may or may not
+ try to eventually evict the pod from its node. When there
+ are multiple elements, the lists of nodes corresponding to
+ each podAffinityTerm are intersected, i.e. all terms must
+ be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching
+ the labelSelector relative to the given namespace(s)) that
+ this pod should be co-located (affinity) or not co-located
+ (anti-affinity) with, where co-located is defined as running
+ on a node whose value of the label with key
+ matches that of any node on which a pod of the set of pods
+ is running
+ properties:
+ labelSelector:
+ description: A label selector is a label query over a
+ set of resources. The result of matchLabels and matchExpressions
+ are ANDed. An empty label selector matches all objects.
+ A null label selector matches no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector
+ requirements. The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: operator represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values.
+ If the operator is In or NotIn, the values
+ array must be non-empty. If the operator is
+ Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a
+ strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs.
+ A single {key,value} in the matchLabels map is equivalent
+ to an element of matchExpressions, whose key field
+ is "key", the operator is "In", and the values array
+ contains only "value". The requirements are ANDed.
+ type: object
+ type: object
+ namespaces:
+ description: namespaces specifies which namespaces the
+ labelSelector applies to (matches against); null or
+ empty list means "this pod's namespace"
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity)
+ or not co-located (anti-affinity) with the pods matching
+ the labelSelector in the specified namespaces, where
+ co-located is defined as running on a node whose value
+ of the label with key topologyKey matches that of any
+ node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ podAntiAffinity:
+ description: Pod anti affinity is a group of inter pod anti affinity
+ scheduling rules.
+ properties:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ description: The scheduler will prefer to schedule pods to nodes
+ that satisfy the anti-affinity expressions specified by this
+ field, but it may choose a node that violates one or more
+ of the expressions. The node that is most preferred is the
+ one with the greatest sum of weights, i.e. for each node that
+ meets all of the scheduling requirements (resource request,
+ requiredDuringScheduling anti-affinity expressions, etc.),
+ compute a sum by iterating through the elements of this field
+ and adding "weight" to the sum if the node has pods which
+ matches the corresponding podAffinityTerm; the node(s) with
+ the highest sum are the most preferred.
+ items:
+ description: The weights of all of the matched WeightedPodAffinityTerm
+ fields are added per-node to find the most preferred node(s)
+ properties:
+ podAffinityTerm:
+ description: Defines a set of pods (namely those matching
+ the labelSelector relative to the given namespace(s))
+ that this pod should be co-located (affinity) or not
+ co-located (anti-affinity) with, where co-located is
+ defined as running on a node whose value of the label
+ with key matches that of any node on which
+ a pod of the set of pods is running
+ properties:
+ labelSelector:
+ description: A label selector is a label query over
+ a set of resources. The result of matchLabels and
+ matchExpressions are ANDed. An empty label selector
+ matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label
+ selector requirements. The requirements are
+ ANDed.
+ items:
+ description: A label selector requirement is
+ a selector that contains values, a key, and
+ an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the
+ selector applies to.
+ type: string
+ operator:
+ description: operator represents a key's
+ relationship to a set of values. Valid
+ operators are In, NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string
+ values. If the operator is In or NotIn,
+ the values array must be non-empty. If
+ the operator is Exists or DoesNotExist,
+ the values array must be empty. This array
+ is replaced during a strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value}
+ pairs. A single {key,value} in the matchLabels
+ map is equivalent to an element of matchExpressions,
+ whose key field is "key", the operator is "In",
+ and the values array contains only "value".
+ The requirements are ANDed.
+ type: object
+ type: object
+ namespaces:
+ description: namespaces specifies which namespaces
+ the labelSelector applies to (matches against);
+ null or empty list means "this pod's namespace"
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity)
+ or not co-located (anti-affinity) with the pods
+ matching the labelSelector in the specified namespaces,
+ where co-located is defined as running on a node
+ whose value of the label with key topologyKey matches
+ that of any node on which any of the selected pods
+ is running. Empty topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ weight:
+ description: weight associated with matching the corresponding
+ podAffinityTerm, in the range 1-100.
+ format: int32
+ type: integer
+ required:
+ - weight
+ - podAffinityTerm
+ type: object
+ type: array
+ requiredDuringSchedulingIgnoredDuringExecution:
+ description: If the anti-affinity requirements specified by
+ this field are not met at scheduling time, the pod will not
+ be scheduled onto the node. If the anti-affinity requirements
+ specified by this field cease to be met at some point during
+ pod execution (e.g. due to a pod label update), the system
+ may or may not try to eventually evict the pod from its node.
+ When there are multiple elements, the lists of nodes corresponding
+ to each podAffinityTerm are intersected, i.e. all terms must
+ be satisfied.
+ items:
+ description: Defines a set of pods (namely those matching
+ the labelSelector relative to the given namespace(s)) that
+ this pod should be co-located (affinity) or not co-located
+ (anti-affinity) with, where co-located is defined as running
+ on a node whose value of the label with key
+ matches that of any node on which a pod of the set of pods
+ is running
+ properties:
+ labelSelector:
+ description: A label selector is a label query over a
+ set of resources. The result of matchLabels and matchExpressions
+ are ANDed. An empty label selector matches all objects.
+ A null label selector matches no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector
+ requirements. The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: operator represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values.
+ If the operator is In or NotIn, the values
+ array must be non-empty. If the operator is
+ Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a
+ strategic merge patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs.
+ A single {key,value} in the matchLabels map is equivalent
+ to an element of matchExpressions, whose key field
+ is "key", the operator is "In", and the values array
+ contains only "value". The requirements are ANDed.
+ type: object
+ type: object
+ namespaces:
+ description: namespaces specifies which namespaces the
+ labelSelector applies to (matches against); null or
+ empty list means "this pod's namespace"
+ items:
+ type: string
+ type: array
+ topologyKey:
+ description: This pod should be co-located (affinity)
+ or not co-located (anti-affinity) with the pods matching
+ the labelSelector in the specified namespaces, where
+ co-located is defined as running on a node whose value
+ of the label with key topologyKey matches that of any
+ node on which any of the selected pods is running. Empty
+ topologyKey is not allowed.
+ type: string
+ required:
+ - topologyKey
+ type: object
+ type: array
+ type: object
+ type: object
+ alerting:
+ description: AlertingSpec defines parameters for alerting configuration
+ of Prometheus servers.
+ properties:
+ alertmanagers:
+ description: AlertmanagerEndpoints Prometheus should fire alerts
+ against.
+ items:
+ description: AlertmanagerEndpoints defines a selection of a single
+ Endpoints object containing alertmanager IPs to fire alerts
+ against.
+ properties:
+ bearerTokenFile:
+ description: BearerTokenFile to read from filesystem to use
+ when authenticating to Alertmanager.
+ type: string
+ name:
+ description: Name of Endpoints object in Namespace.
+ type: string
+ namespace:
+ description: Namespace of Endpoints object.
+ type: string
+ pathPrefix:
+ description: Prefix for the HTTP path alerts are pushed to.
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ scheme:
+ description: Scheme to use when firing alerts.
+ type: string
+ tlsConfig:
+ description: TLSConfig specifies TLS configuration parameters.
+ properties:
+ caFile:
+ description: The CA cert to use for the targets.
+ type: string
+ certFile:
+ description: The client cert file for the targets.
+ type: string
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keyFile:
+ description: The client key file for the targets.
+ type: string
+ serverName:
+ description: Used to verify the hostname for the targets.
+ type: string
+ type: object
+ required:
+ - namespace
+ - name
+ - port
+ type: object
+ type: array
+ required:
+ - alertmanagers
+ type: object
+ apiserverConfig:
+ description: 'APIServerConfig defines a host and auth methods to access
+ apiserver. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config'
+ properties:
+ basicAuth:
+ description: 'BasicAuth allow an endpoint to authenticate over basic
+ authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
+ properties:
+ password:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ username:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ bearerToken:
+ description: Bearer token for accessing apiserver.
+ type: string
+ bearerTokenFile:
+ description: File to read bearer token for accessing apiserver.
+ type: string
+ host:
+ description: Host of apiserver. A valid string consisting of a hostname
+ or IP followed by an optional port number
+ type: string
+ tlsConfig:
+ description: TLSConfig specifies TLS configuration parameters.
+ properties:
+ caFile:
+ description: The CA cert to use for the targets.
+ type: string
+ certFile:
+ description: The client cert file for the targets.
+ type: string
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keyFile:
+ description: The client key file for the targets.
+ type: string
+ serverName:
+ description: Used to verify the hostname for the targets.
+ type: string
+ type: object
+ required:
+ - host
+ type: object
+ baseImage:
+ description: Base image to use for a Prometheus deployment.
+ type: string
+ configMaps:
+ description: ConfigMaps is a list of ConfigMaps in the same namespace
+ as the Prometheus object, which shall be mounted into the Prometheus
+ Pods. The ConfigMaps are mounted into /etc/prometheus/configmaps/.
+ items:
+ type: string
+ type: array
+ containers:
+ description: 'Containers allows injecting additional containers or modifying
+ operator generated containers. This can be used to allow adding an
+ authentication proxy to a Prometheus pod or to change the behavior
+ of an operator generated container. Containers described here modify
+ an operator generated container if they share the same name and modifications
+ are done via a strategic merge patch. The current container names
+ are: `prometheus`, `prometheus-config-reloader`, `rules-configmap-reloader`,
+ and `thanos-sidecar`. Overriding containers is entirely outside the
+ scope of what the maintainers will support and by doing so, you accept
+ that this behaviour may break at any time without notice.'
+ items:
+ description: A single application container that you want to run within
+ a pod.
+ properties:
+ args:
+ description: 'Arguments to the entrypoint. The docker image''s
+ CMD is used if this is not provided. Variable references $(VAR_NAME)
+ are expanded using the container''s environment. If a variable
+ cannot be resolved, the reference in the input string will be
+ unchanged. The $(VAR_NAME) syntax can be escaped with a double
+ $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
+ regardless of whether the variable exists or not. Cannot be
+ updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
+ items:
+ type: string
+ type: array
+ command:
+ description: 'Entrypoint array. Not executed within a shell. The
+ docker image''s ENTRYPOINT is used if this is not provided.
+ Variable references $(VAR_NAME) are expanded using the container''s
+ environment. If a variable cannot be resolved, the reference
+ in the input string will be unchanged. The $(VAR_NAME) syntax
+ can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references
+ will never be expanded, regardless of whether the variable exists
+ or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
+ items:
+ type: string
+ type: array
+ env:
+ description: List of environment variables to set in the container.
+ Cannot be updated.
+ items:
+ description: EnvVar represents an environment variable present
+ in a Container.
+ properties:
+ name:
+ description: Name of the environment variable. Must be a
+ C_IDENTIFIER.
+ type: string
+ value:
+ description: 'Variable references $(VAR_NAME) are expanded
+ using the previous defined environment variables in the
+ container and any service environment variables. If a
+ variable cannot be resolved, the reference in the input
+ string will be unchanged. The $(VAR_NAME) syntax can be
+ escaped with a double $$, ie: $$(VAR_NAME). Escaped references
+ will never be expanded, regardless of whether the variable
+ exists or not. Defaults to "".'
+ type: string
+ valueFrom:
+ description: EnvVarSource represents a source for the value
+ of an EnvVar.
+ properties:
+ configMapKeyRef:
+ description: Selects a key from a ConfigMap.
+ properties:
+ key:
+ description: The key to select.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap or it's
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ fieldRef:
+ description: ObjectFieldSelector selects an APIVersioned
+ field of an object.
+ properties:
+ apiVersion:
+ description: Version of the schema the FieldPath
+ is written in terms of, defaults to "v1".
+ type: string
+ fieldPath:
+ description: Path of the field to select in the
+ specified API version.
+ type: string
+ required:
+ - fieldPath
+ type: object
+ resourceFieldRef:
+ description: ResourceFieldSelector represents container
+ resources (cpu, memory) and their output format
+ properties:
+ containerName:
+ description: 'Container name: required for volumes,
+ optional for env vars'
+ type: string
+ divisor: {}
+ resource:
+ description: 'Required: resource to select'
+ type: string
+ required:
+ - resource
+ type: object
+ secretKeyRef:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's
+ key must be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ envFrom:
+ description: List of sources to populate environment variables
+ in the container. The keys defined within a source must be a
+ C_IDENTIFIER. All invalid keys will be reported as an event
+ when the container is starting. When a key exists in multiple
+ sources, the value associated with the last source will take
+ precedence. Values defined by an Env with a duplicate key will
+ take precedence. Cannot be updated.
+ items:
+ description: EnvFromSource represents the source of a set of
+ ConfigMaps
+ properties:
+ configMapRef:
+ description: |-
+ ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.
+ The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.
+ properties:
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the ConfigMap must be defined
+ type: boolean
+ type: object
+ prefix:
+ description: An optional identifier to prepend to each key
+ in the ConfigMap. Must be a C_IDENTIFIER.
+ type: string
+ secretRef:
+ description: |-
+ SecretEnvSource selects a Secret to populate the environment variables with.
+ The contents of the target Secret's Data field will represent the key-value pairs as environment variables.
+ properties:
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret must be defined
+ type: boolean
+ type: object
+ type: object
+ type: array
+ image:
+ description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images
+ This field is optional to allow higher level config management
+ to default or override container images in workload controllers
+ like Deployments and StatefulSets.'
+ type: string
+ imagePullPolicy:
+ description: 'Image pull policy. One of Always, Never, IfNotPresent.
+ Defaults to Always if :latest tag is specified, or IfNotPresent
+ otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images'
+ type: string
+ lifecycle:
+ description: Lifecycle describes actions that the management system
+ should take in response to container lifecycle events. For the
+ PostStart and PreStop lifecycle handlers, management of the
+ container blocks until the action is complete, unless the container
+ process fails, in which case the handler is aborted.
+ properties:
+ postStart:
+ description: Handler defines a specific action that should
+ be taken
+ properties:
+ exec:
+ description: ExecAction describes a "run in container"
+ action.
+ properties:
+ command:
+ description: Command is the command line to execute
+ inside the container, the working directory for
+ the command is root ('/') in the container's filesystem.
+ The command is simply exec'd, it is not run inside
+ a shell, so traditional shell instructions ('|',
+ etc) won't work. To use a shell, you need to explicitly
+ call out to that shell. Exit status of 0 is treated
+ as live/healthy and non-zero is unhealthy.
+ items:
+ type: string
+ type: array
+ type: object
+ httpGet:
+ description: HTTPGetAction describes an action based on
+ HTTP Get requests.
+ properties:
+ host:
+ description: Host name to connect to, defaults to
+ the pod IP. You probably want to set "Host" in httpHeaders
+ instead.
+ type: string
+ httpHeaders:
+ description: Custom headers to set in the request.
+ HTTP allows repeated headers.
+ items:
+ description: HTTPHeader describes a custom header
+ to be used in HTTP probes
+ properties:
+ name:
+ description: The header field name
+ type: string
+ value:
+ description: The header field value
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ description: Path to access on the HTTP server.
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ scheme:
+ description: Scheme to use for connecting to the host.
+ Defaults to HTTP.
+ type: string
+ required:
+ - port
+ type: object
+ tcpSocket:
+ description: TCPSocketAction describes an action based
+ on opening a socket
+ properties:
+ host:
+ description: 'Optional: Host name to connect to, defaults
+ to the pod IP.'
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ required:
+ - port
+ type: object
+ type: object
+ preStop:
+ description: Handler defines a specific action that should
+ be taken
+ properties:
+ exec:
+ description: ExecAction describes a "run in container"
+ action.
+ properties:
+ command:
+ description: Command is the command line to execute
+ inside the container, the working directory for
+ the command is root ('/') in the container's filesystem.
+ The command is simply exec'd, it is not run inside
+ a shell, so traditional shell instructions ('|',
+ etc) won't work. To use a shell, you need to explicitly
+ call out to that shell. Exit status of 0 is treated
+ as live/healthy and non-zero is unhealthy.
+ items:
+ type: string
+ type: array
+ type: object
+ httpGet:
+ description: HTTPGetAction describes an action based on
+ HTTP Get requests.
+ properties:
+ host:
+ description: Host name to connect to, defaults to
+ the pod IP. You probably want to set "Host" in httpHeaders
+ instead.
+ type: string
+ httpHeaders:
+ description: Custom headers to set in the request.
+ HTTP allows repeated headers.
+ items:
+ description: HTTPHeader describes a custom header
+ to be used in HTTP probes
+ properties:
+ name:
+ description: The header field name
+ type: string
+ value:
+ description: The header field value
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ description: Path to access on the HTTP server.
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ scheme:
+ description: Scheme to use for connecting to the host.
+ Defaults to HTTP.
+ type: string
+ required:
+ - port
+ type: object
+ tcpSocket:
+ description: TCPSocketAction describes an action based
+ on opening a socket
+ properties:
+ host:
+ description: 'Optional: Host name to connect to, defaults
+ to the pod IP.'
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ required:
+ - port
+ type: object
+ type: object
+ type: object
+ livenessProbe:
+ description: Probe describes a health check to be performed against
+ a container to determine whether it is alive or ready to receive
+ traffic.
+ properties:
+ exec:
+ description: ExecAction describes a "run in container" action.
+ properties:
+ command:
+ description: Command is the command line to execute inside
+ the container, the working directory for the command is
+ root ('/') in the container's filesystem. The command
+ is simply exec'd, it is not run inside a shell, so traditional
+ shell instructions ('|', etc) won't work. To use a shell,
+ you need to explicitly call out to that shell. Exit
+ status of 0 is treated as live/healthy and non-zero
+ is unhealthy.
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ description: Minimum consecutive failures for the probe to
+ be considered failed after having succeeded. Defaults to
+ 3. Minimum value is 1.
+ format: int32
+ type: integer
+ httpGet:
+ description: HTTPGetAction describes an action based on HTTP
+ Get requests.
+ properties:
+ host:
+ description: Host name to connect to, defaults to the
+ pod IP. You probably want to set "Host" in httpHeaders
+ instead.
+ type: string
+ httpHeaders:
+ description: Custom headers to set in the request. HTTP
+ allows repeated headers.
+ items:
+ description: HTTPHeader describes a custom header to
+ be used in HTTP probes
+ properties:
+ name:
+ description: The header field name
+ type: string
+ value:
+ description: The header field value
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ description: Path to access on the HTTP server.
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ scheme:
+ description: Scheme to use for connecting to the host.
+ Defaults to HTTP.
+ type: string
+ required:
+ - port
+ type: object
+ initialDelaySeconds:
+ description: 'Number of seconds after the container has started
+ before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
+ format: int32
+ type: integer
+ periodSeconds:
+ description: How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: Minimum consecutive successes for the probe to
+ be considered successful after having failed. Defaults to
+ 1. Must be 1 for liveness. Minimum value is 1.
+ format: int32
+ type: integer
+ tcpSocket:
+ description: TCPSocketAction describes an action based on
+ opening a socket
+ properties:
+ host:
+ description: 'Optional: Host name to connect to, defaults
+ to the pod IP.'
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ required:
+ - port
+ type: object
+ timeoutSeconds:
+ description: 'Number of seconds after which the probe times
+ out. Defaults to 1 second. Minimum value is 1. More info:
+ https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
+ format: int32
+ type: integer
+ type: object
+ name:
+ description: Name of the container specified as a DNS_LABEL. Each
+ container in a pod must have a unique name (DNS_LABEL). Cannot
+ be updated.
+ type: string
+ ports:
+ description: List of ports to expose from the container. Exposing
+ a port here gives the system additional information about the
+ network connections a container uses, but is primarily informational.
+ Not specifying a port here DOES NOT prevent that port from being
+ exposed. Any port which is listening on the default "0.0.0.0"
+ address inside a container will be accessible from the network.
+ Cannot be updated.
+ items:
+ description: ContainerPort represents a network port in a single
+ container.
+ properties:
+ containerPort:
+ description: Number of port to expose on the pod's IP address.
+ This must be a valid port number, 0 < x < 65536.
+ format: int32
+ type: integer
+ hostIP:
+ description: What host IP to bind the external port to.
+ type: string
+ hostPort:
+ description: Number of port to expose on the host. If specified,
+ this must be a valid port number, 0 < x < 65536. If HostNetwork
+ is specified, this must match ContainerPort. Most containers
+ do not need this.
+ format: int32
+ type: integer
+ name:
+ description: If specified, this must be an IANA_SVC_NAME
+ and unique within the pod. Each named port in a pod must
+ have a unique name. Name for the port that can be referred
+ to by services.
+ type: string
+ protocol:
+ description: Protocol for port. Must be UDP, TCP, or SCTP.
+ Defaults to "TCP".
+ type: string
+ required:
+ - containerPort
+ type: object
+ type: array
+ readinessProbe:
+ description: Probe describes a health check to be performed against
+ a container to determine whether it is alive or ready to receive
+ traffic.
+ properties:
+ exec:
+ description: ExecAction describes a "run in container" action.
+ properties:
+ command:
+ description: Command is the command line to execute inside
+ the container, the working directory for the command is
+ root ('/') in the container's filesystem. The command
+ is simply exec'd, it is not run inside a shell, so traditional
+ shell instructions ('|', etc) won't work. To use a shell,
+ you need to explicitly call out to that shell. Exit
+ status of 0 is treated as live/healthy and non-zero
+ is unhealthy.
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ description: Minimum consecutive failures for the probe to
+ be considered failed after having succeeded. Defaults to
+ 3. Minimum value is 1.
+ format: int32
+ type: integer
+ httpGet:
+ description: HTTPGetAction describes an action based on HTTP
+ Get requests.
+ properties:
+ host:
+ description: Host name to connect to, defaults to the
+ pod IP. You probably want to set "Host" in httpHeaders
+ instead.
+ type: string
+ httpHeaders:
+ description: Custom headers to set in the request. HTTP
+ allows repeated headers.
+ items:
+ description: HTTPHeader describes a custom header to
+ be used in HTTP probes
+ properties:
+ name:
+ description: The header field name
+ type: string
+ value:
+ description: The header field value
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ path:
+ description: Path to access on the HTTP server.
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ scheme:
+ description: Scheme to use for connecting to the host.
+ Defaults to HTTP.
+ type: string
+ required:
+ - port
+ type: object
+ initialDelaySeconds:
+ description: 'Number of seconds after the container has started
+ before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
+ format: int32
+ type: integer
+ periodSeconds:
+ description: How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: Minimum consecutive successes for the probe to
+ be considered successful after having failed. Defaults to
+ 1. Must be 1 for liveness. Minimum value is 1.
+ format: int32
+ type: integer
+ tcpSocket:
+ description: TCPSocketAction describes an action based on
+ opening a socket
+ properties:
+ host:
+ description: 'Optional: Host name to connect to, defaults
+ to the pod IP.'
+ type: string
+ port:
+ anyOf:
+ - type: string
+ - type: integer
+ required:
+ - port
+ type: object
+ timeoutSeconds:
+ description: 'Number of seconds after which the probe times
+ out. Defaults to 1 second. Minimum value is 1. More info:
+ https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
+ format: int32
+ type: integer
+ type: object
+ resources:
+ description: ResourceRequirements describes the compute resource
+ requirements.
+ properties:
+ limits:
+ description: 'Limits describes the maximum amount of compute
+ resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ requests:
+ description: 'Requests describes the minimum amount of compute
+ resources required. If Requests is omitted for a container,
+ it defaults to Limits if that is explicitly specified, otherwise
+ to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ type: object
+ securityContext:
+ description: SecurityContext holds security configuration that
+ will be applied to a container. Some fields are present in both
+ SecurityContext and PodSecurityContext. When both are set,
+ the values in SecurityContext take precedence.
+ properties:
+ allowPrivilegeEscalation:
+ description: 'AllowPrivilegeEscalation controls whether a
+ process can gain more privileges than its parent process.
+ This bool directly controls if the no_new_privs flag will
+ be set on the container process. AllowPrivilegeEscalation
+ is true always when the container is: 1) run as Privileged
+ 2) has CAP_SYS_ADMIN'
+ type: boolean
+ capabilities:
+ description: Adds and removes POSIX capabilities from running
+ containers.
+ properties:
+ add:
+ description: Added capabilities
+ items:
+ type: string
+ type: array
+ drop:
+ description: Removed capabilities
+ items:
+ type: string
+ type: array
+ type: object
+ privileged:
+ description: Run container in privileged mode. Processes in
+ privileged containers are essentially equivalent to root
+ on the host. Defaults to false.
+ type: boolean
+ procMount:
+ description: procMount denotes the type of proc mount to use
+ for the containers. The default is DefaultProcMount which
+ uses the container runtime defaults for readonly paths and
+ masked paths. This requires the ProcMountType feature flag
+ to be enabled.
+ type: string
+ readOnlyRootFilesystem:
+ description: Whether this container has a read-only root filesystem.
+ Default is false.
+ type: boolean
+ runAsGroup:
+ description: The GID to run the entrypoint of the container
+ process. Uses runtime default if unset. May also be set
+ in PodSecurityContext. If set in both SecurityContext and
+ PodSecurityContext, the value specified in SecurityContext
+ takes precedence.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root
+ user. If true, the Kubelet will validate the image at runtime
+ to ensure that it does not run as UID 0 (root) and fail
+ to start the container if it does. If unset or false, no
+ such validation will be performed. May also be set in PodSecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the
+ value specified in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container
+ process. Defaults to user specified in image metadata if
+ unspecified. May also be set in PodSecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the
+ value specified in SecurityContext takes precedence.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: SELinuxOptions are the labels to be applied to
+ the container
+ properties:
+ level:
+ description: Level is SELinux level label that applies
+ to the container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies
+ to the container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies
+ to the container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies
+ to the container.
+ type: string
+ type: object
+ type: object
+ stdin:
+ description: Whether this container should allocate a buffer for
+ stdin in the container runtime. If this is not set, reads from
+ stdin in the container will always result in EOF. Default is
+ false.
+ type: boolean
+ stdinOnce:
+ description: Whether the container runtime should close the stdin
+ channel after it has been opened by a single attach. When stdin
+ is true the stdin stream will remain open across multiple attach
+ sessions. If stdinOnce is set to true, stdin is opened on container
+ start, is empty until the first client attaches to stdin, and
+ then remains open and accepts data until the client disconnects,
+ at which time stdin is closed and remains closed until the container
+ is restarted. If this flag is false, a container processes that
+ reads from stdin will never receive an EOF. Default is false
+ type: boolean
+ terminationMessagePath:
+ description: 'Optional: Path at which the file to which the container''s
+ termination message will be written is mounted into the container''s
+ filesystem. Message written is intended to be brief final status,
+ such as an assertion failure message. Will be truncated by the
+ node if greater than 4096 bytes. The total message length across
+ all containers will be limited to 12kb. Defaults to /dev/termination-log.
+ Cannot be updated.'
+ type: string
+ terminationMessagePolicy:
+ description: Indicate how the termination message should be populated.
+ File will use the contents of terminationMessagePath to populate
+ the container status message on both success and failure. FallbackToLogsOnError
+ will use the last chunk of container log output if the termination
+ message file is empty and the container exited with an error.
+ The log output is limited to 2048 bytes or 80 lines, whichever
+ is smaller. Defaults to File. Cannot be updated.
+ type: string
+ tty:
+ description: Whether this container should allocate a TTY for
+ itself, also requires 'stdin' to be true. Default is false.
+ type: boolean
+ volumeDevices:
+ description: volumeDevices is the list of block devices to be
+ used by the container. This is a beta feature.
+ items:
+ description: volumeDevice describes a mapping of a raw block
+ device within a container.
+ properties:
+ devicePath:
+ description: devicePath is the path inside of the container
+ that the device will be mapped to.
+ type: string
+ name:
+ description: name must match the name of a persistentVolumeClaim
+ in the pod
+ type: string
+ required:
+ - name
+ - devicePath
+ type: object
+ type: array
+ volumeMounts:
+ description: Pod volumes to mount into the container's filesystem.
+ Cannot be updated.
+ items:
+ description: VolumeMount describes a mounting of a Volume within
+ a container.
+ properties:
+ mountPath:
+ description: Path within the container at which the volume
+ should be mounted. Must not contain ':'.
+ type: string
+ mountPropagation:
+ description: mountPropagation determines how mounts are
+ propagated from the host to container and the other way
+ around. When not set, MountPropagationNone is used. This
+ field is beta in 1.10.
+ type: string
+ name:
+ description: This must match the Name of a Volume.
+ type: string
+ readOnly:
+ description: Mounted read-only if true, read-write otherwise
+ (false or unspecified). Defaults to false.
+ type: boolean
+ subPath:
+ description: Path within the volume from which the container's
+ volume should be mounted. Defaults to "" (volume's root).
+ type: string
+ subPathExpr:
+ description: Expanded path within the volume from which
+ the container's volume should be mounted. Behaves similarly
+ to SubPath but environment variable references $(VAR_NAME)
+ are expanded using the container's environment. Defaults
+ to "" (volume's root). SubPathExpr and SubPath are mutually
+ exclusive. This field is alpha in 1.14.
+ type: string
+ required:
+ - name
+ - mountPath
+ type: object
+ type: array
+ workingDir:
+ description: Container's working directory. If not specified,
+ the container runtime's default will be used, which might be
+ configured in the container image. Cannot be updated.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ enableAdminAPI:
+ description: 'Enable access to prometheus web admin API. Defaults to
+ the value of `false`. WARNING: Enabling the admin APIs enables mutating
+ endpoints, to delete data, shutdown Prometheus, and more. Enabling
+ this should be done with care and the user is advised to add additional
+ authentication authorization via a proxy to ensure only clients authorized
+ to perform these actions can do so. For more information see https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis'
+ type: boolean
+ evaluationInterval:
+ description: Interval between consecutive evaluations.
+ type: string
+ externalLabels:
+ description: The labels to add to any time series or alerts when communicating
+ with external systems (federation, remote storage, Alertmanager).
+ type: object
+ externalUrl:
+ description: The external URL the Prometheus instances will be available
+ under. This is necessary to generate correct URLs. This is necessary
+ if Prometheus is not served from root of a DNS name.
+ type: string
+ image:
+ description: Image if specified has precedence over baseImage, tag and
+ sha combinations. Specifying the version is still necessary to ensure
+ the Prometheus Operator knows what version of Prometheus is being
+ configured.
+ type: string
+ imagePullSecrets:
+ description: An optional list of references to secrets in the same namespace
+ to use for pulling prometheus and alertmanager images from registries
+ see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
+ items:
+ description: LocalObjectReference contains enough information to let
+ you locate the referenced object inside the same namespace.
+ properties:
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ type: object
+ type: array
+ listenLocal:
+ description: ListenLocal makes the Prometheus server listen on loopback,
+ so that it does not bind against the Pod IP.
+ type: boolean
+ logFormat:
+ description: Log format for Prometheus to be configured with.
+ type: string
+ logLevel:
+ description: Log level for Prometheus to be configured with.
+ type: string
+ nodeSelector:
+ description: Define which Nodes the Pods are scheduled on.
+ type: object
+ paused:
+ description: When a Prometheus deployment is paused, no actions except
+ for deletion will be performed on the underlying objects.
+ type: boolean
+ podMetadata:
+ description: ObjectMeta is metadata that all persisted resources must
+ have, which includes all objects users must create.
+ properties:
+ annotations:
+ description: 'Annotations is an unstructured key value map stored
+ with a resource that may be set by external tools to store and
+ retrieve arbitrary metadata. They are not queryable and should
+ be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
+ type: object
+ clusterName:
+ description: The name of the cluster which the object belongs to.
+ This is used to distinguish resources with same name and namespace
+ in different clusters. This field is not set anywhere right now
+ and apiserver is going to ignore it if set in create or update
+ request.
+ type: string
+ creationTimestamp:
+ description: Time is a wrapper around time.Time which supports correct
+ marshaling to YAML and JSON. Wrappers are provided for many of
+ the factory methods that the time package offers.
+ format: date-time
+ type: string
+ deletionGracePeriodSeconds:
+ description: Number of seconds allowed for this object to gracefully
+ terminate before it will be removed from the system. Only set
+ when deletionTimestamp is also set. May only be shortened. Read-only.
+ format: int64
+ type: integer
+ deletionTimestamp:
+ description: Time is a wrapper around time.Time which supports correct
+ marshaling to YAML and JSON. Wrappers are provided for many of
+ the factory methods that the time package offers.
+ format: date-time
+ type: string
+ finalizers:
+ description: Must be empty before the object is deleted from the
+ registry. Each entry is an identifier for the responsible component
+ that will remove the entry from the list. If the deletionTimestamp
+ of the object is non-nil, entries in this list can only be removed.
+ items:
+ type: string
+ type: array
+ generateName:
+ description: |-
+ GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
+ If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
+ Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
+ type: string
+ generation:
+ description: A sequence number representing a specific generation
+ of the desired state. Populated by the system. Read-only.
+ format: int64
+ type: integer
+ initializers:
+ description: Initializers tracks the progress of initialization.
+ properties:
+ pending:
+ description: Pending is a list of initializers that must execute
+ in order before this object is visible. When the last pending
+ initializer is removed, and no failing result is set, the
+ initializers struct will be set to nil and the object is considered
+ as initialized and visible to all clients.
+ items:
+ description: Initializer is information about an initializer
+ that has not yet completed.
+ properties:
+ name:
+ description: name of the process that is responsible for
+ initializing this object.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ result:
+ description: Status is a return value for calls that don't return
+ other objects.
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of
+ this representation of an object. Servers should convert
+ recognized schemas to the latest internal value, and may
+ reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ code:
+ description: Suggested HTTP return code for this status,
+ 0 if not set.
+ format: int32
+ type: integer
+ details:
+ description: StatusDetails is a set of additional properties
+ that MAY be set by the server to provide additional information
+ about a response. The Reason field of a Status object
+ defines what attributes will be set. Clients must ignore
+ fields that do not match the defined type of each attribute,
+ and should assume that any attribute may be empty, invalid,
+ or under defined.
+ properties:
+ causes:
+ description: The Causes array includes more details
+ associated with the StatusReason failure. Not all
+ StatusReasons may provide detailed causes.
+ items:
+ description: StatusCause provides more information
+ about an api.Status failure, including cases when
+ multiple errors are encountered.
+ properties:
+ field:
+ description: |-
+ The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
+ Examples:
+ "name" - the field "name" on the current resource
+ "items[0].name" - the field "name" on the first array entry in "items"
+ type: string
+ message:
+ description: A human-readable description of the
+ cause of the error. This field may be presented
+ as-is to a reader.
+ type: string
+ reason:
+ description: A machine-readable description of
+ the cause of the error. If this value is empty
+ there is no information available.
+ type: string
+ type: object
+ type: array
+ group:
+ description: The group attribute of the resource associated
+ with the status StatusReason.
+ type: string
+ kind:
+ description: 'The kind attribute of the resource associated
+ with the status StatusReason. On some operations may
+ differ from the requested resource Kind. More info:
+ https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: The name attribute of the resource associated
+ with the status StatusReason (when there is a single
+ name which can be described).
+ type: string
+ retryAfterSeconds:
+ description: If specified, the time in seconds before
+ the operation should be retried. Some errors may indicate
+ the client must take an alternate action - for those
+ errors this field may indicate how long to wait before
+ taking the alternate action.
+ format: int32
+ type: integer
+ uid:
+ description: 'UID of the resource. (when there is a
+ single resource which can be described). More info:
+ http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ type: object
+ kind:
+ description: 'Kind is a string value representing the REST
+ resource this object represents. Servers may infer this
+ from the endpoint the client submits requests to. Cannot
+ be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ message:
+ description: A human-readable description of the status
+ of this operation.
+ type: string
+ metadata:
+ description: ListMeta describes metadata that synthetic
+ resources must have, including lists and various status
+ objects. A resource may have only one of {ObjectMeta,
+ ListMeta}.
+ properties:
+ continue:
+ description: continue may be set if the user set a limit
+ on the number of items returned, and indicates that
+ the server has more data available. The value is opaque
+ and may be used to issue another request to the endpoint
+ that served this list to retrieve the next set of
+ available objects. Continuing a consistent list may
+ not be possible if the server configuration has changed
+ or more than a few minutes have passed. The resourceVersion
+ field returned when using this continue value will
+ be identical to the value in the first response, unless
+ you have received this token from an error message.
+ type: string
+ resourceVersion:
+ description: 'String that identifies the server''s internal
+ version of this object that can be used by clients
+ to determine when objects have changed. Value must
+ be treated as opaque by clients and passed unmodified
+ back to the server. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
+ type: string
+ selfLink:
+ description: selfLink is a URL representing this object.
+ Populated by the system. Read-only.
+ type: string
+ type: object
+ reason:
+ description: A machine-readable description of why this
+ operation is in the "Failure" status. If this value is
+ empty there is no information available. A Reason clarifies
+ an HTTP status code but does not override it.
+ type: string
+ status:
+ description: 'Status of the operation. One of: "Success"
+ or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
+ type: string
+ type: object
+ required:
+ - pending
+ type: object
+ labels:
+ description: 'Map of string keys and values that can be used to
+ organize and categorize (scope and select) objects. May match
+ selectors of replication controllers and services. More info:
+ http://kubernetes.io/docs/user-guide/labels'
+ type: object
+ managedFields:
+ description: |-
+ ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object.
+ This field is alpha and can be changed or removed without notice.
+ items:
+ description: ManagedFieldsEntry is a workflow-id, a FieldSet and
+ the group version of the resource that the fieldset applies
+ to.
+ properties:
+ apiVersion:
+ description: APIVersion defines the version of this resource
+ that this field set applies to. The format is "group/version"
+ just like the top-level APIVersion field. It is necessary
+ to track the version of a field set because it cannot be
+ automatically converted.
+ type: string
+ fields:
+ description: 'Fields stores a set of fields in a data structure
+ like a Trie. To understand how this is used, see: https://github.com/kubernetes-sigs/structured-merge-diff'
+ type: object
+ manager:
+ description: Manager is an identifier of the workflow managing
+ these fields.
+ type: string
+ operation:
+ description: Operation is the type of operation which lead
+ to this ManagedFieldsEntry being created. The only valid
+ values for this field are 'Apply' and 'Update'.
+ type: string
+ time:
+ description: Time is a wrapper around time.Time which supports
+ correct marshaling to YAML and JSON. Wrappers are provided
+ for many of the factory methods that the time package offers.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ name:
+ description: 'Name must be unique within a namespace. Is required
+ when creating resources, although some resources may allow a client
+ to request the generation of an appropriate name automatically.
+ Name is primarily intended for creation idempotence and configuration
+ definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ namespace:
+ description: |-
+ Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
+ Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
+ type: string
+ ownerReferences:
+ description: List of objects depended by this object. If ALL objects
+ in the list have been deleted, this object will be garbage collected.
+ If this object is managed by a controller, then an entry in this
+ list will point to this controller, with the controller field
+ set to true. There cannot be more than one managing controller.
+ items:
+ description: OwnerReference contains enough information to let
+ you identify an owning object. An owning object must be in the
+ same namespace as the dependent, or be cluster-scoped, so there
+ is no namespace field.
+ properties:
+ apiVersion:
+ description: API version of the referent.
+ type: string
+ blockOwnerDeletion:
+ description: If true, AND if the owner has the "foregroundDeletion"
+ finalizer, then the owner cannot be deleted from the key-value
+ store until this reference is removed. Defaults to false.
+ To set this field, a user needs "delete" permission of the
+ owner, otherwise 422 (Unprocessable Entity) will be returned.
+ type: boolean
+ controller:
+ description: If true, this reference points to the managing
+ controller.
+ type: boolean
+ kind:
+ description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ uid:
+ description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ - uid
+ type: object
+ type: array
+ resourceVersion:
+ description: |-
+ An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
+ Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
+ type: string
+ selfLink:
+ description: SelfLink is a URL representing this object. Populated
+ by the system. Read-only.
+ type: string
+ uid:
+ description: |-
+ UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
+ Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+ type: string
+ type: object
+ podMonitorNamespaceSelector:
+ description: A label selector is a label query over a set of resources.
+ The result of matchLabels and matchExpressions are ANDed. An empty
+ label selector matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector requirements.
+ The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector that contains
+ values, a key, and an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector applies
+ to.
+ type: string
+ operator:
+ description: operator represents a key's relationship to a
+ set of values. Valid operators are In, NotIn, Exists and
+ DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values. If the operator
+ is In or NotIn, the values array must be non-empty. If the
+ operator is Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs. A single
+ {key,value} in the matchLabels map is equivalent to an element
+ of matchExpressions, whose key field is "key", the operator is
+ "In", and the values array contains only "value". The requirements
+ are ANDed.
+ type: object
+ type: object
+ podMonitorSelector:
+ description: A label selector is a label query over a set of resources.
+ The result of matchLabels and matchExpressions are ANDed. An empty
+ label selector matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector requirements.
+ The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector that contains
+ values, a key, and an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector applies
+ to.
+ type: string
+ operator:
+ description: operator represents a key's relationship to a
+ set of values. Valid operators are In, NotIn, Exists and
+ DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values. If the operator
+ is In or NotIn, the values array must be non-empty. If the
+ operator is Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs. A single
+ {key,value} in the matchLabels map is equivalent to an element
+ of matchExpressions, whose key field is "key", the operator is
+ "In", and the values array contains only "value". The requirements
+ are ANDed.
+ type: object
+ type: object
+ priorityClassName:
+ description: Priority class assigned to the Pods
+ type: string
+ prometheusExternalLabelName:
+ description: Name of Prometheus external label used to denote Prometheus
+ instance name. Defaults to the value of `prometheus`. External label
+ will _not_ be added when value is set to empty string (`""`).
+ type: string
+ query:
+ description: QuerySpec defines the query command line flags when starting
+ Prometheus.
+ properties:
+ lookbackDelta:
+ description: The delta difference allowed for retrieving metrics
+ during expression evaluations.
+ type: string
+ maxConcurrency:
+ description: Number of concurrent queries that can be run at once.
+ format: int32
+ type: integer
+ maxSamples:
+ description: Maximum number of samples a single query can load into
+ memory. Note that queries will fail if they would load more samples
+ than this into memory, so this also limits the number of samples
+ a query can return.
+ format: int32
+ type: integer
+ timeout:
+ description: Maximum time a query may take before being aborted.
+ type: string
+ type: object
+ remoteRead:
+ description: If specified, the remote_read spec. This is an experimental
+ feature, it may change in any upcoming release in a breaking way.
+ items:
+ description: RemoteReadSpec defines the remote_read configuration
+ for prometheus.
+ properties:
+ basicAuth:
+ description: 'BasicAuth allow an endpoint to authenticate over
+ basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
+ properties:
+ password:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ username:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ bearerToken:
+ description: bearer token for remote read.
+ type: string
+ bearerTokenFile:
+ description: File to read bearer token for remote read.
+ type: string
+ proxyUrl:
+ description: Optional ProxyURL
+ type: string
+ readRecent:
+ description: Whether reads should be made for queries for time
+ ranges that the local storage should have complete data for.
+ type: boolean
+ remoteTimeout:
+ description: Timeout for requests to the remote read endpoint.
+ type: string
+ requiredMatchers:
+ description: An optional list of equality matchers which have
+ to be present in a selector to query the remote read endpoint.
+ type: object
+ tlsConfig:
+ description: TLSConfig specifies TLS configuration parameters.
+ properties:
+ caFile:
+ description: The CA cert to use for the targets.
+ type: string
+ certFile:
+ description: The client cert file for the targets.
+ type: string
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keyFile:
+ description: The client key file for the targets.
+ type: string
+ serverName:
+ description: Used to verify the hostname for the targets.
+ type: string
+ type: object
+ url:
+ description: The URL of the endpoint to send samples to.
+ type: string
+ required:
+ - url
+ type: object
+ type: array
+ remoteWrite:
+ description: If specified, the remote_write spec. This is an experimental
+ feature, it may change in any upcoming release in a breaking way.
+ items:
+ description: RemoteWriteSpec defines the remote_write configuration
+ for prometheus.
+ properties:
+ basicAuth:
+ description: 'BasicAuth allow an endpoint to authenticate over
+ basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
+ properties:
+ password:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ username:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ bearerToken:
+ description: File to read bearer token for remote write.
+ type: string
+ bearerTokenFile:
+ description: File to read bearer token for remote write.
+ type: string
+ proxyUrl:
+ description: Optional ProxyURL
+ type: string
+ queueConfig:
+ description: QueueConfig allows the tuning of remote_write queue_config
+ parameters. This object is referenced in the RemoteWriteSpec
+ object.
+ properties:
+ batchSendDeadline:
+ description: BatchSendDeadline is the maximum time a sample
+ will wait in buffer.
+ type: string
+ capacity:
+ description: Capacity is the number of samples to buffer per
+ shard before we start dropping them.
+ format: int32
+ type: integer
+ maxBackoff:
+ description: MaxBackoff is the maximum retry delay.
+ type: string
+ maxRetries:
+ description: MaxRetries is the maximum number of times to
+ retry a batch on recoverable errors.
+ format: int32
+ type: integer
+ maxSamplesPerSend:
+ description: MaxSamplesPerSend is the maximum number of samples
+ per send.
+ format: int32
+ type: integer
+ maxShards:
+ description: MaxShards is the maximum number of shards, i.e.
+ amount of concurrency.
+ format: int32
+ type: integer
+ minBackoff:
+ description: MinBackoff is the initial retry delay. Gets doubled
+ for every retry.
+ type: string
+ minShards:
+ description: MinShards is the minimum number of shards, i.e.
+ amount of concurrency.
+ format: int32
+ type: integer
+ type: object
+ remoteTimeout:
+ description: Timeout for requests to the remote write endpoint.
+ type: string
+ tlsConfig:
+ description: TLSConfig specifies TLS configuration parameters.
+ properties:
+ caFile:
+ description: The CA cert to use for the targets.
+ type: string
+ certFile:
+ description: The client cert file for the targets.
+ type: string
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keyFile:
+ description: The client key file for the targets.
+ type: string
+ serverName:
+ description: Used to verify the hostname for the targets.
+ type: string
+ type: object
+ url:
+ description: The URL of the endpoint to send samples to.
+ type: string
+ writeRelabelConfigs:
+ description: The list of remote write relabel configurations.
+ items:
+ description: 'RelabelConfig allows dynamic rewriting of the
+ label set, being applied to samples before ingestion. It defines
+ ``-section of Prometheus configuration.
+ More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
+ properties:
+ action:
+ description: Action to perform based on regex matching.
+ Default is 'replace'
+ type: string
+ modulus:
+ description: Modulus to take of the hash of the source label
+ values.
+ format: int64
+ type: integer
+ regex:
+ description: Regular expression against which the extracted
+ value is matched. defailt is '(.*)'
+ type: string
+ replacement:
+ description: Replacement value against which a regex replace
+ is performed if the regular expression matches. Regex
+ capture groups are available. Default is '$1'
+ type: string
+ separator:
+ description: Separator placed between concatenated source
+ label values. default is ';'.
+ type: string
+ sourceLabels:
+ description: The source labels select values from existing
+ labels. Their content is concatenated using the configured
+ separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
+ items:
+ type: string
+ type: array
+ targetLabel:
+ description: Label to which the resulting value is written
+ in a replace action. It is mandatory for replace actions.
+ Regex capture groups are available.
+ type: string
+ type: object
+ type: array
+ required:
+ - url
+ type: object
+ type: array
+ replicaExternalLabelName:
+ description: Name of Prometheus external label used to denote replica
+ name. Defaults to the value of `prometheus_replica`. External label
+ will _not_ be added when value is set to empty string (`""`).
+ type: string
+ replicas:
+ description: Number of instances to deploy for a Prometheus deployment.
+ format: int32
+ type: integer
+ resources:
+ description: ResourceRequirements describes the compute resource requirements.
+ properties:
+ limits:
+ description: 'Limits describes the maximum amount of compute resources
+ allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ requests:
+ description: 'Requests describes the minimum amount of compute resources
+ required. If Requests is omitted for a container, it defaults
+ to Limits if that is explicitly specified, otherwise to an implementation-defined
+ value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ type: object
+ retention:
+ description: Time duration Prometheus shall retain data for. Default
+ is '24h', and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)`
+ (milliseconds seconds minutes hours days weeks years).
+ type: string
+ retentionSize:
+ description: Maximum amount of disk space used by blocks.
+ type: string
+ routePrefix:
+ description: The route prefix Prometheus registers HTTP handlers for.
+ This is useful, if using ExternalURL and a proxy is rewriting HTTP
+ routes of a request, and the actual ExternalURL is still true, but
+ the server serves requests under a different route prefix. For example
+ for use with `kubectl proxy`.
+ type: string
+ ruleNamespaceSelector:
+ description: A label selector is a label query over a set of resources.
+ The result of matchLabels and matchExpressions are ANDed. An empty
+ label selector matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector requirements.
+ The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector that contains
+ values, a key, and an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector applies
+ to.
+ type: string
+ operator:
+ description: operator represents a key's relationship to a
+ set of values. Valid operators are In, NotIn, Exists and
+ DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values. If the operator
+ is In or NotIn, the values array must be non-empty. If the
+ operator is Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs. A single
+ {key,value} in the matchLabels map is equivalent to an element
+ of matchExpressions, whose key field is "key", the operator is
+ "In", and the values array contains only "value". The requirements
+ are ANDed.
+ type: object
+ type: object
+ ruleSelector:
+ description: A label selector is a label query over a set of resources.
+ The result of matchLabels and matchExpressions are ANDed. An empty
+ label selector matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector requirements.
+ The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector that contains
+ values, a key, and an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector applies
+ to.
+ type: string
+ operator:
+ description: operator represents a key's relationship to a
+ set of values. Valid operators are In, NotIn, Exists and
+ DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values. If the operator
+ is In or NotIn, the values array must be non-empty. If the
+ operator is Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs. A single
+ {key,value} in the matchLabels map is equivalent to an element
+ of matchExpressions, whose key field is "key", the operator is
+ "In", and the values array contains only "value". The requirements
+ are ANDed.
+ type: object
+ type: object
+ rules:
+ description: /--rules.*/ command-line arguments
+ properties:
+ alert:
+ description: /--rules.alert.*/ command-line arguments
+ properties:
+ forGracePeriod:
+ description: Minimum duration between alert and restored 'for'
+ state. This is maintained only for alerts with configured
+ 'for' time greater than grace period.
+ type: string
+ forOutageTolerance:
+ description: Max time to tolerate prometheus outage for restoring
+ 'for' state of alert.
+ type: string
+ resendDelay:
+ description: Minimum amount of time to wait before resending
+ an alert to Alertmanager.
+ type: string
+ type: object
+ type: object
+ scrapeInterval:
+ description: Interval between consecutive scrapes.
+ type: string
+ secrets:
+ description: Secrets is a list of Secrets in the same namespace as the
+ Prometheus object, which shall be mounted into the Prometheus Pods.
+ The Secrets are mounted into /etc/prometheus/secrets/.
+ items:
+ type: string
+ type: array
+ securityContext:
+ description: PodSecurityContext holds pod-level security attributes
+ and common container settings. Some fields are also present in container.securityContext. Field
+ values of container.securityContext take precedence over field values
+ of PodSecurityContext.
+ properties:
+ fsGroup:
+ description: |-
+ A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:
+ 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw----
+ If unset, the Kubelet will not modify the ownership and permissions of any volume.
+ format: int64
+ type: integer
+ runAsGroup:
+ description: The GID to run the entrypoint of the container process.
+ Uses runtime default if unset. May also be set in SecurityContext. If
+ set in both SecurityContext and PodSecurityContext, the value
+ specified in SecurityContext takes precedence for that container.
+ format: int64
+ type: integer
+ runAsNonRoot:
+ description: Indicates that the container must run as a non-root
+ user. If true, the Kubelet will validate the image at runtime
+ to ensure that it does not run as UID 0 (root) and fail to start
+ the container if it does. If unset or false, no such validation
+ will be performed. May also be set in SecurityContext. If set
+ in both SecurityContext and PodSecurityContext, the value specified
+ in SecurityContext takes precedence.
+ type: boolean
+ runAsUser:
+ description: The UID to run the entrypoint of the container process.
+ Defaults to user specified in image metadata if unspecified. May
+ also be set in SecurityContext. If set in both SecurityContext
+ and PodSecurityContext, the value specified in SecurityContext
+ takes precedence for that container.
+ format: int64
+ type: integer
+ seLinuxOptions:
+ description: SELinuxOptions are the labels to be applied to the
+ container
+ properties:
+ level:
+ description: Level is SELinux level label that applies to the
+ container.
+ type: string
+ role:
+ description: Role is a SELinux role label that applies to the
+ container.
+ type: string
+ type:
+ description: Type is a SELinux type label that applies to the
+ container.
+ type: string
+ user:
+ description: User is a SELinux user label that applies to the
+ container.
+ type: string
+ type: object
+ supplementalGroups:
+ description: A list of groups applied to the first process run in
+ each container, in addition to the container's primary GID. If
+ unspecified, no groups will be added to any container.
+ items:
+ format: int64
+ type: integer
+ type: array
+ sysctls:
+ description: Sysctls hold a list of namespaced sysctls used for
+ the pod. Pods with unsupported sysctls (by the container runtime)
+ might fail to launch.
+ items:
+ description: Sysctl defines a kernel parameter to be set
+ properties:
+ name:
+ description: Name of a property to set
+ type: string
+ value:
+ description: Value of a property to set
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ type: object
+ serviceAccountName:
+ description: ServiceAccountName is the name of the ServiceAccount to
+ use to run the Prometheus Pods.
+ type: string
+ serviceMonitorNamespaceSelector:
+ description: A label selector is a label query over a set of resources.
+ The result of matchLabels and matchExpressions are ANDed. An empty
+ label selector matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector requirements.
+ The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector that contains
+ values, a key, and an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector applies
+ to.
+ type: string
+ operator:
+ description: operator represents a key's relationship to a
+ set of values. Valid operators are In, NotIn, Exists and
+ DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values. If the operator
+ is In or NotIn, the values array must be non-empty. If the
+ operator is Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs. A single
+ {key,value} in the matchLabels map is equivalent to an element
+ of matchExpressions, whose key field is "key", the operator is
+ "In", and the values array contains only "value". The requirements
+ are ANDed.
+ type: object
+ type: object
+ serviceMonitorSelector:
+ description: A label selector is a label query over a set of resources.
+ The result of matchLabels and matchExpressions are ANDed. An empty
+ label selector matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector requirements.
+ The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector that contains
+ values, a key, and an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector applies
+ to.
+ type: string
+ operator:
+ description: operator represents a key's relationship to a
+ set of values. Valid operators are In, NotIn, Exists and
+ DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values. If the operator
+ is In or NotIn, the values array must be non-empty. If the
+ operator is Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs. A single
+ {key,value} in the matchLabels map is equivalent to an element
+ of matchExpressions, whose key field is "key", the operator is
+ "In", and the values array contains only "value". The requirements
+ are ANDed.
+ type: object
+ type: object
+ sha:
+ description: SHA of Prometheus container image to be deployed. Defaults
+ to the value of `version`. Similar to a tag, but the SHA explicitly
+ deploys an immutable container image. Version and Tag are ignored
+ if SHA is set.
+ type: string
+ storage:
+ description: StorageSpec defines the configured storage for a group
+ Prometheus servers. If neither `emptyDir` nor `volumeClaimTemplate`
+ is specified, then by default an [EmptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir)
+ will be used.
+ properties:
+ emptyDir:
+ description: Represents an empty directory for a pod. Empty directory
+ volumes support ownership management and SELinux relabeling.
+ properties:
+ medium:
+ description: 'What type of storage medium should back this directory.
+ The default is "" which means to use the node''s default medium.
+ Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
+ type: string
+ sizeLimit: {}
+ type: object
+ volumeClaimTemplate:
+ description: PersistentVolumeClaim is a user's request for and claim
+ to a persistent volume
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this
+ representation of an object. Servers should convert recognized
+ schemas to the latest internal value, and may reject unrecognized
+ values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource
+ this object represents. Servers may infer this from the endpoint
+ the client submits requests to. Cannot be updated. In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ metadata:
+ description: ObjectMeta is metadata that all persisted resources
+ must have, which includes all objects users must create.
+ properties:
+ annotations:
+ description: 'Annotations is an unstructured key value map
+ stored with a resource that may be set by external tools
+ to store and retrieve arbitrary metadata. They are not
+ queryable and should be preserved when modifying objects.
+ More info: http://kubernetes.io/docs/user-guide/annotations'
+ type: object
+ clusterName:
+ description: The name of the cluster which the object belongs
+ to. This is used to distinguish resources with same name
+ and namespace in different clusters. This field is not
+ set anywhere right now and apiserver is going to ignore
+ it if set in create or update request.
+ type: string
+ creationTimestamp:
+ description: Time is a wrapper around time.Time which supports
+ correct marshaling to YAML and JSON. Wrappers are provided
+ for many of the factory methods that the time package
+ offers.
+ format: date-time
+ type: string
+ deletionGracePeriodSeconds:
+ description: Number of seconds allowed for this object to
+ gracefully terminate before it will be removed from the
+ system. Only set when deletionTimestamp is also set. May
+ only be shortened. Read-only.
+ format: int64
+ type: integer
+ deletionTimestamp:
+ description: Time is a wrapper around time.Time which supports
+ correct marshaling to YAML and JSON. Wrappers are provided
+ for many of the factory methods that the time package
+ offers.
+ format: date-time
+ type: string
+ finalizers:
+ description: Must be empty before the object is deleted
+ from the registry. Each entry is an identifier for the
+ responsible component that will remove the entry from
+ the list. If the deletionTimestamp of the object is non-nil,
+ entries in this list can only be removed.
+ items:
+ type: string
+ type: array
+ generateName:
+ description: |-
+ GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
+ If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
+ Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
+ type: string
+ generation:
+ description: A sequence number representing a specific generation
+ of the desired state. Populated by the system. Read-only.
+ format: int64
+ type: integer
+ initializers:
+ description: Initializers tracks the progress of initialization.
+ properties:
+ pending:
+ description: Pending is a list of initializers that
+ must execute in order before this object is visible.
+ When the last pending initializer is removed, and
+ no failing result is set, the initializers struct
+ will be set to nil and the object is considered as
+ initialized and visible to all clients.
+ items:
+ description: Initializer is information about an initializer
+ that has not yet completed.
+ properties:
+ name:
+ description: name of the process that is responsible
+ for initializing this object.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ result:
+ description: Status is a return value for calls that
+ don't return other objects.
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema
+ of this representation of an object. Servers should
+ convert recognized schemas to the latest internal
+ value, and may reject unrecognized values. More
+ info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ code:
+ description: Suggested HTTP return code for this
+ status, 0 if not set.
+ format: int32
+ type: integer
+ details:
+ description: StatusDetails is a set of additional
+ properties that MAY be set by the server to provide
+ additional information about a response. The Reason
+ field of a Status object defines what attributes
+ will be set. Clients must ignore fields that do
+ not match the defined type of each attribute,
+ and should assume that any attribute may be empty,
+ invalid, or under defined.
+ properties:
+ causes:
+ description: The Causes array includes more
+ details associated with the StatusReason failure.
+ Not all StatusReasons may provide detailed
+ causes.
+ items:
+ description: StatusCause provides more information
+ about an api.Status failure, including cases
+ when multiple errors are encountered.
+ properties:
+ field:
+ description: |-
+ The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
+ Examples:
+ "name" - the field "name" on the current resource
+ "items[0].name" - the field "name" on the first array entry in "items"
+ type: string
+ message:
+ description: A human-readable description
+ of the cause of the error. This field
+ may be presented as-is to a reader.
+ type: string
+ reason:
+ description: A machine-readable description
+ of the cause of the error. If this value
+ is empty there is no information available.
+ type: string
+ type: object
+ type: array
+ group:
+ description: The group attribute of the resource
+ associated with the status StatusReason.
+ type: string
+ kind:
+ description: 'The kind attribute of the resource
+ associated with the status StatusReason. On
+ some operations may differ from the requested
+ resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: The name attribute of the resource
+ associated with the status StatusReason (when
+ there is a single name which can be described).
+ type: string
+ retryAfterSeconds:
+ description: If specified, the time in seconds
+ before the operation should be retried. Some
+ errors may indicate the client must take an
+ alternate action - for those errors this field
+ may indicate how long to wait before taking
+ the alternate action.
+ format: int32
+ type: integer
+ uid:
+ description: 'UID of the resource. (when there
+ is a single resource which can be described).
+ More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ type: object
+ kind:
+ description: 'Kind is a string value representing
+ the REST resource this object represents. Servers
+ may infer this from the endpoint the client submits
+ requests to. Cannot be updated. In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ message:
+ description: A human-readable description of the
+ status of this operation.
+ type: string
+ metadata:
+ description: ListMeta describes metadata that synthetic
+ resources must have, including lists and various
+ status objects. A resource may have only one of
+ {ObjectMeta, ListMeta}.
+ properties:
+ continue:
+ description: continue may be set if the user
+ set a limit on the number of items returned,
+ and indicates that the server has more data
+ available. The value is opaque and may be
+ used to issue another request to the endpoint
+ that served this list to retrieve the next
+ set of available objects. Continuing a consistent
+ list may not be possible if the server configuration
+ has changed or more than a few minutes have
+ passed. The resourceVersion field returned
+ when using this continue value will be identical
+ to the value in the first response, unless
+ you have received this token from an error
+ message.
+ type: string
+ resourceVersion:
+ description: 'String that identifies the server''s
+ internal version of this object that can be
+ used by clients to determine when objects
+ have changed. Value must be treated as opaque
+ by clients and passed unmodified back to the
+ server. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
+ type: string
+ selfLink:
+ description: selfLink is a URL representing
+ this object. Populated by the system. Read-only.
+ type: string
+ type: object
+ reason:
+ description: A machine-readable description of why
+ this operation is in the "Failure" status. If
+ this value is empty there is no information available.
+ A Reason clarifies an HTTP status code but does
+ not override it.
+ type: string
+ status:
+ description: 'Status of the operation. One of: "Success"
+ or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
+ type: string
+ type: object
+ required:
+ - pending
+ type: object
+ labels:
+ description: 'Map of string keys and values that can be
+ used to organize and categorize (scope and select) objects.
+ May match selectors of replication controllers and services.
+ More info: http://kubernetes.io/docs/user-guide/labels'
+ type: object
+ managedFields:
+ description: |-
+ ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object.
+ This field is alpha and can be changed or removed without notice.
+ items:
+ description: ManagedFieldsEntry is a workflow-id, a FieldSet
+ and the group version of the resource that the fieldset
+ applies to.
+ properties:
+ apiVersion:
+ description: APIVersion defines the version of this
+ resource that this field set applies to. The format
+ is "group/version" just like the top-level APIVersion
+ field. It is necessary to track the version of a
+ field set because it cannot be automatically converted.
+ type: string
+ fields:
+ description: 'Fields stores a set of fields in a data
+ structure like a Trie. To understand how this is
+ used, see: https://github.com/kubernetes-sigs/structured-merge-diff'
+ type: object
+ manager:
+ description: Manager is an identifier of the workflow
+ managing these fields.
+ type: string
+ operation:
+ description: Operation is the type of operation which
+ lead to this ManagedFieldsEntry being created. The
+ only valid values for this field are 'Apply' and
+ 'Update'.
+ type: string
+ time:
+ description: Time is a wrapper around time.Time which
+ supports correct marshaling to YAML and JSON. Wrappers
+ are provided for many of the factory methods that
+ the time package offers.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ name:
+ description: 'Name must be unique within a namespace. Is
+ required when creating resources, although some resources
+ may allow a client to request the generation of an appropriate
+ name automatically. Name is primarily intended for creation
+ idempotence and configuration definition. Cannot be updated.
+ More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ namespace:
+ description: |-
+ Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
+ Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
+ type: string
+ ownerReferences:
+ description: List of objects depended by this object. If
+ ALL objects in the list have been deleted, this object
+ will be garbage collected. If this object is managed by
+ a controller, then an entry in this list will point to
+ this controller, with the controller field set to true.
+ There cannot be more than one managing controller.
+ items:
+ description: OwnerReference contains enough information
+ to let you identify an owning object. An owning object
+ must be in the same namespace as the dependent, or be
+ cluster-scoped, so there is no namespace field.
+ properties:
+ apiVersion:
+ description: API version of the referent.
+ type: string
+ blockOwnerDeletion:
+ description: If true, AND if the owner has the "foregroundDeletion"
+ finalizer, then the owner cannot be deleted from
+ the key-value store until this reference is removed.
+ Defaults to false. To set this field, a user needs
+ "delete" permission of the owner, otherwise 422
+ (Unprocessable Entity) will be returned.
+ type: boolean
+ controller:
+ description: If true, this reference points to the
+ managing controller.
+ type: boolean
+ kind:
+ description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ uid:
+ description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ - uid
+ type: object
+ type: array
+ resourceVersion:
+ description: |-
+ An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
+ Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
+ type: string
+ selfLink:
+ description: SelfLink is a URL representing this object.
+ Populated by the system. Read-only.
+ type: string
+ uid:
+ description: |-
+ UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
+ Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+ type: string
+ type: object
+ spec:
+ description: PersistentVolumeClaimSpec describes the common
+ attributes of storage devices and allows a Source for provider-specific
+ attributes
+ properties:
+ accessModes:
+ description: 'AccessModes contains the desired access modes
+ the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
+ items:
+ type: string
+ type: array
+ dataSource:
+ description: TypedLocalObjectReference contains enough information
+ to let you locate the typed referenced object inside the
+ same namespace.
+ properties:
+ apiGroup:
+ description: APIGroup is the group for the resource
+ being referenced. If APIGroup is not specified, the
+ specified Kind must be in the core API group. For
+ any other third-party types, APIGroup is required.
+ type: string
+ kind:
+ description: Kind is the type of resource being referenced
+ type: string
+ name:
+ description: Name is the name of resource being referenced
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ resources:
+ description: ResourceRequirements describes the compute
+ resource requirements.
+ properties:
+ limits:
+ description: 'Limits describes the maximum amount of
+ compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ requests:
+ description: 'Requests describes the minimum amount
+ of compute resources required. If Requests is omitted
+ for a container, it defaults to Limits if that is
+ explicitly specified, otherwise to an implementation-defined
+ value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ type: object
+ selector:
+ description: A label selector is a label query over a set
+ of resources. The result of matchLabels and matchExpressions
+ are ANDed. An empty label selector matches all objects.
+ A null label selector matches no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector
+ requirements. The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector
+ that contains values, a key, and an operator that
+ relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector
+ applies to.
+ type: string
+ operator:
+ description: operator represents a key's relationship
+ to a set of values. Valid operators are In,
+ NotIn, Exists and DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values.
+ If the operator is In or NotIn, the values array
+ must be non-empty. If the operator is Exists
+ or DoesNotExist, the values array must be empty.
+ This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs.
+ A single {key,value} in the matchLabels map is equivalent
+ to an element of matchExpressions, whose key field
+ is "key", the operator is "In", and the values array
+ contains only "value". The requirements are ANDed.
+ type: object
+ type: object
+ storageClassName:
+ description: 'Name of the StorageClass required by the claim.
+ More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
+ type: string
+ volumeMode:
+ description: volumeMode defines what type of volume is required
+ by the claim. Value of Filesystem is implied when not
+ included in claim spec. This is a beta feature.
+ type: string
+ volumeName:
+ description: VolumeName is the binding reference to the
+ PersistentVolume backing this claim.
+ type: string
+ type: object
+ status:
+ description: PersistentVolumeClaimStatus is the current status
+ of a persistent volume claim.
+ properties:
+ accessModes:
+ description: 'AccessModes contains the actual access modes
+ the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
+ items:
+ type: string
+ type: array
+ capacity:
+ description: Represents the actual resources of the underlying
+ volume.
+ type: object
+ conditions:
+ description: Current Condition of persistent volume claim.
+ If underlying persistent volume is being resized then
+ the Condition will be set to 'ResizeStarted'.
+ items:
+ description: PersistentVolumeClaimCondition contails details
+ about state of pvc
+ properties:
+ lastProbeTime:
+ description: Time is a wrapper around time.Time which
+ supports correct marshaling to YAML and JSON. Wrappers
+ are provided for many of the factory methods that
+ the time package offers.
+ format: date-time
+ type: string
+ lastTransitionTime:
+ description: Time is a wrapper around time.Time which
+ supports correct marshaling to YAML and JSON. Wrappers
+ are provided for many of the factory methods that
+ the time package offers.
+ format: date-time
+ type: string
+ message:
+ description: Human-readable message indicating details
+ about last transition.
+ type: string
+ reason:
+ description: Unique, this should be a short, machine
+ understandable string that gives the reason for
+ condition's last transition. If it reports "ResizeStarted"
+ that means the underlying persistent volume is being
+ resized.
+ type: string
+ status:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ - status
+ type: object
+ type: array
+ phase:
+ description: Phase represents the current phase of PersistentVolumeClaim.
+ type: string
+ type: object
+ type: object
+ type: object
+ tag:
+ description: Tag of Prometheus container image to be deployed. Defaults
+ to the value of `version`. Version is ignored if Tag is set.
+ type: string
+ thanos:
+ description: ThanosSpec defines parameters for a Prometheus server within
+ a Thanos deployment.
+ properties:
+ baseImage:
+ description: Thanos base image if other than default.
+ type: string
+ image:
+ description: Image if specified has precedence over baseImage, tag
+ and sha combinations. Specifying the version is still necessary
+ to ensure the Prometheus Operator knows what version of Thanos
+ is being configured.
+ type: string
+ objectStorageConfig:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must be
+ a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must be
+ defined
+ type: boolean
+ required:
+ - key
+ type: object
+ resources:
+ description: ResourceRequirements describes the compute resource
+ requirements.
+ properties:
+ limits:
+ description: 'Limits describes the maximum amount of compute
+ resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ requests:
+ description: 'Requests describes the minimum amount of compute
+ resources required. If Requests is omitted for a container,
+ it defaults to Limits if that is explicitly specified, otherwise
+ to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/'
+ type: object
+ type: object
+ sha:
+ description: SHA of Thanos container image to be deployed. Defaults
+ to the value of `version`. Similar to a tag, but the SHA explicitly
+ deploys an immutable container image. Version and Tag are ignored
+ if SHA is set.
+ type: string
+ tag:
+ description: Tag of Thanos sidecar container image to be deployed.
+ Defaults to the value of `version`. Version is ignored if Tag
+ is set.
+ type: string
+ version:
+ description: Version describes the version of Thanos to use.
+ type: string
+ type: object
+ tolerations:
+ description: If specified, the pod's tolerations.
+ items:
+ description: The pod this Toleration is attached to tolerates any
+ taint that matches the triple using the matching
+ operator .
+ properties:
+ effect:
+ description: Effect indicates the taint effect to match. Empty
+ means match all taint effects. When specified, allowed values
+ are NoSchedule, PreferNoSchedule and NoExecute.
+ type: string
+ key:
+ description: Key is the taint key that the toleration applies
+ to. Empty means match all taint keys. If the key is empty, operator
+ must be Exists; this combination means to match all values and
+ all keys.
+ type: string
+ operator:
+ description: Operator represents a key's relationship to the value.
+ Valid operators are Exists and Equal. Defaults to Equal. Exists
+ is equivalent to wildcard for value, so that a pod can tolerate
+ all taints of a particular category.
+ type: string
+ tolerationSeconds:
+ description: TolerationSeconds represents the period of time the
+ toleration (which must be of effect NoExecute, otherwise this
+ field is ignored) tolerates the taint. By default, it is not
+ set, which means tolerate the taint forever (do not evict).
+ Zero and negative values will be treated as 0 (evict immediately)
+ by the system.
+ format: int64
+ type: integer
+ value:
+ description: Value is the taint value the toleration matches to.
+ If the operator is Exists, the value should be empty, otherwise
+ just a regular string.
+ type: string
+ type: object
+ type: array
+ version:
+ description: Version of Prometheus to be deployed.
+ type: string
+ type: object
+ status:
+ description: 'PrometheusStatus is the most recent observed status of the
+ Prometheus cluster. Read-only. Not included when requesting from the apiserver,
+ only from the Prometheus Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status'
+ properties:
+ availableReplicas:
+ description: Total number of available pods (ready for at least minReadySeconds)
+ targeted by this Prometheus deployment.
+ format: int32
+ type: integer
+ paused:
+ description: Represents whether any actions on the underlaying managed
+ objects are being performed. Only delete actions will be performed.
+ type: boolean
+ replicas:
+ description: Total number of non-terminated pods targeted by this Prometheus
+ deployment (their labels match the selector).
+ format: int32
+ type: integer
+ unavailableReplicas:
+ description: Total number of unavailable pods targeted by this Prometheus
+ deployment.
+ format: int32
+ type: integer
+ updatedReplicas:
+ description: Total number of non-terminated pods targeted by this Prometheus
+ deployment that have the desired version spec.
+ format: int32
+ type: integer
+ required:
+ - paused
+ - replicas
+ - updatedReplicas
+ - availableReplicas
+ - unavailableReplicas
+ type: object
+ type: object
+ version: v1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-prometheusrules.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-prometheusrules.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b18506a8b443ee1fa845d01f2562ed560e1091c0
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-prometheusrules.yaml
@@ -0,0 +1,389 @@
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: "prometheusrules.monitoring.coreos.com"
+ labels:
+ app: operator-init
+ chart: operator-init-0.1.0
+ heritage: Tiller
+ release: prometheus-operator
+spec:
+ group: "monitoring.coreos.com"
+ names:
+ kind: PrometheusRule
+ plural: prometheusrules
+ scope: Namespaced
+ validation:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ metadata:
+ description: ObjectMeta is metadata that all persisted resources must have,
+ which includes all objects users must create.
+ properties:
+ annotations:
+ description: 'Annotations is an unstructured key value map stored with
+ a resource that may be set by external tools to store and retrieve
+ arbitrary metadata. They are not queryable and should be preserved
+ when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
+ type: object
+ clusterName:
+ description: The name of the cluster which the object belongs to. This
+ is used to distinguish resources with same name and namespace in different
+ clusters. This field is not set anywhere right now and apiserver is
+ going to ignore it if set in create or update request.
+ type: string
+ creationTimestamp:
+ description: Time is a wrapper around time.Time which supports correct
+ marshaling to YAML and JSON. Wrappers are provided for many of the
+ factory methods that the time package offers.
+ format: date-time
+ type: string
+ deletionGracePeriodSeconds:
+ description: Number of seconds allowed for this object to gracefully
+ terminate before it will be removed from the system. Only set when
+ deletionTimestamp is also set. May only be shortened. Read-only.
+ format: int64
+ type: integer
+ deletionTimestamp:
+ description: Time is a wrapper around time.Time which supports correct
+ marshaling to YAML and JSON. Wrappers are provided for many of the
+ factory methods that the time package offers.
+ format: date-time
+ type: string
+ finalizers:
+ description: Must be empty before the object is deleted from the registry.
+ Each entry is an identifier for the responsible component that will
+ remove the entry from the list. If the deletionTimestamp of the object
+ is non-nil, entries in this list can only be removed.
+ items:
+ type: string
+ type: array
+ generateName:
+ description: |-
+ GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.
+ If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).
+ Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
+ type: string
+ generation:
+ description: A sequence number representing a specific generation of
+ the desired state. Populated by the system. Read-only.
+ format: int64
+ type: integer
+ initializers:
+ description: Initializers tracks the progress of initialization.
+ properties:
+ pending:
+ description: Pending is a list of initializers that must execute
+ in order before this object is visible. When the last pending
+ initializer is removed, and no failing result is set, the initializers
+ struct will be set to nil and the object is considered as initialized
+ and visible to all clients.
+ items:
+ description: Initializer is information about an initializer that
+ has not yet completed.
+ properties:
+ name:
+ description: name of the process that is responsible for initializing
+ this object.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ result:
+ description: Status is a return value for calls that don't return
+ other objects.
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this
+ representation of an object. Servers should convert recognized
+ schemas to the latest internal value, and may reject unrecognized
+ values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ code:
+ description: Suggested HTTP return code for this status, 0 if
+ not set.
+ format: int32
+ type: integer
+ details:
+ description: StatusDetails is a set of additional properties
+ that MAY be set by the server to provide additional information
+ about a response. The Reason field of a Status object defines
+ what attributes will be set. Clients must ignore fields that
+ do not match the defined type of each attribute, and should
+ assume that any attribute may be empty, invalid, or under
+ defined.
+ properties:
+ causes:
+ description: The Causes array includes more details associated
+ with the StatusReason failure. Not all StatusReasons may
+ provide detailed causes.
+ items:
+ description: StatusCause provides more information about
+ an api.Status failure, including cases when multiple
+ errors are encountered.
+ properties:
+ field:
+ description: |-
+ The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.
+ Examples:
+ "name" - the field "name" on the current resource
+ "items[0].name" - the field "name" on the first array entry in "items"
+ type: string
+ message:
+ description: A human-readable description of the cause
+ of the error. This field may be presented as-is
+ to a reader.
+ type: string
+ reason:
+ description: A machine-readable description of the
+ cause of the error. If this value is empty there
+ is no information available.
+ type: string
+ type: object
+ type: array
+ group:
+ description: The group attribute of the resource associated
+ with the status StatusReason.
+ type: string
+ kind:
+ description: 'The kind attribute of the resource associated
+ with the status StatusReason. On some operations may differ
+ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: The name attribute of the resource associated
+ with the status StatusReason (when there is a single name
+ which can be described).
+ type: string
+ retryAfterSeconds:
+ description: If specified, the time in seconds before the
+ operation should be retried. Some errors may indicate
+ the client must take an alternate action - for those errors
+ this field may indicate how long to wait before taking
+ the alternate action.
+ format: int32
+ type: integer
+ uid:
+ description: 'UID of the resource. (when there is a single
+ resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ type: object
+ kind:
+ description: 'Kind is a string value representing the REST resource
+ this object represents. Servers may infer this from the endpoint
+ the client submits requests to. Cannot be updated. In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ message:
+ description: A human-readable description of the status of this
+ operation.
+ type: string
+ metadata:
+ description: ListMeta describes metadata that synthetic resources
+ must have, including lists and various status objects. A resource
+ may have only one of {ObjectMeta, ListMeta}.
+ properties:
+ continue:
+ description: continue may be set if the user set a limit
+ on the number of items returned, and indicates that the
+ server has more data available. The value is opaque and
+ may be used to issue another request to the endpoint that
+ served this list to retrieve the next set of available
+ objects. Continuing a consistent list may not be possible
+ if the server configuration has changed or more than a
+ few minutes have passed. The resourceVersion field returned
+ when using this continue value will be identical to the
+ value in the first response, unless you have received
+ this token from an error message.
+ type: string
+ resourceVersion:
+ description: 'String that identifies the server''s internal
+ version of this object that can be used by clients to
+ determine when objects have changed. Value must be treated
+ as opaque by clients and passed unmodified back to the
+ server. Populated by the system. Read-only. More info:
+ https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
+ type: string
+ selfLink:
+ description: selfLink is a URL representing this object.
+ Populated by the system. Read-only.
+ type: string
+ type: object
+ reason:
+ description: A machine-readable description of why this operation
+ is in the "Failure" status. If this value is empty there is
+ no information available. A Reason clarifies an HTTP status
+ code but does not override it.
+ type: string
+ status:
+ description: 'Status of the operation. One of: "Success" or
+ "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
+ type: string
+ type: object
+ required:
+ - pending
+ type: object
+ labels:
+ description: 'Map of string keys and values that can be used to organize
+ and categorize (scope and select) objects. May match selectors of
+ replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
+ type: object
+ managedFields:
+ description: |-
+ ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object.
+ This field is alpha and can be changed or removed without notice.
+ items:
+ description: ManagedFieldsEntry is a workflow-id, a FieldSet and the
+ group version of the resource that the fieldset applies to.
+ properties:
+ apiVersion:
+ description: APIVersion defines the version of this resource that
+ this field set applies to. The format is "group/version" just
+ like the top-level APIVersion field. It is necessary to track
+ the version of a field set because it cannot be automatically
+ converted.
+ type: string
+ fields:
+ description: 'Fields stores a set of fields in a data structure
+ like a Trie. To understand how this is used, see: https://github.com/kubernetes-sigs/structured-merge-diff'
+ type: object
+ manager:
+ description: Manager is an identifier of the workflow managing
+ these fields.
+ type: string
+ operation:
+ description: Operation is the type of operation which lead to
+ this ManagedFieldsEntry being created. The only valid values
+ for this field are 'Apply' and 'Update'.
+ type: string
+ time:
+ description: Time is a wrapper around time.Time which supports
+ correct marshaling to YAML and JSON. Wrappers are provided
+ for many of the factory methods that the time package offers.
+ format: date-time
+ type: string
+ type: object
+ type: array
+ name:
+ description: 'Name must be unique within a namespace. Is required when
+ creating resources, although some resources may allow a client to
+ request the generation of an appropriate name automatically. Name
+ is primarily intended for creation idempotence and configuration definition.
+ Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ namespace:
+ description: |-
+ Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.
+ Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
+ type: string
+ ownerReferences:
+ description: List of objects depended by this object. If ALL objects
+ in the list have been deleted, this object will be garbage collected.
+ If this object is managed by a controller, then an entry in this list
+ will point to this controller, with the controller field set to true.
+ There cannot be more than one managing controller.
+ items:
+ description: OwnerReference contains enough information to let you
+ identify an owning object. An owning object must be in the same
+ namespace as the dependent, or be cluster-scoped, so there is no
+ namespace field.
+ properties:
+ apiVersion:
+ description: API version of the referent.
+ type: string
+ blockOwnerDeletion:
+ description: If true, AND if the owner has the "foregroundDeletion"
+ finalizer, then the owner cannot be deleted from the key-value
+ store until this reference is removed. Defaults to false. To
+ set this field, a user needs "delete" permission of the owner,
+ otherwise 422 (Unprocessable Entity) will be returned.
+ type: boolean
+ controller:
+ description: If true, this reference points to the managing controller.
+ type: boolean
+ kind:
+ description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ name:
+ description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
+ type: string
+ uid:
+ description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
+ type: string
+ required:
+ - apiVersion
+ - kind
+ - name
+ - uid
+ type: object
+ type: array
+ resourceVersion:
+ description: |-
+ An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.
+ Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
+ type: string
+ selfLink:
+ description: SelfLink is a URL representing this object. Populated by
+ the system. Read-only.
+ type: string
+ uid:
+ description: |-
+ UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.
+ Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+ type: string
+ type: object
+ spec:
+ description: PrometheusRuleSpec contains specification parameters for a
+ Rule.
+ properties:
+ groups:
+ description: Content of Prometheus rule file
+ items:
+ description: RuleGroup is a list of sequentially evaluated recording
+ and alerting rules.
+ properties:
+ interval:
+ type: string
+ name:
+ type: string
+ rules:
+ items:
+ description: Rule describes an alerting or recording rule.
+ properties:
+ alert:
+ type: string
+ annotations:
+ type: object
+ expr:
+ anyOf:
+ - type: string
+ - type: integer
+ for:
+ type: string
+ labels:
+ type: object
+ record:
+ type: string
+ required:
+ - expr
+ type: object
+ type: array
+ required:
+ - name
+ - rules
+ type: object
+ type: array
+ type: object
+ type: object
+ version: v1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..95bf2f708fa529440a4b1eec1a04986961005c2b
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/files/crd-servicemonitor.yaml
@@ -0,0 +1,307 @@
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: "servicemonitors.monitoring.coreos.com"
+ labels:
+ app: operator-init
+ chart: operator-init-0.1.0
+ heritage: Tiller
+ release: prometheus-operator
+spec:
+ group: "monitoring.coreos.com"
+ names:
+ kind: ServiceMonitor
+ plural: servicemonitors
+ scope: Namespaced
+ validation:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ description: 'APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
+ type: string
+ kind:
+ description: 'Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
+ type: string
+ spec:
+ description: ServiceMonitorSpec contains specification parameters for a
+ ServiceMonitor.
+ properties:
+ endpoints:
+ description: A list of endpoints allowed as part of this ServiceMonitor.
+ items:
+ description: Endpoint defines a scrapeable endpoint serving Prometheus
+ metrics.
+ properties:
+ basicAuth:
+ description: 'BasicAuth allow an endpoint to authenticate over
+ basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
+ properties:
+ password:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ username:
+ description: SecretKeySelector selects a key of a Secret.
+ properties:
+ key:
+ description: The key of the secret to select from. Must
+ be a valid secret key.
+ type: string
+ name:
+ description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
+ type: string
+ optional:
+ description: Specify whether the Secret or it's key must
+ be defined
+ type: boolean
+ required:
+ - key
+ type: object
+ type: object
+ bearerTokenFile:
+ description: File to read bearer token for scraping targets.
+ type: string
+ honorLabels:
+ description: HonorLabels chooses the metric's labels on collisions
+ with target labels.
+ type: boolean
+ interval:
+ description: Interval at which metrics should be scraped
+ type: string
+ metricRelabelings:
+ description: MetricRelabelConfigs to apply to samples before ingestion.
+ items:
+ description: 'RelabelConfig allows dynamic rewriting of the
+ label set, being applied to samples before ingestion. It defines
+ ``-section of Prometheus configuration.
+ More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
+ properties:
+ action:
+ description: Action to perform based on regex matching.
+ Default is 'replace'
+ type: string
+ modulus:
+ description: Modulus to take of the hash of the source label
+ values.
+ format: int64
+ type: integer
+ regex:
+ description: Regular expression against which the extracted
+ value is matched. defailt is '(.*)'
+ type: string
+ replacement:
+ description: Replacement value against which a regex replace
+ is performed if the regular expression matches. Regex
+ capture groups are available. Default is '$1'
+ type: string
+ separator:
+ description: Separator placed between concatenated source
+ label values. default is ';'.
+ type: string
+ sourceLabels:
+ description: The source labels select values from existing
+ labels. Their content is concatenated using the configured
+ separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
+ items:
+ type: string
+ type: array
+ targetLabel:
+ description: Label to which the resulting value is written
+ in a replace action. It is mandatory for replace actions.
+ Regex capture groups are available.
+ type: string
+ type: object
+ type: array
+ params:
+ description: Optional HTTP URL parameters
+ type: object
+ path:
+ description: HTTP path to scrape for metrics.
+ type: string
+ port:
+ description: Name of the service port this endpoint refers to.
+ Mutually exclusive with targetPort.
+ type: string
+ proxyUrl:
+ description: ProxyURL eg http://proxyserver:2195 Directs scrapes
+ to proxy through this endpoint.
+ type: string
+ relabelings:
+ description: 'RelabelConfigs to apply to samples before ingestion.
+ More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
+ items:
+ description: 'RelabelConfig allows dynamic rewriting of the
+ label set, being applied to samples before ingestion. It defines
+ ``-section of Prometheus configuration.
+ More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
+ properties:
+ action:
+ description: Action to perform based on regex matching.
+ Default is 'replace'
+ type: string
+ modulus:
+ description: Modulus to take of the hash of the source label
+ values.
+ format: int64
+ type: integer
+ regex:
+ description: Regular expression against which the extracted
+ value is matched. defailt is '(.*)'
+ type: string
+ replacement:
+ description: Replacement value against which a regex replace
+ is performed if the regular expression matches. Regex
+ capture groups are available. Default is '$1'
+ type: string
+ separator:
+ description: Separator placed between concatenated source
+ label values. default is ';'.
+ type: string
+ sourceLabels:
+ description: The source labels select values from existing
+ labels. Their content is concatenated using the configured
+ separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
+ items:
+ type: string
+ type: array
+ targetLabel:
+ description: Label to which the resulting value is written
+ in a replace action. It is mandatory for replace actions.
+ Regex capture groups are available.
+ type: string
+ type: object
+ type: array
+ scheme:
+ description: HTTP scheme to use for scraping.
+ type: string
+ scrapeTimeout:
+ description: Timeout after which the scrape is ended
+ type: string
+ targetPort:
+ anyOf:
+ - type: string
+ - type: integer
+ tlsConfig:
+ description: TLSConfig specifies TLS configuration parameters.
+ properties:
+ caFile:
+ description: The CA cert to use for the targets.
+ type: string
+ certFile:
+ description: The client cert file for the targets.
+ type: string
+ insecureSkipVerify:
+ description: Disable target certificate validation.
+ type: boolean
+ keyFile:
+ description: The client key file for the targets.
+ type: string
+ serverName:
+ description: Used to verify the hostname for the targets.
+ type: string
+ type: object
+ type: object
+ type: array
+ jobLabel:
+ description: The label to use to retrieve the job name from.
+ type: string
+ namespaceSelector:
+ description: NamespaceSelector is a selector for selecting either all
+ namespaces or a list of namespaces.
+ properties:
+ any:
+ description: Boolean describing whether all namespaces are selected
+ in contrast to a list restricting them.
+ type: boolean
+ matchNames:
+ description: List of namespace names.
+ items:
+ type: string
+ type: array
+ type: object
+ podTargetLabels:
+ description: PodTargetLabels transfers labels on the Kubernetes Pod
+ onto the target.
+ items:
+ type: string
+ type: array
+ sampleLimit:
+ description: SampleLimit defines per-scrape limit on number of scraped
+ samples that will be accepted.
+ format: int64
+ type: integer
+ selector:
+ description: A label selector is a label query over a set of resources.
+ The result of matchLabels and matchExpressions are ANDed. An empty
+ label selector matches all objects. A null label selector matches
+ no objects.
+ properties:
+ matchExpressions:
+ description: matchExpressions is a list of label selector requirements.
+ The requirements are ANDed.
+ items:
+ description: A label selector requirement is a selector that contains
+ values, a key, and an operator that relates the key and values.
+ properties:
+ key:
+ description: key is the label key that the selector applies
+ to.
+ type: string
+ operator:
+ description: operator represents a key's relationship to a
+ set of values. Valid operators are In, NotIn, Exists and
+ DoesNotExist.
+ type: string
+ values:
+ description: values is an array of string values. If the operator
+ is In or NotIn, the values array must be non-empty. If the
+ operator is Exists or DoesNotExist, the values array must
+ be empty. This array is replaced during a strategic merge
+ patch.
+ items:
+ type: string
+ type: array
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ matchLabels:
+ description: matchLabels is a map of {key,value} pairs. A single
+ {key,value} in the matchLabels map is equivalent to an element
+ of matchExpressions, whose key field is "key", the operator is
+ "In", and the values array contains only "value". The requirements
+ are ANDed.
+ type: object
+ type: object
+ targetLabels:
+ description: TargetLabels transfers labels on the Kubernetes Service
+ onto the target.
+ items:
+ type: string
+ type: array
+ required:
+ - endpoints
+ - selector
+ type: object
+ type: object
+ version: v1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/templates/configmap-crds.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/templates/configmap-crds.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..11600d51be62fd98ec2e2bf2f582450113a6a0fc
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/templates/configmap-crds.yaml
@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ namespace: {{ .Release.Namespace }}
+ name: {{ template "app.fullname" . }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+data:
+{{ (.Files.Glob "files/crd-*.yaml").AsConfig | indent 2 }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/templates/job-install-crds.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/templates/job-install-crds.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6875ee1fa9d02375e791c59cbab3f572b98e16b0
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/templates/job-install-crds.yaml
@@ -0,0 +1,35 @@
+apiVersion: batch/v1
+kind: Job
+metadata:
+ name: {{ template "app.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ annotations:
+ "helm.sh/hook": post-install, post-upgrade
+ "helm.sh/hook-delete-policy": hook-succeeded
+spec:
+ ttlSecondsAfterFinished: 100
+ backoffLimit: 3
+ template:
+ spec:
+ nodeSelector:
+{{- include "linux-node-selector" . | nindent 8 }}
+ tolerations:
+{{- include "linux-node-tolerations" . | nindent 8}}
+ serviceAccountName: {{ template "app.fullname" . }}
+ securityContext:
+ runAsUser: 65534
+ runAsNonRoot: true
+ fsGroup: 65534
+ containers:
+ - name: operator-init-crds
+ image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ volumeMounts:
+ - name: data-crds
+ mountPath: /etc/operator-init
+ readOnly: true
+ command: ["kubectl", "apply", "-f", "/etc/operator-init/."]
+ volumes:
+ - name: data-crds
+ configMap:
+ name: {{ template "app.fullname" . }}
+ restartPolicy: Never
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/templates/rbac.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/templates/rbac.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bada87b30db2155e2f8473c5723235dd5a13c0bc
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/templates/rbac.yaml
@@ -0,0 +1,45 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: {{ template "app.fullname" . }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+rules:
+- apiGroups: [""]
+ resources: ["configmaps"]
+ verbs: ["get", "list", "create", "watch"]
+- apiGroups: ["apiextensions.k8s.io"]
+ resources: ["customresourcedefinitions"]
+ verbs: ["create", "get", "list", "watch", "patch"]
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ template "app.fullname" . }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: operator-init-{{ .Release.Name }}
+subjects:
+ - kind: ServiceAccount
+ name: {{ template "app.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ template "app.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator-init/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator-init/values.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..71654a79c632cca5ecc56d9c57c0b22bcdefab15
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator-init/values.yaml
@@ -0,0 +1,12 @@
+enabled: true
+apiGroup: "monitoring.coreos.com"
+image:
+ repository: rancher/istio-kubectl
+ tag: 1.1.5
+resources:
+ limits:
+ cpu: 20m
+ memory: 50Mi
+ requests:
+ cpu: 20m
+ memory: 20Mi
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator/Chart.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..072958c391fcc7015d04cdb05dcb6e42a09d4b89
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+description: Creates Prometheus Operator for Kubernetes.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: operator
+version: 0.0.2
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator/templates/deployment.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator/templates/deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e0365723f67c1d876f1491398699db554d2c5038
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator/templates/deployment.yaml
@@ -0,0 +1,76 @@
+{{- $kubeletSvcName := "expose-kubelets-metrics" -}}
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ $kubeletSvcName }}
+ labels:
+ k8s-app: kubelet
+ {{ .Values.apiGroup }}: "true"
+spec:
+ type: ClusterIP
+ clusterIP: None
+ ports:
+ - name: https-metrics
+ port: 10250
+ targetPort: 10250
+
+---
+apiVersion: {{ template "deployment_api_version" . }}
+kind: Deployment
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ template:
+ metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ spec:
+ containers:
+ - name: prometheus-operator
+ image: {{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ args:
+ - --kubelet-service={{ .Release.Namespace }}/{{ $kubeletSvcName }}
+ - --log-format={{ .Values.logFormat }}
+ - --log-level={{ .Values.logLevel }}
+ - --prometheus-config-reloader={{ template "system_default_registry" . }}{{ .Values.image.prometheusConfigReloader.repository }}:{{ .Values.image.prometheusConfigReloader.tag }}
+ - --config-reloader-image={{ template "system_default_registry" . }}{{ .Values.image.configmapReload.repository }}:{{ .Values.image.configmapReload.tag }}
+ - --labels={{ .Values.apiGroup }}=true
+ - --crd-apigroup={{ template "operator_api_group" . }}
+ - --manage-crds={{ .Values.manageCRDs }}
+ - --with-validation={{ .Values.withValidation }}
+ ports:
+ - containerPort: 8080
+ name: http
+ resources:
+{{ toYaml .Values.resources | indent 12 }}
+ nodeSelector:
+{{- include "linux-node-selector" . | nindent 8 }}
+ {{- range .Values.nodeSelectors }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ {{- if .Values.enabledRBAC }}
+ serviceAccountName: {{ default (include "app.fullname" .) .Values.serviceAccountName }}
+ {{- end }}
+ tolerations:
+{{- include "linux-node-tolerations" . | nindent 8 }}
+ {{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 8 }}
+ {{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator/templates/metrics-service.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator/templates/metrics-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d018b9644d47577e7b5cbd3dff729a1db81e2ef3
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator/templates/metrics-service.yaml
@@ -0,0 +1,21 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: expose-operator-metrics
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: metrics
+ port: 47323
+ targetPort: http
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator/templates/rbac.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator/templates/rbac.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..561154e248778c741e9351568069012157c6e87b
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator/templates/rbac.yaml
@@ -0,0 +1,94 @@
+{{- if and .Values.enabledRBAC (not .Values.serviceAccountName) }}
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRole
+metadata:
+ name: {{ template "app.fullname" . }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+rules:
+- apiGroups:
+ - {{ template "operator_api_group" . }}
+ resources:
+ - alertmanager
+ - alertmanagers
+ - prometheus
+ - prometheuses
+ - service-monitor
+ - servicemonitors
+ - prometheusrules
+ - prometheuses/finalizers
+ - alertmanagers/finalizers
+ - podmonitors
+ verbs:
+ - "*"
+- apiGroups:
+ - apps
+ resources:
+ - statefulsets
+ verbs:
+ - "*"
+- apiGroups: [""]
+ resources:
+ - configmaps
+ - secrets
+ verbs:
+ - "*"
+- apiGroups: [""]
+ resources:
+ - pods
+ verbs:
+ - list
+ - delete
+- apiGroups: [""]
+ resources:
+ - services
+ - services/finalizers
+ - endpoints
+ verbs:
+ - get
+ - create
+ - update
+ - delete
+- apiGroups: [""]
+ resources:
+ - nodes
+ - namespaces
+ verbs:
+ - list
+ - watch
+
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}
+imagePullSecrets:
+{{ toYaml .Values.imagePullSecrets | indent 2 }}
+
+---
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRoleBinding
+metadata:
+ name: {{ template "app.fullname" . }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ template "app.fullname" . }}
+subjects:
+ - kind: ServiceAccount
+ name: {{ template "app.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fcc8a49eca5b978086fc1b00e190a7787e27da94
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/operator/templates/servicemonitor.yaml
@@ -0,0 +1,36 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace | quote }}
+ endpoints:
+ - port: metrics
+ honorLabels: true
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ action: replace
+ targetLabel: host_ip
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ action: replace
+ targetLabel: node
+ regex: (.+)
+ replacement: $1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/operator/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/operator/values.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/Chart.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/Chart.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..bcac1efa071b7099cafef54d2f9e959ab48be92e
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/Chart.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+description: Creates Prometheus CRD instance for Kubernetes which maintaining by Rancher 2.
+engine: gotpl
+maintainers:
+- name: thxCode
+ email: frank@rancher.com
+name: prometheus
+version: 0.0.1
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/c-scrape_istio.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/c-scrape_istio.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cc1eb692c1cc1c09b9d70779e8ea517a7b43dcb4
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/c-scrape_istio.yaml
@@ -0,0 +1,94 @@
+{{- if .Values.istioMonitoring.enabled -}}
+- job_name: 'istio/envoy-stats'
+ scrape_interval: 15s
+ metrics_path: /stats/prometheus
+ kubernetes_sd_configs:
+ - role: pod
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_pod_container_port_name]
+ action: keep
+ regex: '.*-envoy-prom'
+ - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
+ action: replace
+ regex: ([^:]+)(?::\d+)?;(\d+)
+ replacement: $1:15090
+ target_label: __address__
+ - action: labelmap
+ regex: __meta_kubernetes_pod_label_(.+)
+ - source_labels: [__meta_kubernetes_namespace]
+ action: replace
+ target_label: namespace
+ - source_labels: [__meta_kubernetes_pod_name]
+ action: replace
+ target_label: pod_name
+- job_name: 'istio/istio-mesh'
+ scrape_interval: 15s
+ kubernetes_sd_configs:
+ - role: endpoints
+ namespaces:
+ names:
+ - {{ .Values.istioMonitoring.namespace }}
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
+ action: keep
+ regex: istio-telemetry;prometheus
+ metric_relabel_configs:
+ - source_labels: [source_workload_namespace]
+ action: replace
+ target_label: namespace
+- job_name: 'istio/istio-policy'
+ scrape_interval: 15s
+ kubernetes_sd_configs:
+ - role: endpoints
+ namespaces:
+ names:
+ - {{ .Values.istioMonitoring.namespace }}
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
+ action: keep
+ regex: istio-policy;http-monitoring
+- job_name: 'istio/istio-telemetry'
+ scrape_interval: 15s
+ kubernetes_sd_configs:
+ - role: endpoints
+ namespaces:
+ names:
+ - {{ .Values.istioMonitoring.namespace }}
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
+ action: keep
+ regex: istio-telemetry;http-monitoring
+- job_name: 'istio/pilot'
+ scrape_interval: 15s
+ kubernetes_sd_configs:
+ - role: endpoints
+ namespaces:
+ names:
+ - {{ .Values.istioMonitoring.namespace }}
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
+ action: keep
+ regex: istio-pilot;http-monitoring
+- job_name: 'istio/galley'
+ scrape_interval: 15s
+ kubernetes_sd_configs:
+ - role: endpoints
+ namespaces:
+ names:
+ - {{ .Values.istioMonitoring.namespace }}
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
+ action: keep
+ regex: istio-galley;http-monitoring
+- job_name: 'istio/citadel'
+ scrape_interval: 15s
+ kubernetes_sd_configs:
+ - role: endpoints
+ namespaces:
+ names:
+ - {{ .Values.istioMonitoring.namespace }}
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
+ action: keep
+ regex: istio-citadel;http-monitoring
+{{- end -}}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/c-scrape_prometheus_io.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/c-scrape_prometheus_io.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9b86131b65c336e4bf64e7d1fbf8f8f96093a993
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/c-scrape_prometheus_io.yaml
@@ -0,0 +1,60 @@
+- job_name: 'prometheus-io-scrape'
+ kubernetes_sd_configs:
+ - role: pod
+ namespaces:
+ names:
+ - ingress-nginx
+ - ingress-controller
+ - kube-system
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
+ action: keep
+ regex: true
+ - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
+ action: replace
+ target_label: __scheme__
+ regex: (https?)
+ - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
+ action: replace
+ target_label: __metrics_path__
+ regex: (.+)
+ - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
+ action: replace
+ target_label: __address__
+ regex: ([^:]+)(?::\d+)?;(\d+)
+ replacement: $1:$2
+ - source_labels: [__meta_kubernetes_pod_node_name]
+ action: replace
+ target_label: node
+ regex: (.+)
+ replacement: $1
+ - source_labels: [__meta_kubernetes_namespace]
+ action: replace
+ target_label: namespace
+ regex: (.+)
+ replacement: $1
+ - source_labels: [__meta_kubernetes_pod_name]
+ action: replace
+ target_label: pod
+ regex: (.+)
+ replacement: $1
+ - source_labels: [__meta_kubernetes_pod_ip]
+ action: replace
+ target_label: pod_ip
+ regex: (.+)
+ replacement: $1
+ - source_labels: [__meta_kubernetes_pod_host_ip]
+ action: replace
+ target_label: host_ip
+ regex: (.+)
+ replacement: $1
+ - source_labels: [__meta_kubernetes_pod_controller_kind]
+ action: replace
+ target_label: created_by_kind
+ regex: (.+)
+ replacement: $1
+ - source_labels: [__meta_kubernetes_pod_controller_name]
+ action: replace
+ target_label: created_by_kind
+ regex: (.+)
+ replacement: $1
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/w-altermanager_project.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/w-altermanager_project.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9cba500b0272d7052d764ab8974e7e275f80a9b4
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/w-altermanager_project.yaml
@@ -0,0 +1,11 @@
+{{- if eq .Values.level "project" }}
+- static_configs:
+ - targets:
+ - {{ .Values.project.alertManagerTarget }}
+ labels:
+ level: {{ .Values.level }}
+ project_id: {{ .Values.global.projectName }}
+ cluster_id: {{ .Values.global.clusterName }}
+ cluster_name: {{ .Values.project.clusterDisplayName }}
+ project_name: {{ .Values.project.projectDisplayName }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/w-scrape_federate.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/w-scrape_federate.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..da1886b1e147d6b7a94d842c3263344578a36a03
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/additionals/w-scrape_federate.yaml
@@ -0,0 +1,12 @@
+{{- if and (eq .Values.level "project") (eq .Values.sync.mode "federate") }}
+- job_name: 'federate'
+ honor_labels: true
+ metrics_path: {{ .Values.sync.path }}
+ params:
+ 'match[]':
+ - '{__name__=~".+"}'
+ bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+ static_configs:
+ - targets:
+ - {{ trimPrefix "https://" (trimPrefix "http://" .Values.sync.target) }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/_helpers.tpl b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/_helpers.tpl
new file mode 100644
index 0000000000000000000000000000000000000000..4fd043b81fee810974ee7b63a73a12be5f46adb4
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/_helpers.tpl
@@ -0,0 +1,107 @@
+{{/* vim: set filetype=mustache: */}}
+
+{{- define "additional-scrape-configs.yaml" -}}
+{{- $root := . -}}
+{{- $yamls := dict -}}
+{{- if eq .Values.level "cluster" -}}
+ {{- range $path, $bytes := .Files.Glob "additionals/c-scrape_*.yaml" -}}
+ {{- $tpl := tpl ($bytes | toString) $root }}
+ {{- if $tpl }}
+ {{- $_ := set $yamls $tpl "" -}}
+ {{- end }}
+ {{- end -}}
+{{- end -}}
+{{- range $path, $bytes := .Files.Glob "additionals/w-scrape_*.yaml" -}}
+ {{- $tpl := tpl ($bytes | toString) $root }}
+ {{- if $tpl }}
+ {{- $_ := set $yamls $tpl "" -}}
+ {{- end }}
+{{- end -}}
+{{- if .Values.additionalScrapeConfigs -}}
+ {{- $_ := set $yamls (.Values.additionalScrapeConfigs | toYaml) "" -}}
+{{- end -}}
+{{- if $yamls -}}
+ {{- keys $yamls | join "\n" | quote -}}
+{{- end -}}
+{{- end -}}
+
+
+{{- define "additional-alertmanager-configs.yaml" -}}
+{{- $root := . -}}
+{{- $yamls := dict -}}
+{{- if eq .Values.level "cluster" -}}
+ {{- range $path, $bytes := .Files.Glob "additionals/c-altermanager_*.yaml" -}}
+ {{- $tpl := tpl ($bytes | toString) $root }}
+ {{- if $tpl }}
+ {{- $_ := set $yamls $tpl "" -}}
+ {{- end }}
+ {{- end -}}
+{{- end -}}
+{{- range $path, $bytes := .Files.Glob "additionals/w-altermanager_*.yaml" -}}
+ {{- $tpl := tpl ($bytes | toString) $root }}
+ {{- if $tpl }}
+ {{- $_ := set $yamls $tpl "" -}}
+ {{- end }}
+{{- end -}}
+{{- if .Values.additionalAlertManagerConfigs -}}
+ {{- $_ := set $yamls (.Values.additionalAlertManagerConfigs | toYaml) "" -}}
+{{- end -}}
+{{- if $yamls -}}
+ {{- keys $yamls | join "\n" | quote -}}
+{{- end -}}
+{{- end -}}
+
+
+{{- define "app.auth.fullname" -}}
+{{- $name := include "app.name" . -}}
+{{- printf "%s-auth-%s" $name .Release.Name -}}
+{{- end -}}
+
+{{- define "namespace.selector" -}}
+{{- if and .selector .selector.matchLabels -}}
+matchLabels:
+{{ toYaml .selector.matchLabels | indent 2 }}
+{{- end }}
+matchExpressions:
+{{- if .projectName }}
+- key: "field.cattle.io/projectId"
+ operator: "In"
+ values: [ "{{ .projectName }}" ]
+{{- end }}
+{{- if and .selector .selector.matchExpressions }}
+{{ toYaml .selector.matchExpressions }}
+{{- end -}}
+{{- end -}}
+
+{{- define "serviceMonitor.namespace.selector" -}}
+{{- $rootContext := dict -}}
+{{- $_ := set $rootContext "projectName" .Values.global.projectName -}}
+{{- $_ := set $rootContext "selector" .Values.serviceMonitorNamespaceSelector -}}
+serviceMonitorNamespaceSelector:
+{{ include "namespace.selector" $rootContext | indent 2 }}
+{{- end -}}
+
+{{- define "rule.namespace.selector" -}}
+{{- $rootContext := dict -}}
+{{- $_ := set $rootContext "projectName" .Values.global.projectName -}}
+{{- $_ := set $rootContext "selector" .Values.ruleNamespaceSelector -}}
+ruleNamespaceSelector:
+{{ include "namespace.selector" $rootContext | indent 2 }}
+{{- end -}}
+
+{{- define "rule.selector" -}}
+ruleSelector:
+{{- if and .Values.ruleSelector .Values.ruleSelector.matchLabels }}
+ matchLabels:
+{{ toYaml .Values.ruleSelector.matchLabels | indent 4}}
+{{- end }}
+ matchExpressions:
+{{- if eq .Values.level "project" }}
+ - key: "source"
+ operator: "In"
+ values: [ "rancher-alert" ]
+{{- end }}
+{{- if and .Values.ruleSelector .Values.ruleSelector.matchExpressions }}
+{{ toYaml .Values.ruleSelector.matchExpressions | indent 2}}
+{{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/metrics-service.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/metrics-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b7e84700f7ef204b15563dc0282378049fc8f58a
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/metrics-service.yaml
@@ -0,0 +1,21 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: expose-prometheus-metrics
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+spec:
+ type: ClusterIP
+ clusterIP: None
+ selector:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: metrics
+ port: 9090
+ targetPort: web
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/nginx-configmap.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/nginx-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..842cee5ff31c945d11a106ee565d9ebebafdcac6
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/nginx-configmap.yaml
@@ -0,0 +1,83 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ template "app.nginx.fullname" . }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+data:
+ run-sh.tmpl: |-
+ #!/bin/sh
+ set -e
+
+ srcpath="/nginx/nginx-conf.tmpl"
+ dstpath="/var/cache/nginx/nginx.conf"
+
+ if ! [ -f $srcpath ]; then
+ exit 1
+ fi
+
+ mkdir -p /var/cache/nginx/cache
+
+ token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
+ sed "s/REPLACE_PARAM_AUTHORIZATION/Bearer ${token}/g" $srcpath | sed "s/REPLACE_PARAM_IP/${POD_IP}/g" > $dstpath
+
+ exec nginx -g "daemon off;" -c /var/cache/nginx/nginx.conf
+
+ nginx-conf.tmpl: |-
+ worker_processes auto;
+ error_log /dev/stdout warn;
+ pid /var/cache/nginx/nginx.pid;
+
+ events {
+ worker_connections 1024;
+ }
+
+ http {
+ include /etc/nginx/mime.types;
+ log_format main '[$time_local - $status] $remote_addr - $remote_user $request ($http_referer)';
+
+ proxy_connect_timeout 10;
+ proxy_read_timeout 180;
+ proxy_send_timeout 5;
+ proxy_buffering off;
+ proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=my_zone:100m inactive=1d max_size=10g;
+
+ server {
+ listen 8080;
+ access_log off;
+
+ gzip on;
+ gzip_min_length 1k;
+ gzip_comp_level 2;
+ gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript image/jpeg image/gif image/png;
+ gzip_vary on;
+ gzip_disable "MSIE [1-6]\.";
+
+ proxy_set_header Host $host;
+ proxy_set_header Authorization "REPLACE_PARAM_AUTHORIZATION";
+ proxy_pass_header Authorization;
+
+ location / {
+ proxy_cache my_zone;
+ proxy_cache_valid 200 302 1d;
+ proxy_cache_valid 301 30d;
+ proxy_cache_valid any 5m;
+ proxy_cache_bypass $http_cache_control;
+ add_header X-Proxy-Cache $upstream_cache_status;
+ add_header Cache-Control "public";
+
+ proxy_pass http://REPLACE_PARAM_IP:9090/;
+
+ sub_filter_types text/html;
+ sub_filter_once off;
+ sub_filter 'var PATH_PREFIX = "";' 'var PATH_PREFIX = ".";';
+
+ if ($request_filename ~ .*\.(?:js|css|jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$) {
+ expires 90d;
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/prometheus.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/prometheus.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..1684c87da531f68ee1db8b7e7a6cddd47d941392
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/prometheus.yaml
@@ -0,0 +1,202 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: Prometheus
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ .Release.Name }}
+spec:
+{{- if .Values.securityContext }}
+ securityContext:
+{{ toYaml .Values.securityContext | indent 4 }}
+{{- end }}
+ containers:
+ - name: prometheus-proxy
+ command:
+ - /bin/sh
+ - -c
+ - cp /nginx/run-sh.tmpl /var/cache/nginx/nginx-start.sh; chmod +x /var/cache/nginx/nginx-start.sh; /var/cache/nginx/nginx-start.sh
+ env:
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ image: {{ template "system_default_registry" . }}{{ .Values.image.proxy.repository }}:{{ .Values.image.proxy.tag }}
+ ports:
+ - containerPort: 8080
+ name: http
+ protocol: TCP
+ {{- if and .Values.resources .Values.resources.proxy }}
+ resources:
+{{ toYaml .Values.resources.proxy | indent 6 }}
+ {{- end }}
+ securityContext:
+ runAsUser: 101
+ runAsGroup: 101
+ volumeMounts:
+ - mountPath: /nginx
+ name: configmap-{{ template "app.nginx.fullname" . }}
+ - mountPath: /var/cache/nginx
+ name: nginx-home
+{{- if eq .Values.level "cluster" }}
+ - name: prometheus-agent
+ command:
+ - prometheus-auth
+ {{- if and .Values.auth .Values.auth.args }}
+ args:
+{{ toYaml .Values.auth.args | indent 6 }}
+ {{- end }}
+ {{- if and .Values.auth .Values.auth.env }}
+ env:
+{{ toYaml .Values.auth.env | indent 6 }}
+ {{- end }}
+ image: {{ template "system_default_registry" . }}{{ .Values.image.auth.repository }}:{{ .Values.image.auth.tag }}
+ ports:
+ - containerPort: 9090
+ name: web
+ protocol: TCP
+ livenessProbe:
+ failureThreshold: 6
+ httpGet:
+ path: /-/healthy
+ port: web
+ scheme: HTTP
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ readinessProbe:
+ failureThreshold: 10
+ httpGet:
+ path: /-/ready
+ port: web
+ scheme: HTTP
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ {{- if and .Values.resources .Values.resources.auth }}
+ resources:
+{{ toYaml .Values.resources.auth | indent 6 }}
+ {{- end }}
+ listenLocal: true
+{{- end }}
+ podMetadata:
+ creationTimestamp: {{ now | date "2006-01-02T15:04:05Z" | quote }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+{{- if .Values.alertingEndpoints }}
+ alerting:
+ alertmanagers:
+{{ toYaml .Values.alertingEndpoints | indent 6 }}
+{{- else if not (include "additional-alertmanager-configs.yaml" .) }}
+ alerting:
+ alertmanagers:
+ - namespace: {{ .Values.cluster.alertManagerNamespace }}
+ name: alertmanager-operated
+ port: http
+{{- end }}
+ baseImage: {{ template "system_default_registry" . }}{{ .Values.image.repository }}
+{{- if or (.Values.externalLabels) (eq .Values.level "project") }}
+ externalLabels:
+{{- if and (eq .Values.level "project") }}
+ prometheus_from: {{ .Values.global.clusterName }}
+{{- end }}
+{{- range $key, $value := .Values.externalLabels}}
+ {{ $key }}: {{ $value | quote }}
+{{- end }}
+{{- end }}
+ nodeSelector:
+{{- include "linux-node-selector" . | nindent 4 }}
+ {{- range .Values.nodeSelectors }}
+ {{- $pair := regexSplit "=" . 2 }}
+ {{- if eq 2 (len $pair) }}
+ {{ (index $pair 0) }}: {{ (index $pair 1) }}
+ {{- else }}
+ {{ (index $pair 0) }}: ""
+ {{- end }}
+ {{- end }}
+ paused: {{ .Values.paused }}
+ replicas: {{ .Values.replicaCount }}
+ logLevel: {{ .Values.logLevel }}
+ logFormat: {{ .Values.logFormat }}
+ scrapeInterval: {{ .Values.scrapeInterval }}
+ evaluationInterval: {{ .Values.evaluationInterval }}
+{{- if and .Values.resources .Values.resources.core }}
+ resources:
+{{ toYaml .Values.resources.core | indent 4 }}
+{{- end }}
+ retention: "{{ .Values.retention }}"
+ configMaps:
+ - {{ template "app.nginx.fullname" . }}
+{{- if .Values.secrets }}
+ secrets:
+{{ toYaml .Values.secrets | indent 2 }}
+{{- end }}
+{{- if .Values.enabledRBAC }}
+ serviceAccountName: {{ default (default (include "app.fullname" .) .Values.serviceAccountName) .Values.serviceAccountNameOverride }}
+{{- end }}
+{{ include "serviceMonitor.namespace.selector" . | indent 2 }}
+{{- if or (.Values.serviceMonitorSelector) (eq .Values.level "project") }}
+ serviceMonitorSelector:
+{{ toYaml .Values.serviceMonitorSelector | indent 4 }}
+{{- end }}
+{{- if and (eq .Values.level "project") (eq .Values.sync.mode "remote") }}
+ remoteRead:
+ - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+ url: {{ printf "%s%s" .Values.sync.target .Values.sync.path }}
+{{- end }}
+{{ include "rule.namespace.selector" . | indent 2}}
+{{ include "rule.selector" . | indent 2 }}
+{{- if or .Values.storageSpec .Values.persistence.enabled }}
+ storage:
+ volumeClaimTemplate:
+ {{- if .Values.persistence.name }}
+ metadata:
+ name: {{ .Values.persistence.name }}
+ {{- end }}
+ spec:
+{{- if .Values.storageSpec }}
+{{ toYaml .Values.storageSpec | indent 8 }}
+{{- else }}
+ {{ if and .Values.persistence.storageClass (ne "default" .Values.persistence.storageClass) }}
+ storageClassName: {{ .Values.persistence.storageClass }}
+ {{ end }}
+ accessModes:
+ - {{ default "ReadWriteOnce" .Values.persistence.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size | quote }}
+{{- end }}
+{{- end }}
+ volumes:
+ - name: nginx-home
+ emptyDir: {}
+ version: "{{ .Values.image.tag }}"
+ affinity:
+ podAntiAffinity:
+ preferredDuringSchedulingIgnoredDuringExecution:
+ - weight: 100
+ podAffinityTerm:
+ topologyKey: kubernetes.io/hostname
+ labelSelector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ prometheus: {{ .Release.Name }}
+ tolerations:
+{{- include "linux-node-tolerations" . | nindent 4}}
+{{- if .Values.tolerations }}
+{{ toYaml .Values.tolerations | indent 4 }}
+{{- end }}
+{{- if (include "additional-scrape-configs.yaml" .) }}
+ additionalScrapeConfigs:
+ name: {{ template "app.fullname" . }}-additional-scrape-configs
+ key: additional-scrape-configs.yaml
+{{- end }}
+{{- if (include "additional-alertmanager-configs.yaml" .) }}
+ additionalAlertManagerConfigs:
+ name: {{ template "app.fullname" . }}-additional-alertmanager-configs
+ key: additional-alertmanager-configs.yaml
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/rbac.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/rbac.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d8a879a0333b417ae6c65ebd1ac6d585f87f254e
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/rbac.yaml
@@ -0,0 +1,89 @@
+{{- if and .Values.enabledRBAC (not .Values.serviceAccountName) }}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ default (include "app.fullname" .) .Values.serviceAccountNameOverride }}
+imagePullSecrets:
+{{ toYaml .Values.image.pullSecrets | indent 2 }}
+
+{{- if eq .Values.level "cluster" }}
+---
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRole
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ include "app.fullname" . }}-{{ .Release.Namespace }}
+rules:
+- nonResourceURLs:
+ - "/metrics"
+ verbs:
+ - "get"
+- apiGroups:
+ - "extensions"
+ - "networking.k8s.io"
+ verbs:
+ - "list"
+ - "watch"
+ resources:
+ - ingresses
+- apiGroups:
+ - ""
+ verbs:
+ - "list"
+ - "watch"
+ resources:
+ - services
+ - endpoints
+ - pods
+ - nodes
+- apiGroups:
+ - ""
+ resources:
+ - nodes/metrics
+ verbs:
+ - "get"
+- apiGroups:
+ - ""
+ resources:
+ - namespaces
+ - secrets
+ verbs:
+ - "list"
+ - "watch"
+ - "get"
+- apiGroups:
+ - authorization.k8s.io
+ resources:
+ - subjectaccessreviews
+ verbs:
+ - "create"
+
+---
+apiVersion: {{ template "rbac_api_version" . }}
+kind: ClusterRoleBinding
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ include "app.fullname" . }}-{{ .Release.Namespace }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: {{ include "app.fullname" . }}-{{ .Release.Namespace }}
+subjects:
+ - kind: ServiceAccount
+ name: {{ default (include "app.fullname" .) .Values.serviceAccountNameOverride }}
+ namespace: {{ .Release.Namespace }}
+{{- end }}
+{{- end }}
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/secrets.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/secrets.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..149e25040f447869c77ad583f1ee875045a979d1
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/secrets.yaml
@@ -0,0 +1,28 @@
+{{- if (include "additional-scrape-configs.yaml" .) }}
+apiVersion: v1
+kind: Secret
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}-additional-scrape-configs
+stringData:
+ additional-scrape-configs.yaml: {{ template "additional-scrape-configs.yaml" . }}
+{{- end }}
+
+{{- if (include "additional-alertmanager-configs.yaml" .) }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ name: {{ template "app.fullname" . }}-additional-alertmanager-configs
+stringData:
+ additional-alertmanager-configs.yaml: {{ template "additional-alertmanager-configs.yaml" . }}
+{{- end }}
\ No newline at end of file
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/service.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/service.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..0f84a92cccddd3cbba9f3ae9eb33c1850b048d99
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/service.yaml
@@ -0,0 +1,21 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: access-prometheus
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ kubernetes.io/cluster-service: "true"
+spec:
+ type: ClusterIP
+ sessionAffinity: ClientIP
+ selector:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: http
+ port: 80
+ targetPort: http
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/servicemonitor.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/servicemonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..04018036837c358b12cb5b46f7b907828a48b3c7
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/templates/servicemonitor.yaml
@@ -0,0 +1,60 @@
+apiVersion: {{ template "operator_api_version" . }}
+kind: ServiceMonitor
+metadata:
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ source: rancher-monitoring
+ name: {{ template "app.fullname" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ release: {{ .Release.Name }}
+ {{ .Values.apiGroup }}: "true"
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace | quote }}
+ endpoints:
+ - port: metrics
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
+ {{- if eq .Values.level "cluster" }}
+ - port: metrics
+ path: /_/metrics
+ metricRelabelings:
+ - sourceLabels:
+ - job
+ targetLabel: job
+ action: replace
+ regex: (.+)
+ replacement: expose-prometheus-auth-metrics
+ relabelings:
+ - sourceLabels:
+ - __meta_kubernetes_pod_host_ip
+ targetLabel: host_ip
+ action: replace
+ regex: (.+)
+ replacement: $1
+ - sourceLabels:
+ - __meta_kubernetes_pod_node_name
+ targetLabel: node
+ action: replace
+ regex: (.+)
+ replacement: $1
+ {{- end }}
+
diff --git a/charts/rancher-monitoring/v0.0.6/charts/prometheus/values.yaml b/charts/rancher-monitoring/v0.0.6/charts/prometheus/values.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e1ed4c92b0b35180d3e2c66f3f53a3c61919d3d5
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/charts/prometheus/values.yaml
@@ -0,0 +1,77 @@
+enabledRBAC: true
+
+## External labels to add to any time series or alerts when communicating with external systems
+##
+externalLabels: {}
+
+##Custom Labels to be added to Prometheus Rules CRDs
+##
+additionalRulesLabels: {}
+
+## Tolerations for use with node taints
+## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+##
+tolerations: []
+ # - key: "key"
+ # operator: "Equal"
+ # value: "value"
+ # effect: "NoSchedule"
+
+## If true, the Operator won't process any Prometheus configuration changes
+##
+paused: false
+
+## Number of Prometheus replicas desired
+##
+replicaCount: 1
+
+## The remote_read spec configuration for Prometheus.
+## Ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotereadspec
+remoteRead: []
+# - url: http://remote1/read
+
+## The remote_write spec configuriation for Prometheus.
+## Ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotewritespec
+remoteWrite: []
+# - url: http://remote1/push
+
+## How long to retain metrics
+##
+retention: 24h
+
+logLevel: "info"
+logFormat: "logfmt"
+scrapeInterval: "60s"
+evaluationInterval: "60s"
+
+## Prometheus StorageSpec for persistent data
+## Ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/storage.md
+##
+storageSpec: {}
+# storageClassName: gluster
+# accessModes: ["ReadWriteOnce"]
+# resources:
+# requests:
+# storage: 50Gi
+# selector: {}
+
+## Prometheus AdditionalScrapeConfigs
+## Ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
+##
+additionalScrapeConfigs: []
+# - job_name: "prometheus"
+# static_configs:
+# - targets:
+# - "localhost:9090"
+
+## Prometheus AdditionalAlertManagerConfigs
+## Ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
+##
+additionalAlertManagerConfigs: []
+# - static_configs:
+# - targets:
+# - "localhost:9093"
+
+istioMonitoring:
+ enabled: true
+ namespace: istio-system
diff --git a/charts/rancher-monitoring/v0.0.6/questions.yml b/charts/rancher-monitoring/v0.0.6/questions.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cda0936ab02630cb8d0650e8d3581378a8b43507
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/questions.yml
@@ -0,0 +1 @@
+rancher_min_version: 2.3.0-rc1
diff --git a/charts/rancher-monitoring/v0.0.6/requirements.yaml b/charts/rancher-monitoring/v0.0.6/requirements.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b4ce9ebeb52a46b9096b2e70b0d4e9b99ad22ac9
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/requirements.yaml
@@ -0,0 +1,80 @@
+dependencies:
+ - name: alertmanager
+ version: 0.0.1
+ condition: alertmanager.enabled
+ repository: "file://./charts/alertmanager/"
+
+ - name: exporter-coredns
+ version: 0.0.1
+ condition: exporter-coredns.enabled
+ repository: "file://./charts/exporter-coredns/"
+
+ - name: exporter-kube-controller-manager
+ version: 0.0.1
+ condition: exporter-kube-controller-manager.enabled
+ repository: "file://./charts/exporter-kube-controller-manager/"
+
+ - name: exporter-kube-dns
+ version: 0.0.1
+ condition: exporter-kube-dns.enabled
+ repository: "file://./charts/exporter-kube-dns/"
+
+ - name: exporter-kube-etcd
+ version: 0.0.1
+ condition: exporter-kube-etcd.enabled
+ repository: "file://./charts/exporter-kube-etcd/"
+
+ - name: exporter-kube-scheduler
+ version: 0.0.1
+ condition: exporter-kube-scheduler.enabled
+ repository: "file://./charts/exporter-kube-scheduler/"
+
+ - name: exporter-kube-state
+ version: 0.0.1
+ condition: exporter-kube-state.enabled
+ repository: "file://./charts/exporter-kube-state/"
+
+ - name: exporter-kubelets
+ version: 0.0.1
+ condition: exporter-kubelets.enabled
+ repository: "file://./charts/exporter-kubelets/"
+
+ - name: exporter-kubernetes
+ version: 0.0.1
+ condition: exporter-kubernetes.enabled
+ repository: "file://./charts/exporter-kubernetes/"
+
+ - name: exporter-node
+ version: 0.0.1
+ condition: exporter-node.enabled
+ repository: "file://./charts/exporter-node/"
+
+ - name: exporter-node-windows
+ version: 0.0.1
+ condition: exporter-node-windows.enabled
+ repository: "file://./charts/exporter-node-windows/"
+
+ - name: grafana
+ version: 0.0.1
+ condition: grafana.enabled
+ repository: "file://./charts/grafana/"
+
+ - name: prometheus
+ version: 0.0.1
+ condition: prometheus.enabled
+ repository: "file://./charts/prometheus/"
+
+ - name: exporter-fluentd
+ version: 0.0.1
+ condition: exporter-fluentd.enabled
+ repository: "file://./charts/exporter-fluentd/"
+
+ - name: operator
+ version: 0.0.2
+ condition: operator.enabled,enabled
+ repository: "file://./charts/operator/"
+
+ - name: operator-init
+ version: 0.1.0
+ condition: operator-init.enabled
+ repository: "file://./charts/operator-init/"
diff --git a/charts/rancher-monitoring/v0.0.6/templates/_helpers.tpl b/charts/rancher-monitoring/v0.0.6/templates/_helpers.tpl
new file mode 100644
index 0000000000000000000000000000000000000000..bf05a61a479f67997edc7c5ef2ba7aa266dab352
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/templates/_helpers.tpl
@@ -0,0 +1,147 @@
+{{/* vim: set filetype=mustache: */}}
+
+{{- define "charts.exporter-kubelets.fullname" -}}
+{{- printf "exporter-kubelets-%s" .Release.Name -}}
+{{- end -}}
+
+
+{{- define "charts.prometheus.serviceaccount.fullname" -}}
+{{- printf "prometheus-%s" .Release.Name -}}
+{{- end -}}
+
+
+{{- define "app.name" -}}
+{{- default .Chart.Name .Values.nameOverride -}}
+{{- end -}}
+
+
+{{- define "app.version" -}}
+{{- $name := include "app.name" . -}}
+{{- $version := .Chart.Version | replace "+" "_" -}}
+{{- printf "%s-%s" $name $version -}}
+{{- end -}}
+
+
+{{- define "app.fullname" -}}
+{{- $name := include "app.name" . -}}
+{{- printf "%s-%s" $name .Release.Name -}}
+{{- end -}}
+
+
+{{- define "app.dnsname" -}}
+{{- include "app.fullname" . | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+
+{{- define "app.psp.fullname" -}}
+{{- $name := include "app.name" . -}}
+{{- printf "%s-%s-psp" $name .Release.Name -}}
+{{- end -}}
+
+
+{{- define "app.nginx.fullname" -}}
+{{- $name := include "app.name" . -}}
+{{- printf "%s-%s-nginx" $name .Release.Name -}}
+{{- end -}}
+
+
+{{- define "app.hooks.fullname" -}}
+{{- $name := include "app.name" . -}}
+{{- printf "%s-%s-hooks" $name .Release.Name -}}
+{{- end -}}
+
+
+{{- define "app.cleanup.fullname" -}}
+{{- $name := include "app.name" . -}}
+{{- printf "%s-%s-cleanup" $name .Release.Name -}}
+{{- end -}}
+
+
+{{- define "kube_version" -}}
+{{- printf "%s.%s" .Capabilities.KubeVersion.Major .Capabilities.KubeVersion.Minor -}}
+{{- end -}}
+
+
+{{- define "operator_api_version" -}}
+{{- default "monitoring.coreos.com/v1" (.Values.apiGroup | printf "%s/v1") -}}
+{{- end -}}
+
+
+{{- define "operator_api_group" -}}
+{{- $apiVersion := include "operator_api_version" . -}}
+{{- index (regexSplit "/" $apiVersion 2) 0 | printf "%s" -}}
+{{- end -}}
+
+
+{{- define "deployment_api_version" -}}
+{{- if .Capabilities.APIVersions.Has "apps/v1" -}}
+{{- "apps/v1" -}}
+{{- else if .Capabilities.APIVersions.Has "apps/v1beta2" -}}
+{{- "apps/v1beta1" -}}
+{{- else if .Capabilities.APIVersions.Has "apps/v1beta1" -}}
+{{- "apps/v1beta1" -}}
+{{- else -}}
+{{- "extensions/v1beta1" -}}
+{{- end -}}
+{{- end -}}
+
+
+{{- define "statefulset_api_version" -}}
+{{- if .Capabilities.APIVersions.Has "apps/v1" -}}
+{{- "apps/v1" -}}
+{{- else if .Capabilities.APIVersions.Has "apps/v1beta2" -}}
+{{- "apps/v1beta2" -}}
+{{- else -}}
+{{- "apps/v1beta1" -}}
+{{- end -}}
+{{- end -}}
+
+
+{{- define "daemonset_api_version" -}}
+{{- if .Capabilities.APIVersions.Has "apps/v1" -}}
+{{- "apps/v1" -}}
+{{- else if .Capabilities.APIVersions.Has "apps/v1beta2" -}}
+{{- "apps/v1beta2" -}}
+{{- else -}}
+{{- "extensions/v1beta1" -}}
+{{- end -}}
+{{- end -}}
+
+
+{{- define "rbac_api_version" -}}
+{{- if .Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1" -}}
+{{- "rbac.authorization.k8s.io/v1" -}}
+{{- else if .Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1beta1" -}}
+{{- "rbac.authorization.k8s.io/v1beta1" -}}
+{{- else -}}
+{{- "rbac.authorization.k8s.io/v1alpha1" -}}
+{{- end -}}
+{{- end -}}
+
+
+{{- define "system_default_registry" -}}
+{{- if .Values.global.systemDefaultRegistry -}}
+{{- printf "%s/" .Values.global.systemDefaultRegistry -}}
+{{- else -}}
+{{- "" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Windows cluster will add default taint for linux nodes,
+add below linux tolerations to workloads could be scheduled to those linux nodes
+*/}}
+{{- define "linux-node-tolerations" -}}
+- key: "cattle.io/os"
+ value: "linux"
+ effect: "NoSchedule"
+ operator: "Equal"
+{{- end -}}
+
+{{- define "linux-node-selector" -}}
+{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
+beta.kubernetes.io/os: linux
+{{- else -}}
+kubernetes.io/os: linux
+{{- end -}}
+{{- end -}}
diff --git a/charts/rancher-monitoring/v0.0.6/templates/crds.yaml b/charts/rancher-monitoring/v0.0.6/templates/crds.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0429afd1a4e63591014a417c030b1e1eb3cf7c45
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/templates/crds.yaml
@@ -0,0 +1,98 @@
+{{- if and .Release.IsInstall .Values.global.installCRDs -}}
+{{- if not (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1") }}
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: {{ printf "alertmanagers.%s" (.Values.operator.apiGroup | default "monitoring.coreos.com") }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ annotations:
+ "helm.sh/hook": crd-install
+spec:
+ group: {{ .Values.operator.apiGroup | default "monitoring.coreos.com" }}
+ names:
+ kind: Alertmanager
+ plural: alertmanagers
+ scope: Namespaced
+ version: v1
+---
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: {{ printf "prometheuses.%s" (.Values.operator.apiGroup | default "monitoring.coreos.com") }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ annotations:
+ "helm.sh/hook": crd-install
+spec:
+ group: {{ .Values.operator.apiGroup | default "monitoring.coreos.com" }}
+ names:
+ kind: Prometheus
+ plural: prometheuses
+ scope: Namespaced
+ version: v1
+---
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: {{ printf "prometheusrules.%s" (.Values.operator.apiGroup | default "monitoring.coreos.com") }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ annotations:
+ "helm.sh/hook": crd-install
+spec:
+ group: {{ .Values.operator.apiGroup | default "monitoring.coreos.com" }}
+ names:
+ kind: PrometheusRule
+ plural: prometheusrules
+ scope: Namespaced
+ version: v1
+---
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: {{ printf "servicemonitors.%s" (.Values.operator.apiGroup | default "monitoring.coreos.com") }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ annotations:
+ "helm.sh/hook": crd-install
+spec:
+ group: {{ .Values.operator.apiGroup | default "monitoring.coreos.com" }}
+ names:
+ kind: ServiceMonitor
+ plural: servicemonitors
+ scope: Namespaced
+ version: v1
+---
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+ name: {{ printf "podmonitors.%s" (.Values.operator.apiGroup | default "monitoring.coreos.com") }}
+ labels:
+ app: {{ template "app.name" . }}
+ chart: {{ template "app.version" . }}
+ heritage: {{ .Release.Service }}
+ release: {{ .Release.Name }}
+ annotations:
+ "helm.sh/hook": crd-install
+spec:
+ group: {{ .Values.operator.apiGroup | default "monitoring.coreos.com" }}
+ names:
+ kind: PodMonitor
+ plural: podmonitors
+ scope: Namespaced
+ version: v1
+{{- end }}
+{{- end -}}
diff --git a/charts/rancher-monitoring/v0.0.6/values.yaml b/charts/rancher-monitoring/v0.0.6/values.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b3a4ad7f99b7202704f63f0e0136f6e2f7870fe5
--- /dev/null
+++ b/charts/rancher-monitoring/v0.0.6/values.yaml
@@ -0,0 +1,393 @@
+operator:
+ nameOverride: "prometheus-operator"
+ enabledRBAC: true
+ apiGroup: "monitoring.coreos.com"
+ image:
+ repository: rancher/coreos-prometheus-operator
+ tag: v0.32.0
+ prometheusConfigReloader:
+ repository: rancher/coreos-prometheus-config-reloader
+ tag: v0.32.0
+ configmapReload:
+ repository: rancher/coreos-configmap-reload
+ tag: v0.0.1
+ resources:
+ limits:
+ cpu: 200m
+ memory: 500Mi
+ requests:
+ cpu: 100m
+ memory: 50Mi
+ nodeSelectors: []
+ tolerations: []
+ logFormat: "logfmt"
+ logLevel: "info"
+ manageCRDs: false
+ withValidation: true
+ ## Already exist ServiceAccount
+ ##
+ serviceAccountName: ""
+
+exporter-coredns:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ endpoints: []
+ ports:
+ metrics:
+ scheme: http
+ name: metrics
+ port: 9153
+ protocol: TCP
+ serviceSelectorLabels:
+ - "k8s-app=kube-dns"
+ insecureSkipVerify: true
+
+exporter-kube-controller-manager:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ endpoints: []
+ ports:
+ metrics:
+ scheme: http
+ name: metrics
+ port: 10252
+ protocol: TCP
+ serviceSelectorLabels:
+ - "k8s-app=kube-controller-manager"
+ insecureSkipVerify: true
+
+exporter-kube-dns:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ endpoints: []
+ ports:
+ metrics:
+ dnsmasq:
+ scheme: http
+ name: dnsmasq-metrics
+ port: 10054
+ protocol: TCP
+ skydns:
+ scheme: http
+ name: skydns-metrics
+ port: 10055
+ protocol: TCP
+ serviceSelectorLabels:
+ - "k8s-app=kube-dns"
+ insecureSkipVerify: true
+
+exporter-kube-etcd:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ endpoints: []
+ ports:
+ metrics:
+ scheme: https
+ name: metrics
+ port: 4001
+ protocol: TCP
+ serviceSelectorLabels:
+ - "k8s-app=etcd-server"
+ insecureSkipVerify: true
+ caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+ certFile: ""
+ keyFile: ""
+
+exporter-kube-scheduler:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ endpoints: []
+ ports:
+ metrics:
+ scheme: http
+ name: http-metrics
+ port: 10251
+ protocol: TCP
+ serviceSelectorLabels:
+ - "component=kube-scheduler"
+ insecureSkipVerify: true
+
+exporter-kubelets:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ serviceSelectorLabels:
+ - "k8s-app=kubelet"
+ insecureSkipVerify: true
+ ## Set false when using GKE
+ ##
+ https: true
+
+exporter-kubernetes:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ ports:
+ metrics:
+ scheme: https
+ name: https
+ serviceSelectorLabels:
+ - "component=apiserver"
+ - "provider=kubernetes"
+ insecureSkipVerify: true
+
+exporter-fluentd:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ ports:
+ metrics:
+ scheme: http
+ name: metric
+ serviceSelectorLabels:
+ - "app=fluentd"
+ insecureSkipVerify: true
+
+exporter-node:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ image:
+ repository: rancher/prom-node-exporter
+ tag: v0.17.0
+ nodeSelectors: []
+ resources:
+ limits:
+ cpu: 200m
+ memory: 50Mi
+ requests:
+ cpu: 100m
+ memory: 30Mi
+ ports:
+ metrics:
+ port: 9100
+ collectors: {}
+ enabledHostNetwork: true
+ enabledHostPID: true
+ ## Already exist ServiceAccount
+ ##
+ serviceAccountName: ""
+
+exporter-node-windows:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ endpoints: []
+ nodeSelectors: []
+ image:
+ os: windows
+ repository: rancher/wmi_exporter-package
+ tag: v0.0.3
+ resources: {}
+ ports:
+ metrics:
+ name: windows-metrics
+ scheme: https
+ port: 9796
+ protocol: TCP
+
+exporter-kube-state:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ image:
+ repository: rancher/coreos-kube-state-metrics
+ tag: v1.5.0
+ nodeSelectors: []
+ resources:
+ limits:
+ cpu: 100m
+ memory: 200Mi
+ requests:
+ cpu: 100m
+ memory: 130Mi
+ ## Already exist ServiceAccount
+ ##
+ serviceAccountName: ""
+ securityContext:
+ runAsUser: 65534
+ runAsNonRoot: true
+ fsGroup: 65534
+
+alertmanager:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ image:
+ repository: rancher/prom-alertmanager
+ tag: v0.17.0
+ nodeSelectors: []
+ resources:
+ core:
+ limits:
+ memory: 500Mi
+ cpu: 1000m
+ requests:
+ memory: 100Mi
+ cpu: 100m
+ config:
+ global:
+ resolve_timeout: 5m
+ route:
+ group_by: ['job']
+ group_wait: 30s
+ group_interval: 5m
+ repeat_interval: 12h
+ receiver: 'null'
+ routes:
+ - match:
+ alertname: DeadMansSwitch
+ receiver: 'null'
+ receivers:
+ - name: 'null'
+ persistence:
+ enabled: false
+ storageClass: ""
+ accessMode: "ReadWriteOnce"
+ size: 50Gi
+ ## Already exist ServiceAccount
+ ##
+ serviceAccountName: ""
+ securityContext:
+ runAsUser: 1000
+ runAsNonRoot: true
+ fsGroup: 2000
+
+grafana:
+ enabled: false
+ level: cluster
+ apiGroup: "monitoring.coreos.com"
+ image:
+ repository: rancher/grafana-grafana
+ tag: 6.3.6
+ tool:
+ repository: rancher/prometheus-auth
+ tag: v0.2.0
+ proxy:
+ repository: rancher/nginx
+ tag: 1.17.4-alpine
+ nodeSelectors: []
+ resources:
+ inits:
+ limits:
+ memory: 50Mi
+ cpu: 50m
+ requests:
+ memory: 50Mi
+ cpu: 50m
+ core:
+ limits:
+ memory: 200Mi
+ cpu: 200m
+ requests:
+ memory: 100Mi
+ cpu: 100m
+ proxy:
+ limits:
+ memory: 100Mi
+ cpu: 100m
+ requests:
+ memory: 50Mi
+ cpu: 50m
+ persistence:
+ name: ""
+ enabled: false
+ storageClass: ""
+ accessMode: "ReadWriteOnce"
+ size: 50Gi
+ ## Already exist ServiceAccount
+ ##
+ serviceAccountName: ""
+ prometheusDatasourceURL: "http://prometheus-operated:9090"
+
+prometheus:
+ enabled: false
+ level: cluster
+ auth:
+ args:
+ - --proxy-url=http://127.0.0.1:9090
+ - --listen-address=$(POD_IP):9090
+ - --filter-reader-labels=prometheus
+ - --filter-reader-labels=prometheus_replica
+ env:
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ apiGroup: "monitoring.coreos.com"
+ image:
+ repository: rancher/prom-prometheus
+ tag: v2.11.1
+ auth:
+ repository: rancher/prometheus-auth
+ tag: v0.2.0
+ proxy:
+ repository: rancher/nginx
+ tag: 1.17.4-alpine
+ nodeSelectors: []
+ resources:
+ core:
+ limits:
+ memory: 500Mi
+ cpu: 1000m
+ requests:
+ memory: 100Mi
+ cpu: 100m
+ proxy:
+ limits:
+ memory: 100Mi
+ cpu: 100m
+ requests:
+ memory: 50Mi
+ cpu: 50m
+ auth:
+ limits:
+ memory: 200Mi
+ cpu: 500m
+ requests:
+ memory: 100Mi
+ cpu: 100m
+ persistence:
+ name: ""
+ enabled: false
+ storageClass: ""
+ accessMode: "ReadWriteOnce"
+ size: 50Gi
+ alertingEndpoints: []
+ secrets: []
+ ## Override the default generated ServiceAccount name
+ ##
+ serviceAccountNameOverride: ""
+ ruleNamespaceSelector: {}
+ ruleSelector:
+ matchExpressions: []
+ serviceMonitorNamespaceSelector: {}
+ serviceMonitorSelector:
+ matchExpressions: []
+ securityContext:
+ runAsUser: 1000
+ runAsNonRoot: true
+ fsGroup: 2000
+ sync:
+ mode: "remote"
+ path: "/api/v1/read"
+ target: ""
+ project:
+ alertManagerTarget: ""
+ projectDisplayName: ""
+ clusterDisplayName: ""
+ cluster:
+ alertManagerNamespace: ""
+
+global:
+ systemDefaultRegistry: ""
+ clusterName: ""
+ projectName: ""
+ installCRDs: true
+
+operator-init:
+ enabled: false
+ apiGroup: "monitoring.coreos.com"
+ image:
+ repository: rancher/istio-kubectl
+ tag: 1.1.5
+ resources:
+ limits:
+ cpu: 20m
+ memory: 50Mi
+ requests:
+ cpu: 20m
+ memory: 20Mi