feat: version bump for cert-manager, metrics, istio, storage
This commit is contained in:
parent
608d638704
commit
8dde055cbf
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: kubezero-istio-gateway
|
name: kubezero-istio-gateway
|
||||||
description: KubeZero Umbrella Chart for Istio gateways
|
description: KubeZero Umbrella Chart for Istio gateways
|
||||||
type: application
|
type: application
|
||||||
version: 0.22.3
|
version: 0.23.2
|
||||||
home: https://kubezero.com
|
home: https://kubezero.com
|
||||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||||
keywords:
|
keywords:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# kubezero-istio-gateway
|
# kubezero-istio-gateway
|
||||||
|
|
||||||
![Version: 0.22.3-1](https://img.shields.io/badge/Version-0.22.3--1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
|
![Version: 0.23.2](https://img.shields.io/badge/Version-0.23.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
|
||||||
|
|
||||||
KubeZero Umbrella Chart for Istio gateways
|
KubeZero Umbrella Chart for Istio gateways
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ Kubernetes: `>= 1.26.0-0`
|
|||||||
| Repository | Name | Version |
|
| Repository | Name | Version |
|
||||||
|------------|------|---------|
|
|------------|------|---------|
|
||||||
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | >= 0.1.6 |
|
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | >= 0.1.6 |
|
||||||
| https://istio-release.storage.googleapis.com/charts | gateway | 1.22.3 |
|
| https://istio-release.storage.googleapis.com/charts | gateway | 1.23.2 |
|
||||||
|
|
||||||
## Values
|
## Values
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 1.22.3
|
appVersion: 1.23.2
|
||||||
description: Helm chart for deploying Istio gateways
|
description: Helm chart for deploying Istio gateways
|
||||||
icon: https://istio.io/latest/favicons/android-192x192.png
|
icon: https://istio.io/latest/favicons/android-192x192.png
|
||||||
keywords:
|
keywords:
|
||||||
@ -9,4 +9,4 @@ name: gateway
|
|||||||
sources:
|
sources:
|
||||||
- https://github.com/istio/istio
|
- https://github.com/istio/istio
|
||||||
type: application
|
type: application
|
||||||
version: 1.22.3
|
version: 1.23.2
|
||||||
|
@ -12,7 +12,6 @@ global:
|
|||||||
pilot:
|
pilot:
|
||||||
env:
|
env:
|
||||||
PILOT_ENABLE_AMBIENT: "true"
|
PILOT_ENABLE_AMBIENT: "true"
|
||||||
CA_TRUSTED_NODE_ACCOUNTS: "istio-system/ztunnel,kube-system/ztunnel"
|
|
||||||
cni:
|
cni:
|
||||||
ambient:
|
ambient:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@ -15,10 +15,12 @@ pilot:
|
|||||||
ENABLE_RESOLUTION_NONE_TARGET_PORT: "false"
|
ENABLE_RESOLUTION_NONE_TARGET_PORT: "false"
|
||||||
|
|
||||||
meshConfig:
|
meshConfig:
|
||||||
# 1.22 behavioral changes
|
|
||||||
defaultConfig:
|
defaultConfig:
|
||||||
proxyMetadata:
|
proxyMetadata:
|
||||||
|
# 1.22 behavioral changes
|
||||||
ISTIO_DELTA_XDS: "false"
|
ISTIO_DELTA_XDS: "false"
|
||||||
|
# 1.23 behavioral changes
|
||||||
|
ENABLE_DELIMITED_STATS_TAG_REGEX: "false"
|
||||||
tracing:
|
tracing:
|
||||||
zipkin:
|
zipkin:
|
||||||
address: zipkin.istio-system:9411
|
address: zipkin.istio-system:9411
|
||||||
|
@ -7,11 +7,17 @@ pilot:
|
|||||||
# 1.22 behavioral changes
|
# 1.22 behavioral changes
|
||||||
ENABLE_ENHANCED_RESOURCE_SCOPING: "false"
|
ENABLE_ENHANCED_RESOURCE_SCOPING: "false"
|
||||||
ENABLE_RESOLUTION_NONE_TARGET_PORT: "false"
|
ENABLE_RESOLUTION_NONE_TARGET_PORT: "false"
|
||||||
|
|
||||||
|
# 1.23 behavioral changes
|
||||||
|
ENABLE_DELIMITED_STATS_TAG_REGEX: "false"
|
||||||
|
|
||||||
meshConfig:
|
meshConfig:
|
||||||
# 1.22 behavioral changes
|
# 1.22 behavioral changes
|
||||||
proxyMetadata:
|
|
||||||
ISTIO_DELTA_XDS: "false"
|
|
||||||
defaultConfig:
|
defaultConfig:
|
||||||
|
proxyMetadata:
|
||||||
|
ISTIO_DELTA_XDS: "false"
|
||||||
|
# 1.23 behavioral changes
|
||||||
|
ENABLE_DELIMITED_STATS_TAG_REGEX: "false"
|
||||||
tracing:
|
tracing:
|
||||||
zipkin:
|
zipkin:
|
||||||
address: zipkin.istio-system:9411
|
address: zipkin.istio-system:9411
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
# WARNING: DO NOT EDIT, THIS FILE IS A COPY.
|
||||||
|
# The original version of this file is located at /manifests/helm-profiles directory.
|
||||||
|
# If you want to make a change in this file, edit the original one and run "make gen".
|
||||||
|
|
||||||
|
pilot:
|
||||||
|
env:
|
||||||
|
# 1.23 behavioral changes
|
||||||
|
ENABLE_DELIMITED_STATS_TAG_REGEX: "false"
|
||||||
|
|
||||||
|
meshConfig:
|
||||||
|
defaultConfig:
|
||||||
|
proxyMetadata:
|
||||||
|
# 1.22 behavioral changes
|
||||||
|
ENABLE_DEFERRED_CLUSTER_CREATION: "false"
|
||||||
|
# 1.23 behavioral changes
|
||||||
|
ENABLE_DELIMITED_STATS_TAG_REGEX: "false"
|
@ -27,8 +27,7 @@ pilot:
|
|||||||
# Allow sidecars/ingress to send/receive HBONE. This is required for interop.
|
# Allow sidecars/ingress to send/receive HBONE. This is required for interop.
|
||||||
PILOT_ENABLE_SENDING_HBONE: "true"
|
PILOT_ENABLE_SENDING_HBONE: "true"
|
||||||
PILOT_ENABLE_SIDECAR_LISTENING_HBONE: "true"
|
PILOT_ENABLE_SIDECAR_LISTENING_HBONE: "true"
|
||||||
CA_TRUSTED_NODE_ACCOUNTS: "istio-system/ztunnel,kube-system/ztunnel"
|
|
||||||
platform: openshift
|
platform: openshift
|
||||||
variant: distroless
|
variant: distroless
|
||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
type: spc_t
|
type: spc_t
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
Create chart name and version as used by the chart label.
|
Create chart name and version as used by the helm.sh/chart label.
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "gateway.chart" -}}
|
{{- define "gateway.chart" -}}
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
@ -16,39 +16,29 @@ Create chart name and version as used by the chart label.
|
|||||||
{{- define "gateway.labels" -}}
|
{{- define "gateway.labels" -}}
|
||||||
helm.sh/chart: {{ include "gateway.chart" . }}
|
helm.sh/chart: {{ include "gateway.chart" . }}
|
||||||
{{ include "gateway.selectorLabels" . }}
|
{{ include "gateway.selectorLabels" . }}
|
||||||
{{- if .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
||||||
{{- end }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
app.kubernetes.io/name: {{ include "gateway.name" . }}
|
app.kubernetes.io/name: {{ include "gateway.name" . }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
{{- range $key, $val := .Values.labels }}
|
{{- range $key, $val := .Values.labels }}
|
||||||
{{- if not (or (eq $key "app") (eq $key "istio")) }}
|
{{- if and (ne $key "app") (ne $key "istio") }}
|
||||||
{{ $key | quote }}: {{ $val | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- define "gateway.podLabels" -}}
|
|
||||||
{{ include "gateway.selectorLabels" . }}
|
|
||||||
{{- range $key, $val := .Values.labels }}
|
|
||||||
{{- if not (or (eq $key "app") (eq $key "istio")) }}
|
|
||||||
{{ $key | quote }}: {{ $val | quote }}
|
{{ $key | quote }}: {{ $val | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- define "gateway.selectorLabels" -}}
|
{{- define "gateway.selectorLabels" -}}
|
||||||
{{- if hasKey .Values.labels "app" }}
|
app: {{ (.Values.labels.app | quote) | default (include "gateway.name" .) }}
|
||||||
{{- with .Values.labels.app }}app: {{.|quote}}
|
istio: {{ (.Values.labels.istio | quote) | default (include "gateway.name" . | trimPrefix "istio-") }}
|
||||||
{{- end}}
|
|
||||||
{{- else }}app: {{ include "gateway.name" . }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if hasKey .Values.labels "istio" }}
|
|
||||||
{{- with .Values.labels.istio }}
|
{{/*
|
||||||
istio: {{.|quote}}
|
Keep sidecar injection labels together
|
||||||
{{- end}}
|
https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/#controlling-the-injection-policy
|
||||||
{{- else }}
|
*/}}
|
||||||
istio: {{ include "gateway.name" . | trimPrefix "istio-" }}
|
{{- define "gateway.sidecarInjectionLabels" -}}
|
||||||
|
sidecar.istio.io/inject: "true"
|
||||||
|
{{- with .Values.revision }}
|
||||||
|
istio.io/rev: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
@ -26,11 +26,15 @@ spec:
|
|||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
sidecar.istio.io/inject: "true"
|
{{- include "gateway.sidecarInjectionLabels" . | nindent 8 }}
|
||||||
{{- with .Values.revision }}
|
{{- include "gateway.selectorLabels" . | nindent 8 }}
|
||||||
istio.io/rev: {{ . | quote }}
|
app.kubernetes.io/name: {{ include "gateway.name" . }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- range $key, $val := .Values.labels }}
|
||||||
|
{{- if and (ne $key "app") (ne $key "istio") }}
|
||||||
|
{{ $key | quote }}: {{ $val | quote }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- include "gateway.podLabels" . | nindent 8 }}
|
|
||||||
spec:
|
spec:
|
||||||
{{- with .Values.imagePullSecrets }}
|
{{- with .Values.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
|
@ -15,6 +15,7 @@ However, we can workaround this by placing all of (1) under a specific key (.Val
|
|||||||
We can then merge the profile onto the defaults, then the user settings onto that.
|
We can then merge the profile onto the defaults, then the user settings onto that.
|
||||||
Finally, we can set all of that under .Values so the chart behaves without awareness.
|
Finally, we can set all of that under .Values so the chart behaves without awareness.
|
||||||
*/}}
|
*/}}
|
||||||
|
{{- $globals := $.Values.global | default dict | deepCopy }}
|
||||||
{{- $defaults := $.Values.defaults }}
|
{{- $defaults := $.Values.defaults }}
|
||||||
{{- $_ := unset $.Values "defaults" }}
|
{{- $_ := unset $.Values "defaults" }}
|
||||||
{{- $profile := dict }}
|
{{- $profile := dict }}
|
||||||
@ -35,4 +36,8 @@ Finally, we can set all of that under .Values so the chart behaves without aware
|
|||||||
{{- if $profile }}
|
{{- if $profile }}
|
||||||
{{- $a := mustMergeOverwrite $defaults $profile }}
|
{{- $a := mustMergeOverwrite $defaults $profile }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
# Flatten globals, if defined on a per-chart basis
|
||||||
|
{{- if false }}
|
||||||
|
{{- $a := mustMergeOverwrite $defaults $globals }}
|
||||||
|
{{- end }}
|
||||||
{{- $b := set $ "Values" (mustMergeOverwrite $defaults $.Values) }}
|
{{- $b := set $ "Values" (mustMergeOverwrite $defaults $.Values) }}
|
||||||
|
@ -99,10 +99,10 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"type": "string"
|
"type": ["string", "null"]
|
||||||
},
|
},
|
||||||
"memory": {
|
"memory": {
|
||||||
"type": "string"
|
"type": ["string", "null"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -110,10 +110,10 @@
|
|||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"type": "string"
|
"type": ["string", "null"]
|
||||||
},
|
},
|
||||||
"memory": {
|
"memory": {
|
||||||
"type": "string"
|
"type": ["string", "null"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# "defaults" is a workaround for Helm limitations. Users should NOT set ".defaults" explicitly, but rather directly set the fields internally.
|
||||||
|
# For instance, instead of `--set defaults.foo=bar`, just set `--set foo=bar`.
|
||||||
defaults:
|
defaults:
|
||||||
# Name allows overriding the release name. Generally this should not be set
|
# Name allows overriding the release name. Generally this should not be set
|
||||||
name: ""
|
name: ""
|
||||||
|
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: kubezero-istio
|
name: kubezero-istio
|
||||||
description: KubeZero Umbrella Chart for Istio
|
description: KubeZero Umbrella Chart for Istio
|
||||||
type: application
|
type: application
|
||||||
version: 0.22.3
|
version: 0.23.2
|
||||||
home: https://kubezero.com
|
home: https://kubezero.com
|
||||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||||
keywords:
|
keywords:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# kubezero-istio
|
# kubezero-istio
|
||||||
|
|
||||||
![Version: 0.22.3-1](https://img.shields.io/badge/Version-0.22.3--1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
|
![Version: 0.23.2](https://img.shields.io/badge/Version-0.23.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
|
||||||
|
|
||||||
KubeZero Umbrella Chart for Istio
|
KubeZero Umbrella Chart for Istio
|
||||||
|
|
||||||
@ -21,9 +21,9 @@ Kubernetes: `>= 1.26.0-0`
|
|||||||
| Repository | Name | Version |
|
| Repository | Name | Version |
|
||||||
|------------|------|---------|
|
|------------|------|---------|
|
||||||
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | >= 0.1.6 |
|
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | >= 0.1.6 |
|
||||||
| https://istio-release.storage.googleapis.com/charts | base | 1.22.3 |
|
| https://istio-release.storage.googleapis.com/charts | base | 1.23.2 |
|
||||||
| https://istio-release.storage.googleapis.com/charts | istiod | 1.22.3 |
|
| https://istio-release.storage.googleapis.com/charts | istiod | 1.23.2 |
|
||||||
| https://kiali.org/helm-charts | kiali-server | 1.88.0 |
|
| https://kiali.org/helm-charts | kiali-server | 1.89.7 |
|
||||||
|
|
||||||
## Values
|
## Values
|
||||||
|
|
||||||
|
@ -5,18 +5,22 @@ folder: Istio
|
|||||||
condition: '.Values.istiod.telemetry.enabled'
|
condition: '.Values.istiod.telemetry.enabled'
|
||||||
dashboards:
|
dashboards:
|
||||||
- name: istio-control-plane
|
- name: istio-control-plane
|
||||||
url: https://grafana.com/api/dashboards/7645/revisions/201/download
|
url: https://grafana.com/api/dashboards/7645/revisions/229/download
|
||||||
tags:
|
tags:
|
||||||
- Istio
|
- Istio
|
||||||
- name: istio-mesh
|
- name: istio-mesh
|
||||||
url: https://grafana.com/api/dashboards/7639/revisions/201/download
|
url: https://grafana.com/api/dashboards/7639/revisions/229/download
|
||||||
tags:
|
tags:
|
||||||
- Istio
|
- Istio
|
||||||
- name: istio-service
|
- name: istio-service
|
||||||
url: https://grafana.com/api/dashboards/7636/revisions/201/download
|
url: https://grafana.com/api/dashboards/7636/revisions/229/download
|
||||||
tags:
|
tags:
|
||||||
- Istio
|
- Istio
|
||||||
- name: istio-workload
|
- name: istio-workload
|
||||||
url: https://grafana.com/api/dashboards/7630/revisions/201/download
|
url: https://grafana.com/api/dashboards/7630/revisions/229/download
|
||||||
|
tags:
|
||||||
|
- Istio
|
||||||
|
- name: istio-performance
|
||||||
|
url: https://grafana.com/api/dashboards/11829/revisions/229/download
|
||||||
tags:
|
tags:
|
||||||
- Istio
|
- Istio
|
||||||
|
File diff suppressed because one or more lines are too long
@ -19,7 +19,7 @@ dependencies:
|
|||||||
version: ">= 0.1.6"
|
version: ">= 0.1.6"
|
||||||
repository: https://cdn.zero-downtime.net/charts/
|
repository: https://cdn.zero-downtime.net/charts/
|
||||||
- name: kube-prometheus-stack
|
- name: kube-prometheus-stack
|
||||||
version: 61.9.0
|
version: 65.3.1
|
||||||
repository: https://prometheus-community.github.io/helm-charts
|
repository: https://prometheus-community.github.io/helm-charts
|
||||||
- name: prometheus-adapter
|
- name: prometheus-adapter
|
||||||
version: 4.11.0
|
version: 4.11.0
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# kubezero-metrics
|
# kubezero-metrics
|
||||||
|
|
||||||
![Version: 0.10.0](https://img.shields.io/badge/Version-0.10.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
|
![Version: 0.10.1](https://img.shields.io/badge/Version-0.10.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
|
||||||
|
|
||||||
KubeZero Umbrella Chart for Prometheus, Grafana and Alertmanager as well as all Kubernetes integrations.
|
KubeZero Umbrella Chart for Prometheus, Grafana and Alertmanager as well as all Kubernetes integrations.
|
||||||
|
|
||||||
@ -19,9 +19,9 @@ Kubernetes: `>= 1.26.0`
|
|||||||
| Repository | Name | Version |
|
| Repository | Name | Version |
|
||||||
|------------|------|---------|
|
|------------|------|---------|
|
||||||
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | >= 0.1.6 |
|
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | >= 0.1.6 |
|
||||||
| https://prometheus-community.github.io/helm-charts | kube-prometheus-stack | 61.3.2 |
|
| https://prometheus-community.github.io/helm-charts | kube-prometheus-stack | 65.3.1 |
|
||||||
| https://prometheus-community.github.io/helm-charts | prometheus-adapter | 4.10.0 |
|
| https://prometheus-community.github.io/helm-charts | prometheus-adapter | 4.11.0 |
|
||||||
| https://prometheus-community.github.io/helm-charts | prometheus-pushgateway | 2.14.0 |
|
| https://prometheus-community.github.io/helm-charts | prometheus-pushgateway | 2.15.0 |
|
||||||
|
|
||||||
## Values
|
## Values
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ annotations:
|
|||||||
url: https://github.com/prometheus-operator/kube-prometheus
|
url: https://github.com/prometheus-operator/kube-prometheus
|
||||||
artifacthub.io/operator: "true"
|
artifacthub.io/operator: "true"
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: v0.75.1
|
appVersion: v0.77.1
|
||||||
dependencies:
|
dependencies:
|
||||||
- condition: crds.enabled
|
- condition: crds.enabled
|
||||||
name: crds
|
name: crds
|
||||||
@ -16,19 +16,19 @@ dependencies:
|
|||||||
- condition: kubeStateMetrics.enabled
|
- condition: kubeStateMetrics.enabled
|
||||||
name: kube-state-metrics
|
name: kube-state-metrics
|
||||||
repository: https://prometheus-community.github.io/helm-charts
|
repository: https://prometheus-community.github.io/helm-charts
|
||||||
version: 5.21.*
|
version: 5.26.*
|
||||||
- condition: nodeExporter.enabled
|
- condition: nodeExporter.enabled
|
||||||
name: prometheus-node-exporter
|
name: prometheus-node-exporter
|
||||||
repository: https://prometheus-community.github.io/helm-charts
|
repository: https://prometheus-community.github.io/helm-charts
|
||||||
version: 4.37.*
|
version: 4.39.*
|
||||||
- condition: grafana.enabled
|
- condition: grafana.enabled
|
||||||
name: grafana
|
name: grafana
|
||||||
repository: https://grafana.github.io/helm-charts
|
repository: https://grafana.github.io/helm-charts
|
||||||
version: 8.3.*
|
version: 8.5.*
|
||||||
- condition: windowsMonitoring.enabled
|
- condition: windowsMonitoring.enabled
|
||||||
name: prometheus-windows-exporter
|
name: prometheus-windows-exporter
|
||||||
repository: https://prometheus-community.github.io/helm-charts
|
repository: https://prometheus-community.github.io/helm-charts
|
||||||
version: 0.3.*
|
version: 0.7.*
|
||||||
description: kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards,
|
description: kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards,
|
||||||
and Prometheus rules combined with documentation and scripts to provide easy to
|
and Prometheus rules combined with documentation and scripts to provide easy to
|
||||||
operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus
|
operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus
|
||||||
@ -62,4 +62,4 @@ sources:
|
|||||||
- https://github.com/prometheus-community/helm-charts
|
- https://github.com/prometheus-community/helm-charts
|
||||||
- https://github.com/prometheus-operator/kube-prometheus
|
- https://github.com/prometheus-operator/kube-prometheus
|
||||||
type: application
|
type: application
|
||||||
version: 61.3.2
|
version: 65.3.1
|
||||||
|
@ -82,6 +82,83 @@ _See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documen
|
|||||||
|
|
||||||
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an incompatible breaking change needing manual actions.
|
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an incompatible breaking change needing manual actions.
|
||||||
|
|
||||||
|
### From 64.x to 65.x
|
||||||
|
|
||||||
|
This version upgrades Prometheus-Operator to v0.77.1
|
||||||
|
|
||||||
|
Run these commands to update the CRDs before applying the upgrade.
|
||||||
|
|
||||||
|
```console
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
### From 63.x to 64.x
|
||||||
|
|
||||||
|
v64 reverts the v63 release.
|
||||||
|
|
||||||
|
All changes mentioned in the v63 release notes must be reverted.
|
||||||
|
|
||||||
|
### From 62.x to 63.x
|
||||||
|
|
||||||
|
Simplify setting empty selectors, by deprecating `*SelectorNilUsesHelmValues` properties.
|
||||||
|
Instead, setting `*Selector.matchLabels=null` will create an empty selector.
|
||||||
|
|
||||||
|
If you set one of the following properties to `false`, you will have to convert them:
|
||||||
|
|
||||||
|
- `prometheus.prometheusSpec.podMonitorSelectorNilUsesHelmValues`
|
||||||
|
- `prometheus.prometheusSpec.probeSelectorNilUsesHelmValues`
|
||||||
|
- `prometheus.prometheusSpec.ruleSelectorNilUsesHelmValues`
|
||||||
|
- `prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues`
|
||||||
|
- `prometheus.prometheusSpec.scrapeConfigSelectorNilUsesHelmValues`
|
||||||
|
- `thanosRuler.thanosRulerSpec.ruleSelectorNilUsesHelmValues`
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
prometheus:
|
||||||
|
prometheusSpec:
|
||||||
|
scrapeConfigSelectorNilUsesHelmValues: false
|
||||||
|
```
|
||||||
|
|
||||||
|
Becomes:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
prometheus:
|
||||||
|
prometheusSpec:
|
||||||
|
scrapeConfigSelector:
|
||||||
|
matchLabels: null
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that `externalPrefixNilUsesHelmValues` remains as is.
|
||||||
|
|
||||||
|
### From 61.x to 62.x
|
||||||
|
|
||||||
|
This version upgrades Prometheus-Operator to v0.76.0
|
||||||
|
|
||||||
|
Run these commands to update the CRDs before applying the upgrade.
|
||||||
|
|
||||||
|
```console
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusagents.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||||
|
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.76.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||||
|
```
|
||||||
|
|
||||||
### From 60.x to 61.x
|
### From 60.x to 61.x
|
||||||
|
|
||||||
This version upgrades Prometheus-Operator to v0.75.0
|
This version upgrades Prometheus-Operator to v0.75.0
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.75.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.15.0
|
controller-gen.kubebuilder.io/version: v0.16.1
|
||||||
operator.prometheus.io/version: 0.75.1
|
operator.prometheus.io/version: 0.77.1
|
||||||
argocd.argoproj.io/sync-options: ServerSideApply=true
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
name: podmonitors.monitoring.coreos.com
|
name: podmonitors.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -24,7 +24,15 @@ spec:
|
|||||||
- name: v1
|
- name: v1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: PodMonitor defines monitoring for a set of pods.
|
description: |-
|
||||||
|
The `PodMonitor` custom resource definition (CRD) defines how `Prometheus` and `PrometheusAgent` can scrape metrics from a group of pods.
|
||||||
|
Among other things, it allows to specify:
|
||||||
|
* The pods to scrape via label selectors.
|
||||||
|
* The container ports to scrape.
|
||||||
|
* Authentication credentials to use.
|
||||||
|
* Target and metric relabeling.
|
||||||
|
|
||||||
|
`Prometheus` and `PrometheusAgent` objects select `PodMonitor` objects using label and namespace selectors.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: |-
|
description: |-
|
||||||
@ -51,13 +59,15 @@ spec:
|
|||||||
`attachMetadata` defines additional metadata which is added to the
|
`attachMetadata` defines additional metadata which is added to the
|
||||||
discovered targets.
|
discovered targets.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.35.0.
|
||||||
It requires Prometheus >= v2.37.0.
|
|
||||||
properties:
|
properties:
|
||||||
node:
|
node:
|
||||||
description: |-
|
description: |-
|
||||||
When set to true, Prometheus must have the `get` permission on the
|
When set to true, Prometheus attaches node metadata to the discovered
|
||||||
`Nodes` objects.
|
targets.
|
||||||
|
|
||||||
|
The Prometheus service account must have the `list` and `watch`
|
||||||
|
permissions on the `Nodes` objects.
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
bodySizeLimit:
|
bodySizeLimit:
|
||||||
@ -65,7 +75,6 @@ spec:
|
|||||||
When defined, bodySizeLimit specifies a job level limit on the size
|
When defined, bodySizeLimit specifies a job level limit on the size
|
||||||
of uncompressed response body that will be accepted by Prometheus.
|
of uncompressed response body that will be accepted by Prometheus.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.28.0.
|
It requires Prometheus >= v2.28.0.
|
||||||
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
||||||
type: string
|
type: string
|
||||||
@ -75,12 +84,10 @@ spec:
|
|||||||
`jobLabel` selects the label from the associated Kubernetes `Pod`
|
`jobLabel` selects the label from the associated Kubernetes `Pod`
|
||||||
object which will be used as the `job` label for all metrics.
|
object which will be used as the `job` label for all metrics.
|
||||||
|
|
||||||
|
|
||||||
For example if `jobLabel` is set to `foo` and the Kubernetes `Pod`
|
For example if `jobLabel` is set to `foo` and the Kubernetes `Pod`
|
||||||
object is labeled with `foo: bar`, then Prometheus adds the `job="bar"`
|
object is labeled with `foo: bar`, then Prometheus adds the `job="bar"`
|
||||||
label to all ingested metrics.
|
label to all ingested metrics.
|
||||||
|
|
||||||
|
|
||||||
If the value of this field is empty, the `job` label of the metrics
|
If the value of this field is empty, the `job` label of the metrics
|
||||||
defaults to the namespace and name of the PodMonitor object (e.g. `<namespace>/<name>`).
|
defaults to the namespace and name of the PodMonitor object (e.g. `<namespace>/<name>`).
|
||||||
type: string
|
type: string
|
||||||
@ -89,7 +96,6 @@ spec:
|
|||||||
Per-scrape limit on the number of targets dropped by relabeling
|
Per-scrape limit on the number of targets dropped by relabeling
|
||||||
that will be kept in memory. 0 means no limit.
|
that will be kept in memory. 0 means no limit.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.47.0.
|
It requires Prometheus >= v2.47.0.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -97,7 +103,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Per-scrape limit on number of labels that will be accepted for a sample.
|
Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.27.0.
|
It requires Prometheus >= v2.27.0.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -105,7 +110,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Per-scrape limit on length of labels name that will be accepted for a sample.
|
Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.27.0.
|
It requires Prometheus >= v2.27.0.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -113,14 +117,13 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Per-scrape limit on length of labels value that will be accepted for a sample.
|
Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.27.0.
|
It requires Prometheus >= v2.27.0.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
description: |-
|
description: |-
|
||||||
Selector to select which namespaces the Kubernetes `Pods` objects
|
`namespaceSelector` defines in which namespace(s) Prometheus should discover the pods.
|
||||||
are discovered from.
|
By default, the pods are discovered in the same namespace as the `PodMonitor` object but it is possible to select pods across different/all namespaces.
|
||||||
properties:
|
properties:
|
||||||
any:
|
any:
|
||||||
description: |-
|
description: |-
|
||||||
@ -134,7 +137,7 @@ spec:
|
|||||||
type: array
|
type: array
|
||||||
type: object
|
type: object
|
||||||
podMetricsEndpoints:
|
podMetricsEndpoints:
|
||||||
description: List of endpoints part of this PodMonitor.
|
description: Defines how to scrape metrics from the selected pods.
|
||||||
items:
|
items:
|
||||||
description: |-
|
description: |-
|
||||||
PodMetricsEndpoint defines an endpoint serving Prometheus metrics to be scraped by
|
PodMetricsEndpoint defines an endpoint serving Prometheus metrics to be scraped by
|
||||||
@ -145,7 +148,6 @@ spec:
|
|||||||
`authorization` configures the Authorization header credentials to use when
|
`authorization` configures the Authorization header credentials to use when
|
||||||
scraping the target.
|
scraping the target.
|
||||||
|
|
||||||
|
|
||||||
Cannot be set at the same time as `basicAuth`, or `oauth2`.
|
Cannot be set at the same time as `basicAuth`, or `oauth2`.
|
||||||
properties:
|
properties:
|
||||||
credentials:
|
credentials:
|
||||||
@ -161,9 +163,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -176,10 +176,8 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Defines the authentication type. The value is case-insensitive.
|
Defines the authentication type. The value is case-insensitive.
|
||||||
|
|
||||||
|
|
||||||
"Basic" is not a supported value.
|
"Basic" is not a supported value.
|
||||||
|
|
||||||
|
|
||||||
Default: "Bearer"
|
Default: "Bearer"
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -188,7 +186,6 @@ spec:
|
|||||||
`basicAuth` configures the Basic Authentication credentials to use when
|
`basicAuth` configures the Basic Authentication credentials to use when
|
||||||
scraping the target.
|
scraping the target.
|
||||||
|
|
||||||
|
|
||||||
Cannot be set at the same time as `authorization`, or `oauth2`.
|
Cannot be set at the same time as `authorization`, or `oauth2`.
|
||||||
properties:
|
properties:
|
||||||
password:
|
password:
|
||||||
@ -206,9 +203,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -232,9 +227,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -250,7 +243,6 @@ spec:
|
|||||||
token for scraping targets. The secret needs to be in the same namespace
|
token for scraping targets. The secret needs to be in the same namespace
|
||||||
as the PodMonitor object and readable by the Prometheus Operator.
|
as the PodMonitor object and readable by the Prometheus Operator.
|
||||||
|
|
||||||
|
|
||||||
Deprecated: use `authorization` instead.
|
Deprecated: use `authorization` instead.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
@ -263,9 +255,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -282,10 +272,8 @@ spec:
|
|||||||
When true, the pods which are not running (e.g. either in Failed or
|
When true, the pods which are not running (e.g. either in Failed or
|
||||||
Succeeded state) are dropped during the target discovery.
|
Succeeded state) are dropped during the target discovery.
|
||||||
|
|
||||||
|
|
||||||
If unset, the filtering is enabled.
|
If unset, the filtering is enabled.
|
||||||
|
|
||||||
|
|
||||||
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
|
||||||
type: boolean
|
type: boolean
|
||||||
followRedirects:
|
followRedirects:
|
||||||
@ -307,7 +295,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Interval at which Prometheus scrapes the metrics from the target.
|
Interval at which Prometheus scrapes the metrics from the target.
|
||||||
|
|
||||||
|
|
||||||
If empty, Prometheus uses the global scrape interval.
|
If empty, Prometheus uses the global scrape interval.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
type: string
|
type: string
|
||||||
@ -320,7 +307,6 @@ spec:
|
|||||||
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
||||||
scraped samples and remote write samples.
|
scraped samples and remote write samples.
|
||||||
|
|
||||||
|
|
||||||
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
@ -328,11 +314,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Action to perform based on the regex matching.
|
Action to perform based on the regex matching.
|
||||||
|
|
||||||
|
|
||||||
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
||||||
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
||||||
|
|
||||||
|
|
||||||
Default: "Replace"
|
Default: "Replace"
|
||||||
enum:
|
enum:
|
||||||
- replace
|
- replace
|
||||||
@ -362,7 +346,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Modulus to take of the hash of the source label values.
|
Modulus to take of the hash of the source label values.
|
||||||
|
|
||||||
|
|
||||||
Only applicable when the action is `HashMod`.
|
Only applicable when the action is `HashMod`.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -374,7 +357,6 @@ spec:
|
|||||||
Replacement value against which a Replace action is performed if the
|
Replacement value against which a Replace action is performed if the
|
||||||
regular expression matches.
|
regular expression matches.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
@ -396,11 +378,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Label to which the resulting string is written in a replacement.
|
Label to which the resulting string is written in a replacement.
|
||||||
|
|
||||||
|
|
||||||
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
||||||
`KeepEqual` and `DropEqual` actions.
|
`KeepEqual` and `DropEqual` actions.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -409,10 +389,8 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
`oauth2` configures the OAuth2 settings to use when scraping the target.
|
`oauth2` configures the OAuth2 settings to use when scraping the target.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= 2.27.0.
|
It requires Prometheus >= 2.27.0.
|
||||||
|
|
||||||
|
|
||||||
Cannot be set at the same time as `authorization`, or `basicAuth`.
|
Cannot be set at the same time as `authorization`, or `basicAuth`.
|
||||||
properties:
|
properties:
|
||||||
clientId:
|
clientId:
|
||||||
@ -433,9 +411,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the ConfigMap or its key must be defined
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
@ -457,9 +433,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -484,9 +458,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -502,11 +474,213 @@ spec:
|
|||||||
`endpointParams` configures the HTTP parameters to append to the token
|
`endpointParams` configures the HTTP parameters to append to the token
|
||||||
URL.
|
URL.
|
||||||
type: object
|
type: object
|
||||||
|
noProxy:
|
||||||
|
description: |-
|
||||||
|
`noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
|
||||||
|
that should be excluded from proxying. IP and domain names can
|
||||||
|
contain port numbers.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
|
||||||
|
type: string
|
||||||
|
proxyConnectHeader:
|
||||||
|
additionalProperties:
|
||||||
|
items:
|
||||||
|
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:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: array
|
||||||
|
description: |-
|
||||||
|
ProxyConnectHeader optionally specifies headers to send to
|
||||||
|
proxies during CONNECT requests.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
proxyFromEnvironment:
|
||||||
|
description: |-
|
||||||
|
Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
|
||||||
|
type: boolean
|
||||||
|
proxyUrl:
|
||||||
|
description: '`proxyURL` defines the HTTP proxy server to use.'
|
||||||
|
pattern: ^http(s)?://.+$
|
||||||
|
type: string
|
||||||
scopes:
|
scopes:
|
||||||
description: '`scopes` defines the OAuth2 scopes used for the token request.'
|
description: '`scopes` defines the OAuth2 scopes used for the token request.'
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
|
tlsConfig:
|
||||||
|
description: |-
|
||||||
|
TLS configuration to use when connecting to the OAuth2 server.
|
||||||
|
It requires Prometheus >= v2.43.0.
|
||||||
|
properties:
|
||||||
|
ca:
|
||||||
|
description: Certificate authority used when verifying server certificates.
|
||||||
|
properties:
|
||||||
|
configMap:
|
||||||
|
description: ConfigMap containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key to select.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
secret:
|
||||||
|
description: Secret containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
cert:
|
||||||
|
description: Client certificate to present when doing client-authentication.
|
||||||
|
properties:
|
||||||
|
configMap:
|
||||||
|
description: ConfigMap containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key to select.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
secret:
|
||||||
|
description: Secret containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
insecureSkipVerify:
|
||||||
|
description: Disable target certificate validation.
|
||||||
|
type: boolean
|
||||||
|
keySecret:
|
||||||
|
description: Secret containing the client key file for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
maxVersion:
|
||||||
|
description: |-
|
||||||
|
Maximum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.41.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
|
minVersion:
|
||||||
|
description: |-
|
||||||
|
Minimum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.35.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
|
serverName:
|
||||||
|
description: Used to verify the hostname for the targets.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
tokenUrl:
|
tokenUrl:
|
||||||
description: '`tokenURL` configures the URL to fetch the token from.'
|
description: '`tokenURL` configures the URL to fetch the token from.'
|
||||||
minLength: 1
|
minLength: 1
|
||||||
@ -527,14 +701,12 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
HTTP path from which to scrape for metrics.
|
HTTP path from which to scrape for metrics.
|
||||||
|
|
||||||
|
|
||||||
If empty, Prometheus uses the default value (e.g. `/metrics`).
|
If empty, Prometheus uses the default value (e.g. `/metrics`).
|
||||||
type: string
|
type: string
|
||||||
port:
|
port:
|
||||||
description: |-
|
description: |-
|
||||||
Name of the Pod port which this endpoint refers to.
|
Name of the Pod port which this endpoint refers to.
|
||||||
|
|
||||||
|
|
||||||
It takes precedence over `targetPort`.
|
It takes precedence over `targetPort`.
|
||||||
type: string
|
type: string
|
||||||
proxyUrl:
|
proxyUrl:
|
||||||
@ -547,20 +719,16 @@ spec:
|
|||||||
`relabelings` configures the relabeling rules to apply the target's
|
`relabelings` configures the relabeling rules to apply the target's
|
||||||
metadata labels.
|
metadata labels.
|
||||||
|
|
||||||
|
|
||||||
The Operator automatically adds relabelings for a few standard Kubernetes fields.
|
The Operator automatically adds relabelings for a few standard Kubernetes fields.
|
||||||
|
|
||||||
|
|
||||||
The original scrape job's name is available via the `__tmp_prometheus_job_name` label.
|
The original scrape job's name is available via the `__tmp_prometheus_job_name` label.
|
||||||
|
|
||||||
|
|
||||||
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
items:
|
items:
|
||||||
description: |-
|
description: |-
|
||||||
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
||||||
scraped samples and remote write samples.
|
scraped samples and remote write samples.
|
||||||
|
|
||||||
|
|
||||||
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
@ -568,11 +736,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Action to perform based on the regex matching.
|
Action to perform based on the regex matching.
|
||||||
|
|
||||||
|
|
||||||
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
||||||
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
||||||
|
|
||||||
|
|
||||||
Default: "Replace"
|
Default: "Replace"
|
||||||
enum:
|
enum:
|
||||||
- replace
|
- replace
|
||||||
@ -602,7 +768,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Modulus to take of the hash of the source label values.
|
Modulus to take of the hash of the source label values.
|
||||||
|
|
||||||
|
|
||||||
Only applicable when the action is `HashMod`.
|
Only applicable when the action is `HashMod`.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -614,7 +779,6 @@ spec:
|
|||||||
Replacement value against which a Replace action is performed if the
|
Replacement value against which a Replace action is performed if the
|
||||||
regular expression matches.
|
regular expression matches.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
@ -636,11 +800,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Label to which the resulting string is written in a replacement.
|
Label to which the resulting string is written in a replacement.
|
||||||
|
|
||||||
|
|
||||||
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
||||||
`KeepEqual` and `DropEqual` actions.
|
`KeepEqual` and `DropEqual` actions.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -649,11 +811,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
HTTP scheme to use for scraping.
|
HTTP scheme to use for scraping.
|
||||||
|
|
||||||
|
|
||||||
`http` and `https` are the expected values unless you rewrite the
|
`http` and `https` are the expected values unless you rewrite the
|
||||||
`__scheme__` label via relabeling.
|
`__scheme__` label via relabeling.
|
||||||
|
|
||||||
|
|
||||||
If empty, Prometheus uses the default value `http`.
|
If empty, Prometheus uses the default value `http`.
|
||||||
enum:
|
enum:
|
||||||
- http
|
- http
|
||||||
@ -663,7 +823,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Timeout after which Prometheus considers the scrape to be failed.
|
Timeout after which Prometheus considers the scrape to be failed.
|
||||||
|
|
||||||
|
|
||||||
If empty, Prometheus uses the global scrape timeout unless it is less
|
If empty, Prometheus uses the global scrape timeout unless it is less
|
||||||
than the target's scrape interval value in which the latter is used.
|
than the target's scrape interval value in which the latter is used.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
@ -676,7 +835,6 @@ spec:
|
|||||||
Name or number of the target port of the `Pod` object behind the Service, the
|
Name or number of the target port of the `Pod` object behind the Service, the
|
||||||
port must be specified with container port property.
|
port must be specified with container port property.
|
||||||
|
|
||||||
|
|
||||||
Deprecated: use 'port' instead.
|
Deprecated: use 'port' instead.
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
tlsConfig:
|
tlsConfig:
|
||||||
@ -698,9 +856,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the ConfigMap or its key must be defined
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
@ -722,9 +878,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -750,9 +904,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the ConfigMap or its key must be defined
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
@ -774,9 +926,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -802,9 +952,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -813,6 +961,28 @@ spec:
|
|||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
maxVersion:
|
||||||
|
description: |-
|
||||||
|
Maximum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.41.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
|
minVersion:
|
||||||
|
description: |-
|
||||||
|
Minimum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.35.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
serverName:
|
serverName:
|
||||||
description: Used to verify the hostname for the targets.
|
description: Used to verify the hostname for the targets.
|
||||||
type: string
|
type: string
|
||||||
@ -823,7 +993,6 @@ spec:
|
|||||||
the metrics that have an explicit timestamp present in scraped data.
|
the metrics that have an explicit timestamp present in scraped data.
|
||||||
Has no effect if `honorTimestamps` is false.
|
Has no effect if `honorTimestamps` is false.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.48.0.
|
It requires Prometheus >= v2.48.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
@ -850,10 +1019,8 @@ spec:
|
|||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
protocols supported by Prometheus in order of preference (from most to least preferred).
|
protocols supported by Prometheus in order of preference (from most to least preferred).
|
||||||
|
|
||||||
|
|
||||||
If unset, Prometheus uses its default value.
|
If unset, Prometheus uses its default value.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.49.0.
|
It requires Prometheus >= v2.49.0.
|
||||||
items:
|
items:
|
||||||
description: |-
|
description: |-
|
||||||
@ -872,7 +1039,7 @@ spec:
|
|||||||
type: array
|
type: array
|
||||||
x-kubernetes-list-type: set
|
x-kubernetes-list-type: set
|
||||||
selector:
|
selector:
|
||||||
description: Label selector to select the Kubernetes `Pod` objects.
|
description: Label selector to select the Kubernetes `Pod` objects to scrape metrics from.
|
||||||
properties:
|
properties:
|
||||||
matchExpressions:
|
matchExpressions:
|
||||||
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
|
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.75.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.15.0
|
controller-gen.kubebuilder.io/version: v0.16.1
|
||||||
operator.prometheus.io/version: 0.75.1
|
operator.prometheus.io/version: 0.77.1
|
||||||
argocd.argoproj.io/sync-options: ServerSideApply=true
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
name: probes.monitoring.coreos.com
|
name: probes.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -24,7 +24,14 @@ spec:
|
|||||||
- name: v1
|
- name: v1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: Probe defines monitoring for a set of static targets or ingresses.
|
description: |-
|
||||||
|
The `Probe` custom resource definition (CRD) defines how to scrape metrics from prober exporters such as the [blackbox exporter](https://github.com/prometheus/blackbox_exporter).
|
||||||
|
|
||||||
|
The `Probe` resource needs 2 pieces of information:
|
||||||
|
* The list of probed addresses which can be defined statically or by discovering Kubernetes Ingress objects.
|
||||||
|
* The prober which exposes the availability of probed endpoints (over various protocols such HTTP, TCP, ICMP, ...) as Prometheus metrics.
|
||||||
|
|
||||||
|
`Prometheus` and `PrometheusAgent` objects select `Probe` objects using label and namespace selectors.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: |-
|
description: |-
|
||||||
@ -62,9 +69,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -77,10 +82,8 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Defines the authentication type. The value is case-insensitive.
|
Defines the authentication type. The value is case-insensitive.
|
||||||
|
|
||||||
|
|
||||||
"Basic" is not a supported value.
|
"Basic" is not a supported value.
|
||||||
|
|
||||||
|
|
||||||
Default: "Bearer"
|
Default: "Bearer"
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -104,9 +107,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -130,9 +131,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -158,9 +157,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -183,7 +180,6 @@ spec:
|
|||||||
Per-scrape limit on the number of targets dropped by relabeling
|
Per-scrape limit on the number of targets dropped by relabeling
|
||||||
that will be kept in memory. 0 means no limit.
|
that will be kept in memory. 0 means no limit.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.47.0.
|
It requires Prometheus >= v2.47.0.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -212,7 +208,6 @@ spec:
|
|||||||
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
||||||
scraped samples and remote write samples.
|
scraped samples and remote write samples.
|
||||||
|
|
||||||
|
|
||||||
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
@ -220,11 +215,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Action to perform based on the regex matching.
|
Action to perform based on the regex matching.
|
||||||
|
|
||||||
|
|
||||||
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
||||||
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
||||||
|
|
||||||
|
|
||||||
Default: "Replace"
|
Default: "Replace"
|
||||||
enum:
|
enum:
|
||||||
- replace
|
- replace
|
||||||
@ -254,7 +247,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Modulus to take of the hash of the source label values.
|
Modulus to take of the hash of the source label values.
|
||||||
|
|
||||||
|
|
||||||
Only applicable when the action is `HashMod`.
|
Only applicable when the action is `HashMod`.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -266,7 +258,6 @@ spec:
|
|||||||
Replacement value against which a Replace action is performed if the
|
Replacement value against which a Replace action is performed if the
|
||||||
regular expression matches.
|
regular expression matches.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
@ -288,11 +279,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Label to which the resulting string is written in a replacement.
|
Label to which the resulting string is written in a replacement.
|
||||||
|
|
||||||
|
|
||||||
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
||||||
`KeepEqual` and `DropEqual` actions.
|
`KeepEqual` and `DropEqual` actions.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -324,9 +313,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the ConfigMap or its key must be defined
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
@ -348,9 +335,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -375,9 +360,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -393,11 +376,213 @@ spec:
|
|||||||
`endpointParams` configures the HTTP parameters to append to the token
|
`endpointParams` configures the HTTP parameters to append to the token
|
||||||
URL.
|
URL.
|
||||||
type: object
|
type: object
|
||||||
|
noProxy:
|
||||||
|
description: |-
|
||||||
|
`noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
|
||||||
|
that should be excluded from proxying. IP and domain names can
|
||||||
|
contain port numbers.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
|
||||||
|
type: string
|
||||||
|
proxyConnectHeader:
|
||||||
|
additionalProperties:
|
||||||
|
items:
|
||||||
|
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:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: array
|
||||||
|
description: |-
|
||||||
|
ProxyConnectHeader optionally specifies headers to send to
|
||||||
|
proxies during CONNECT requests.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
proxyFromEnvironment:
|
||||||
|
description: |-
|
||||||
|
Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
|
||||||
|
type: boolean
|
||||||
|
proxyUrl:
|
||||||
|
description: '`proxyURL` defines the HTTP proxy server to use.'
|
||||||
|
pattern: ^http(s)?://.+$
|
||||||
|
type: string
|
||||||
scopes:
|
scopes:
|
||||||
description: '`scopes` defines the OAuth2 scopes used for the token request.'
|
description: '`scopes` defines the OAuth2 scopes used for the token request.'
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
|
tlsConfig:
|
||||||
|
description: |-
|
||||||
|
TLS configuration to use when connecting to the OAuth2 server.
|
||||||
|
It requires Prometheus >= v2.43.0.
|
||||||
|
properties:
|
||||||
|
ca:
|
||||||
|
description: Certificate authority used when verifying server certificates.
|
||||||
|
properties:
|
||||||
|
configMap:
|
||||||
|
description: ConfigMap containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key to select.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
secret:
|
||||||
|
description: Secret containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
cert:
|
||||||
|
description: Client certificate to present when doing client-authentication.
|
||||||
|
properties:
|
||||||
|
configMap:
|
||||||
|
description: ConfigMap containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key to select.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
secret:
|
||||||
|
description: Secret containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
insecureSkipVerify:
|
||||||
|
description: Disable target certificate validation.
|
||||||
|
type: boolean
|
||||||
|
keySecret:
|
||||||
|
description: Secret containing the client key file for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
maxVersion:
|
||||||
|
description: |-
|
||||||
|
Maximum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.41.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
|
minVersion:
|
||||||
|
description: |-
|
||||||
|
Minimum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.35.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
|
serverName:
|
||||||
|
description: Used to verify the hostname for the targets.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
tokenUrl:
|
tokenUrl:
|
||||||
description: '`tokenURL` configures the URL to fetch the token from.'
|
description: '`tokenURL` configures the URL to fetch the token from.'
|
||||||
minLength: 1
|
minLength: 1
|
||||||
@ -449,10 +634,8 @@ spec:
|
|||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
protocols supported by Prometheus in order of preference (from most to least preferred).
|
protocols supported by Prometheus in order of preference (from most to least preferred).
|
||||||
|
|
||||||
|
|
||||||
If unset, Prometheus uses its default value.
|
If unset, Prometheus uses its default value.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.49.0.
|
It requires Prometheus >= v2.49.0.
|
||||||
items:
|
items:
|
||||||
description: |-
|
description: |-
|
||||||
@ -517,7 +700,6 @@ spec:
|
|||||||
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
||||||
scraped samples and remote write samples.
|
scraped samples and remote write samples.
|
||||||
|
|
||||||
|
|
||||||
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
@ -525,11 +707,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Action to perform based on the regex matching.
|
Action to perform based on the regex matching.
|
||||||
|
|
||||||
|
|
||||||
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
||||||
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
||||||
|
|
||||||
|
|
||||||
Default: "Replace"
|
Default: "Replace"
|
||||||
enum:
|
enum:
|
||||||
- replace
|
- replace
|
||||||
@ -559,7 +739,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Modulus to take of the hash of the source label values.
|
Modulus to take of the hash of the source label values.
|
||||||
|
|
||||||
|
|
||||||
Only applicable when the action is `HashMod`.
|
Only applicable when the action is `HashMod`.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -571,7 +750,6 @@ spec:
|
|||||||
Replacement value against which a Replace action is performed if the
|
Replacement value against which a Replace action is performed if the
|
||||||
regular expression matches.
|
regular expression matches.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
@ -593,11 +771,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Label to which the resulting string is written in a replacement.
|
Label to which the resulting string is written in a replacement.
|
||||||
|
|
||||||
|
|
||||||
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
||||||
`KeepEqual` and `DropEqual` actions.
|
`KeepEqual` and `DropEqual` actions.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -669,7 +845,6 @@ spec:
|
|||||||
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
||||||
scraped samples and remote write samples.
|
scraped samples and remote write samples.
|
||||||
|
|
||||||
|
|
||||||
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
@ -677,11 +852,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Action to perform based on the regex matching.
|
Action to perform based on the regex matching.
|
||||||
|
|
||||||
|
|
||||||
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
||||||
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
||||||
|
|
||||||
|
|
||||||
Default: "Replace"
|
Default: "Replace"
|
||||||
enum:
|
enum:
|
||||||
- replace
|
- replace
|
||||||
@ -711,7 +884,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Modulus to take of the hash of the source label values.
|
Modulus to take of the hash of the source label values.
|
||||||
|
|
||||||
|
|
||||||
Only applicable when the action is `HashMod`.
|
Only applicable when the action is `HashMod`.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -723,7 +895,6 @@ spec:
|
|||||||
Replacement value against which a Replace action is performed if the
|
Replacement value against which a Replace action is performed if the
|
||||||
regular expression matches.
|
regular expression matches.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
@ -745,11 +916,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Label to which the resulting string is written in a replacement.
|
Label to which the resulting string is written in a replacement.
|
||||||
|
|
||||||
|
|
||||||
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
||||||
`KeepEqual` and `DropEqual` actions.
|
`KeepEqual` and `DropEqual` actions.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -780,9 +949,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the ConfigMap or its key must be defined
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
@ -804,9 +971,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -832,9 +997,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the ConfigMap or its key must be defined
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
@ -856,9 +1019,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -884,9 +1045,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -895,6 +1054,28 @@ spec:
|
|||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
maxVersion:
|
||||||
|
description: |-
|
||||||
|
Maximum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.41.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
|
minVersion:
|
||||||
|
description: |-
|
||||||
|
Minimum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.35.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
serverName:
|
serverName:
|
||||||
description: Used to verify the hostname for the targets.
|
description: Used to verify the hostname for the targets.
|
||||||
type: string
|
type: string
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.75.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.15.0
|
controller-gen.kubebuilder.io/version: v0.16.1
|
||||||
operator.prometheus.io/version: 0.75.1
|
operator.prometheus.io/version: 0.77.1
|
||||||
argocd.argoproj.io/sync-options: ServerSideApply=true
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
name: prometheusrules.monitoring.coreos.com
|
name: prometheusrules.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -24,7 +24,10 @@ spec:
|
|||||||
- name: v1
|
- name: v1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: PrometheusRule defines recording and alerting rules for a Prometheus instance
|
description: |-
|
||||||
|
The `PrometheusRule` custom resource definition (CRD) defines [alerting](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) and [recording](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) rules to be evaluated by `Prometheus` or `ThanosRuler` objects.
|
||||||
|
|
||||||
|
`Prometheus` and `ThanosRuler` objects select `PrometheusRule` objects using label and namespace selectors.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: |-
|
description: |-
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,11 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.75.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.77.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
kind: CustomResourceDefinition
|
kind: CustomResourceDefinition
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
controller-gen.kubebuilder.io/version: v0.15.0
|
controller-gen.kubebuilder.io/version: v0.16.1
|
||||||
operator.prometheus.io/version: 0.75.1
|
operator.prometheus.io/version: 0.77.1
|
||||||
argocd.argoproj.io/sync-options: ServerSideApply=true
|
argocd.argoproj.io/sync-options: ServerSideApply=true
|
||||||
name: servicemonitors.monitoring.coreos.com
|
name: servicemonitors.monitoring.coreos.com
|
||||||
spec:
|
spec:
|
||||||
@ -24,7 +24,15 @@ spec:
|
|||||||
- name: v1
|
- name: v1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: ServiceMonitor defines monitoring for a set of services.
|
description: |-
|
||||||
|
The `ServiceMonitor` custom resource definition (CRD) defines how `Prometheus` and `PrometheusAgent` can scrape metrics from a group of services.
|
||||||
|
Among other things, it allows to specify:
|
||||||
|
* The services to scrape via label selectors.
|
||||||
|
* The container ports to scrape.
|
||||||
|
* Authentication credentials to use.
|
||||||
|
* Target and metric relabeling.
|
||||||
|
|
||||||
|
`Prometheus` and `PrometheusAgent` objects select `ServiceMonitor` objects using label and namespace selectors.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: |-
|
description: |-
|
||||||
@ -53,13 +61,15 @@ spec:
|
|||||||
`attachMetadata` defines additional metadata which is added to the
|
`attachMetadata` defines additional metadata which is added to the
|
||||||
discovered targets.
|
discovered targets.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.37.0.
|
It requires Prometheus >= v2.37.0.
|
||||||
properties:
|
properties:
|
||||||
node:
|
node:
|
||||||
description: |-
|
description: |-
|
||||||
When set to true, Prometheus must have the `get` permission on the
|
When set to true, Prometheus attaches node metadata to the discovered
|
||||||
`Nodes` objects.
|
targets.
|
||||||
|
|
||||||
|
The Prometheus service account must have the `list` and `watch`
|
||||||
|
permissions on the `Nodes` objects.
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
bodySizeLimit:
|
bodySizeLimit:
|
||||||
@ -67,12 +77,14 @@ spec:
|
|||||||
When defined, bodySizeLimit specifies a job level limit on the size
|
When defined, bodySizeLimit specifies a job level limit on the size
|
||||||
of uncompressed response body that will be accepted by Prometheus.
|
of uncompressed response body that will be accepted by Prometheus.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.28.0.
|
It requires Prometheus >= v2.28.0.
|
||||||
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
pattern: (^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$
|
||||||
type: string
|
type: string
|
||||||
endpoints:
|
endpoints:
|
||||||
description: List of endpoints part of this ServiceMonitor.
|
description: |-
|
||||||
|
List of endpoints part of this ServiceMonitor.
|
||||||
|
Defines how to scrape metrics from Kubernetes [Endpoints](https://kubernetes.io/docs/concepts/services-networking/service/#endpoints) objects.
|
||||||
|
In most cases, an Endpoints object is backed by a Kubernetes [Service](https://kubernetes.io/docs/concepts/services-networking/service/) object with the same name and labels.
|
||||||
items:
|
items:
|
||||||
description: |-
|
description: |-
|
||||||
Endpoint defines an endpoint serving Prometheus metrics to be scraped by
|
Endpoint defines an endpoint serving Prometheus metrics to be scraped by
|
||||||
@ -83,7 +95,6 @@ spec:
|
|||||||
`authorization` configures the Authorization header credentials to use when
|
`authorization` configures the Authorization header credentials to use when
|
||||||
scraping the target.
|
scraping the target.
|
||||||
|
|
||||||
|
|
||||||
Cannot be set at the same time as `basicAuth`, or `oauth2`.
|
Cannot be set at the same time as `basicAuth`, or `oauth2`.
|
||||||
properties:
|
properties:
|
||||||
credentials:
|
credentials:
|
||||||
@ -99,9 +110,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -114,10 +123,8 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Defines the authentication type. The value is case-insensitive.
|
Defines the authentication type. The value is case-insensitive.
|
||||||
|
|
||||||
|
|
||||||
"Basic" is not a supported value.
|
"Basic" is not a supported value.
|
||||||
|
|
||||||
|
|
||||||
Default: "Bearer"
|
Default: "Bearer"
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -126,7 +133,6 @@ spec:
|
|||||||
`basicAuth` configures the Basic Authentication credentials to use when
|
`basicAuth` configures the Basic Authentication credentials to use when
|
||||||
scraping the target.
|
scraping the target.
|
||||||
|
|
||||||
|
|
||||||
Cannot be set at the same time as `authorization`, or `oauth2`.
|
Cannot be set at the same time as `authorization`, or `oauth2`.
|
||||||
properties:
|
properties:
|
||||||
password:
|
password:
|
||||||
@ -144,9 +150,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -170,9 +174,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -186,7 +188,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
File to read bearer token for scraping the target.
|
File to read bearer token for scraping the target.
|
||||||
|
|
||||||
|
|
||||||
Deprecated: use `authorization` instead.
|
Deprecated: use `authorization` instead.
|
||||||
type: string
|
type: string
|
||||||
bearerTokenSecret:
|
bearerTokenSecret:
|
||||||
@ -195,7 +196,6 @@ spec:
|
|||||||
token for scraping targets. The secret needs to be in the same namespace
|
token for scraping targets. The secret needs to be in the same namespace
|
||||||
as the ServiceMonitor object and readable by the Prometheus Operator.
|
as the ServiceMonitor object and readable by the Prometheus Operator.
|
||||||
|
|
||||||
|
|
||||||
Deprecated: use `authorization` instead.
|
Deprecated: use `authorization` instead.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
@ -208,9 +208,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -227,10 +225,8 @@ spec:
|
|||||||
When true, the pods which are not running (e.g. either in Failed or
|
When true, the pods which are not running (e.g. either in Failed or
|
||||||
Succeeded state) are dropped during the target discovery.
|
Succeeded state) are dropped during the target discovery.
|
||||||
|
|
||||||
|
|
||||||
If unset, the filtering is enabled.
|
If unset, the filtering is enabled.
|
||||||
|
|
||||||
|
|
||||||
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
|
||||||
type: boolean
|
type: boolean
|
||||||
followRedirects:
|
followRedirects:
|
||||||
@ -252,7 +248,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Interval at which Prometheus scrapes the metrics from the target.
|
Interval at which Prometheus scrapes the metrics from the target.
|
||||||
|
|
||||||
|
|
||||||
If empty, Prometheus uses the global scrape interval.
|
If empty, Prometheus uses the global scrape interval.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
type: string
|
type: string
|
||||||
@ -265,7 +260,6 @@ spec:
|
|||||||
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
||||||
scraped samples and remote write samples.
|
scraped samples and remote write samples.
|
||||||
|
|
||||||
|
|
||||||
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
@ -273,11 +267,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Action to perform based on the regex matching.
|
Action to perform based on the regex matching.
|
||||||
|
|
||||||
|
|
||||||
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
||||||
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
||||||
|
|
||||||
|
|
||||||
Default: "Replace"
|
Default: "Replace"
|
||||||
enum:
|
enum:
|
||||||
- replace
|
- replace
|
||||||
@ -307,7 +299,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Modulus to take of the hash of the source label values.
|
Modulus to take of the hash of the source label values.
|
||||||
|
|
||||||
|
|
||||||
Only applicable when the action is `HashMod`.
|
Only applicable when the action is `HashMod`.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -319,7 +310,6 @@ spec:
|
|||||||
Replacement value against which a Replace action is performed if the
|
Replacement value against which a Replace action is performed if the
|
||||||
regular expression matches.
|
regular expression matches.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
@ -341,11 +331,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Label to which the resulting string is written in a replacement.
|
Label to which the resulting string is written in a replacement.
|
||||||
|
|
||||||
|
|
||||||
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
||||||
`KeepEqual` and `DropEqual` actions.
|
`KeepEqual` and `DropEqual` actions.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -354,10 +342,8 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
`oauth2` configures the OAuth2 settings to use when scraping the target.
|
`oauth2` configures the OAuth2 settings to use when scraping the target.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= 2.27.0.
|
It requires Prometheus >= 2.27.0.
|
||||||
|
|
||||||
|
|
||||||
Cannot be set at the same time as `authorization`, or `basicAuth`.
|
Cannot be set at the same time as `authorization`, or `basicAuth`.
|
||||||
properties:
|
properties:
|
||||||
clientId:
|
clientId:
|
||||||
@ -378,9 +364,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the ConfigMap or its key must be defined
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
@ -402,9 +386,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -429,9 +411,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -447,11 +427,213 @@ spec:
|
|||||||
`endpointParams` configures the HTTP parameters to append to the token
|
`endpointParams` configures the HTTP parameters to append to the token
|
||||||
URL.
|
URL.
|
||||||
type: object
|
type: object
|
||||||
|
noProxy:
|
||||||
|
description: |-
|
||||||
|
`noProxy` is a comma-separated string that can contain IPs, CIDR notation, domain names
|
||||||
|
that should be excluded from proxying. IP and domain names can
|
||||||
|
contain port numbers.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
|
||||||
|
type: string
|
||||||
|
proxyConnectHeader:
|
||||||
|
additionalProperties:
|
||||||
|
items:
|
||||||
|
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:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: array
|
||||||
|
description: |-
|
||||||
|
ProxyConnectHeader optionally specifies headers to send to
|
||||||
|
proxies during CONNECT requests.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
proxyFromEnvironment:
|
||||||
|
description: |-
|
||||||
|
Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.43.0 or Alertmanager >= 0.25.0.
|
||||||
|
type: boolean
|
||||||
|
proxyUrl:
|
||||||
|
description: '`proxyURL` defines the HTTP proxy server to use.'
|
||||||
|
pattern: ^http(s)?://.+$
|
||||||
|
type: string
|
||||||
scopes:
|
scopes:
|
||||||
description: '`scopes` defines the OAuth2 scopes used for the token request.'
|
description: '`scopes` defines the OAuth2 scopes used for the token request.'
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
|
tlsConfig:
|
||||||
|
description: |-
|
||||||
|
TLS configuration to use when connecting to the OAuth2 server.
|
||||||
|
It requires Prometheus >= v2.43.0.
|
||||||
|
properties:
|
||||||
|
ca:
|
||||||
|
description: Certificate authority used when verifying server certificates.
|
||||||
|
properties:
|
||||||
|
configMap:
|
||||||
|
description: ConfigMap containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key to select.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
secret:
|
||||||
|
description: Secret containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
cert:
|
||||||
|
description: Client certificate to present when doing client-authentication.
|
||||||
|
properties:
|
||||||
|
configMap:
|
||||||
|
description: ConfigMap containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key to select.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
secret:
|
||||||
|
description: Secret containing data to use for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
type: object
|
||||||
|
insecureSkipVerify:
|
||||||
|
description: Disable target certificate validation.
|
||||||
|
type: boolean
|
||||||
|
keySecret:
|
||||||
|
description: Secret containing the client key file for the targets.
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
description: The key of the secret to select from. Must be a valid secret key.
|
||||||
|
type: string
|
||||||
|
name:
|
||||||
|
default: ""
|
||||||
|
description: |-
|
||||||
|
Name of the referent.
|
||||||
|
This field is effectively required, but due to backwards compatibility is
|
||||||
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
|
almost certainly wrong.
|
||||||
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
type: string
|
||||||
|
optional:
|
||||||
|
description: Specify whether the Secret or its key must be defined
|
||||||
|
type: boolean
|
||||||
|
required:
|
||||||
|
- key
|
||||||
|
type: object
|
||||||
|
x-kubernetes-map-type: atomic
|
||||||
|
maxVersion:
|
||||||
|
description: |-
|
||||||
|
Maximum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.41.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
|
minVersion:
|
||||||
|
description: |-
|
||||||
|
Minimum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.35.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
|
serverName:
|
||||||
|
description: Used to verify the hostname for the targets.
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
tokenUrl:
|
tokenUrl:
|
||||||
description: '`tokenURL` configures the URL to fetch the token from.'
|
description: '`tokenURL` configures the URL to fetch the token from.'
|
||||||
minLength: 1
|
minLength: 1
|
||||||
@ -472,14 +654,12 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
HTTP path from which to scrape for metrics.
|
HTTP path from which to scrape for metrics.
|
||||||
|
|
||||||
|
|
||||||
If empty, Prometheus uses the default value (e.g. `/metrics`).
|
If empty, Prometheus uses the default value (e.g. `/metrics`).
|
||||||
type: string
|
type: string
|
||||||
port:
|
port:
|
||||||
description: |-
|
description: |-
|
||||||
Name of the Service port which this endpoint refers to.
|
Name of the Service port which this endpoint refers to.
|
||||||
|
|
||||||
|
|
||||||
It takes precedence over `targetPort`.
|
It takes precedence over `targetPort`.
|
||||||
type: string
|
type: string
|
||||||
proxyUrl:
|
proxyUrl:
|
||||||
@ -492,20 +672,16 @@ spec:
|
|||||||
`relabelings` configures the relabeling rules to apply the target's
|
`relabelings` configures the relabeling rules to apply the target's
|
||||||
metadata labels.
|
metadata labels.
|
||||||
|
|
||||||
|
|
||||||
The Operator automatically adds relabelings for a few standard Kubernetes fields.
|
The Operator automatically adds relabelings for a few standard Kubernetes fields.
|
||||||
|
|
||||||
|
|
||||||
The original scrape job's name is available via the `__tmp_prometheus_job_name` label.
|
The original scrape job's name is available via the `__tmp_prometheus_job_name` label.
|
||||||
|
|
||||||
|
|
||||||
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
items:
|
items:
|
||||||
description: |-
|
description: |-
|
||||||
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
RelabelConfig allows dynamic rewriting of the label set for targets, alerts,
|
||||||
scraped samples and remote write samples.
|
scraped samples and remote write samples.
|
||||||
|
|
||||||
|
|
||||||
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
@ -513,11 +689,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Action to perform based on the regex matching.
|
Action to perform based on the regex matching.
|
||||||
|
|
||||||
|
|
||||||
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
`Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
|
||||||
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
`DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
|
||||||
|
|
||||||
|
|
||||||
Default: "Replace"
|
Default: "Replace"
|
||||||
enum:
|
enum:
|
||||||
- replace
|
- replace
|
||||||
@ -547,7 +721,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Modulus to take of the hash of the source label values.
|
Modulus to take of the hash of the source label values.
|
||||||
|
|
||||||
|
|
||||||
Only applicable when the action is `HashMod`.
|
Only applicable when the action is `HashMod`.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -559,7 +732,6 @@ spec:
|
|||||||
Replacement value against which a Replace action is performed if the
|
Replacement value against which a Replace action is performed if the
|
||||||
regular expression matches.
|
regular expression matches.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
@ -581,11 +753,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Label to which the resulting string is written in a replacement.
|
Label to which the resulting string is written in a replacement.
|
||||||
|
|
||||||
|
|
||||||
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`,
|
||||||
`KeepEqual` and `DropEqual` actions.
|
`KeepEqual` and `DropEqual` actions.
|
||||||
|
|
||||||
|
|
||||||
Regex capture groups are available.
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
@ -594,11 +764,9 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
HTTP scheme to use for scraping.
|
HTTP scheme to use for scraping.
|
||||||
|
|
||||||
|
|
||||||
`http` and `https` are the expected values unless you rewrite the
|
`http` and `https` are the expected values unless you rewrite the
|
||||||
`__scheme__` label via relabeling.
|
`__scheme__` label via relabeling.
|
||||||
|
|
||||||
|
|
||||||
If empty, Prometheus uses the default value `http`.
|
If empty, Prometheus uses the default value `http`.
|
||||||
enum:
|
enum:
|
||||||
- http
|
- http
|
||||||
@ -608,7 +776,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Timeout after which Prometheus considers the scrape to be failed.
|
Timeout after which Prometheus considers the scrape to be failed.
|
||||||
|
|
||||||
|
|
||||||
If empty, Prometheus uses the global scrape timeout unless it is less
|
If empty, Prometheus uses the global scrape timeout unless it is less
|
||||||
than the target's scrape interval value in which the latter is used.
|
than the target's scrape interval value in which the latter is used.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
@ -640,9 +807,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the ConfigMap or its key must be defined
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
@ -664,9 +829,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -695,9 +858,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the ConfigMap or its key must be defined
|
description: Specify whether the ConfigMap or its key must be defined
|
||||||
@ -719,9 +880,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -753,9 +912,7 @@ spec:
|
|||||||
This field is effectively required, but due to backwards compatibility is
|
This field is effectively required, but due to backwards compatibility is
|
||||||
allowed to be empty. Instances of this type with an empty value here are
|
allowed to be empty. Instances of this type with an empty value here are
|
||||||
almost certainly wrong.
|
almost certainly wrong.
|
||||||
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
||||||
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
|
|
||||||
type: string
|
type: string
|
||||||
optional:
|
optional:
|
||||||
description: Specify whether the Secret or its key must be defined
|
description: Specify whether the Secret or its key must be defined
|
||||||
@ -764,6 +921,28 @@ spec:
|
|||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
maxVersion:
|
||||||
|
description: |-
|
||||||
|
Maximum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.41.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
|
minVersion:
|
||||||
|
description: |-
|
||||||
|
Minimum acceptable TLS version.
|
||||||
|
|
||||||
|
It requires Prometheus >= v2.35.0.
|
||||||
|
enum:
|
||||||
|
- TLS10
|
||||||
|
- TLS11
|
||||||
|
- TLS12
|
||||||
|
- TLS13
|
||||||
|
type: string
|
||||||
serverName:
|
serverName:
|
||||||
description: Used to verify the hostname for the targets.
|
description: Used to verify the hostname for the targets.
|
||||||
type: string
|
type: string
|
||||||
@ -774,7 +953,6 @@ spec:
|
|||||||
the metrics that have an explicit timestamp present in scraped data.
|
the metrics that have an explicit timestamp present in scraped data.
|
||||||
Has no effect if `honorTimestamps` is false.
|
Has no effect if `honorTimestamps` is false.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.48.0.
|
It requires Prometheus >= v2.48.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
type: object
|
type: object
|
||||||
@ -784,12 +962,10 @@ spec:
|
|||||||
`jobLabel` selects the label from the associated Kubernetes `Service`
|
`jobLabel` selects the label from the associated Kubernetes `Service`
|
||||||
object which will be used as the `job` label for all metrics.
|
object which will be used as the `job` label for all metrics.
|
||||||
|
|
||||||
|
|
||||||
For example if `jobLabel` is set to `foo` and the Kubernetes `Service`
|
For example if `jobLabel` is set to `foo` and the Kubernetes `Service`
|
||||||
object is labeled with `foo: bar`, then Prometheus adds the `job="bar"`
|
object is labeled with `foo: bar`, then Prometheus adds the `job="bar"`
|
||||||
label to all ingested metrics.
|
label to all ingested metrics.
|
||||||
|
|
||||||
|
|
||||||
If the value of this field is empty or if the label doesn't exist for
|
If the value of this field is empty or if the label doesn't exist for
|
||||||
the given Service, the `job` label of the metrics defaults to the name
|
the given Service, the `job` label of the metrics defaults to the name
|
||||||
of the associated Kubernetes `Service`.
|
of the associated Kubernetes `Service`.
|
||||||
@ -799,7 +975,6 @@ spec:
|
|||||||
Per-scrape limit on the number of targets dropped by relabeling
|
Per-scrape limit on the number of targets dropped by relabeling
|
||||||
that will be kept in memory. 0 means no limit.
|
that will be kept in memory. 0 means no limit.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.47.0.
|
It requires Prometheus >= v2.47.0.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -807,7 +982,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Per-scrape limit on number of labels that will be accepted for a sample.
|
Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.27.0.
|
It requires Prometheus >= v2.27.0.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -815,7 +989,6 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Per-scrape limit on length of labels name that will be accepted for a sample.
|
Per-scrape limit on length of labels name that will be accepted for a sample.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.27.0.
|
It requires Prometheus >= v2.27.0.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
@ -823,14 +996,13 @@ spec:
|
|||||||
description: |-
|
description: |-
|
||||||
Per-scrape limit on length of labels value that will be accepted for a sample.
|
Per-scrape limit on length of labels value that will be accepted for a sample.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.27.0.
|
It requires Prometheus >= v2.27.0.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
description: |-
|
description: |-
|
||||||
Selector to select which namespaces the Kubernetes `Endpoints` objects
|
`namespaceSelector` defines in which namespace(s) Prometheus should discover the services.
|
||||||
are discovered from.
|
By default, the services are discovered in the same namespace as the `ServiceMonitor` object but it is possible to select pods across different/all namespaces.
|
||||||
properties:
|
properties:
|
||||||
any:
|
any:
|
||||||
description: |-
|
description: |-
|
||||||
@ -865,10 +1037,8 @@ spec:
|
|||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
protocols supported by Prometheus in order of preference (from most to least preferred).
|
protocols supported by Prometheus in order of preference (from most to least preferred).
|
||||||
|
|
||||||
|
|
||||||
If unset, Prometheus uses its default value.
|
If unset, Prometheus uses its default value.
|
||||||
|
|
||||||
|
|
||||||
It requires Prometheus >= v2.49.0.
|
It requires Prometheus >= v2.49.0.
|
||||||
items:
|
items:
|
||||||
description: |-
|
description: |-
|
||||||
@ -887,7 +1057,7 @@ spec:
|
|||||||
type: array
|
type: array
|
||||||
x-kubernetes-list-type: set
|
x-kubernetes-list-type: set
|
||||||
selector:
|
selector:
|
||||||
description: Label selector to select the Kubernetes `Endpoints` objects.
|
description: Label selector to select the Kubernetes `Endpoints` objects to scrape metrics from.
|
||||||
properties:
|
properties:
|
||||||
matchExpressions:
|
matchExpressions:
|
||||||
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
|
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
|
||||||
@ -944,6 +1114,7 @@ spec:
|
|||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
required:
|
required:
|
||||||
|
- endpoints
|
||||||
- selector
|
- selector
|
||||||
type: object
|
type: object
|
||||||
required:
|
required:
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -6,7 +6,7 @@ annotations:
|
|||||||
- name: Upstream Project
|
- name: Upstream Project
|
||||||
url: https://github.com/grafana/grafana
|
url: https://github.com/grafana/grafana
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 11.1.0
|
appVersion: 11.2.2
|
||||||
description: The leading tool for querying and visualizing time series and metrics.
|
description: The leading tool for querying and visualizing time series and metrics.
|
||||||
home: https://grafana.com
|
home: https://grafana.com
|
||||||
icon: https://artifacthub.io/image/b4fed1a7-6c8f-4945-b99d-096efa3e4116
|
icon: https://artifacthub.io/image/b4fed1a7-6c8f-4945-b99d-096efa3e4116
|
||||||
@ -32,4 +32,4 @@ sources:
|
|||||||
- https://github.com/grafana/grafana
|
- https://github.com/grafana/grafana
|
||||||
- https://github.com/grafana/helm-charts
|
- https://github.com/grafana/helm-charts
|
||||||
type: application
|
type: application
|
||||||
version: 8.3.4
|
version: 8.5.5
|
||||||
|
@ -121,7 +121,7 @@ need to instead set `global.imageRegistry`.
|
|||||||
| `persistence.subPath` | Mount a sub dir of the persistent volume (can be templated) | `nil` |
|
| `persistence.subPath` | Mount a sub dir of the persistent volume (can be templated) | `nil` |
|
||||||
| `persistence.inMemory.enabled` | If persistence is not enabled, whether to mount the local storage in-memory to improve performance | `false` |
|
| `persistence.inMemory.enabled` | If persistence is not enabled, whether to mount the local storage in-memory to improve performance | `false` |
|
||||||
| `persistence.inMemory.sizeLimit` | SizeLimit for the in-memory local storage | `nil` |
|
| `persistence.inMemory.sizeLimit` | SizeLimit for the in-memory local storage | `nil` |
|
||||||
| `persistence.disableWarning` | Hide NOTES warning, useful when persiting to a database | `false` |
|
| `persistence.disableWarning` | Hide NOTES warning, useful when persisting to a database | `false` |
|
||||||
| `initChownData.enabled` | If false, don't reset data ownership at startup | true |
|
| `initChownData.enabled` | If false, don't reset data ownership at startup | true |
|
||||||
| `initChownData.image.registry` | init-chown-data container image registry | `docker.io` |
|
| `initChownData.image.registry` | init-chown-data container image registry | `docker.io` |
|
||||||
| `initChownData.image.repository` | init-chown-data container image repository | `busybox` |
|
| `initChownData.image.repository` | init-chown-data container image repository | `busybox` |
|
||||||
@ -165,7 +165,7 @@ need to instead set `global.imageRegistry`.
|
|||||||
| `lifecycleHooks` | Lifecycle hooks for podStart and preStop [Example](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/#define-poststart-and-prestop-handlers) | `{}` |
|
| `lifecycleHooks` | Lifecycle hooks for podStart and preStop [Example](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/#define-poststart-and-prestop-handlers) | `{}` |
|
||||||
| `sidecar.image.registry` | Sidecar image registry | `quay.io` |
|
| `sidecar.image.registry` | Sidecar image registry | `quay.io` |
|
||||||
| `sidecar.image.repository` | Sidecar image repository | `kiwigrid/k8s-sidecar` |
|
| `sidecar.image.repository` | Sidecar image repository | `kiwigrid/k8s-sidecar` |
|
||||||
| `sidecar.image.tag` | Sidecar image tag | `1.26.0` |
|
| `sidecar.image.tag` | Sidecar image tag | `1.28.0` |
|
||||||
| `sidecar.image.sha` | Sidecar image sha (optional) | `""` |
|
| `sidecar.image.sha` | Sidecar image sha (optional) | `""` |
|
||||||
| `sidecar.imagePullPolicy` | Sidecar image pull policy | `IfNotPresent` |
|
| `sidecar.imagePullPolicy` | Sidecar image pull policy | `IfNotPresent` |
|
||||||
| `sidecar.resources` | Sidecar resources | `{}` |
|
| `sidecar.resources` | Sidecar resources | `{}` |
|
||||||
@ -292,6 +292,8 @@ need to instead set `global.imageRegistry`.
|
|||||||
| `imageRenderer.service.targetPort` | image-renderer service port used by service | `8081` |
|
| `imageRenderer.service.targetPort` | image-renderer service port used by service | `8081` |
|
||||||
| `imageRenderer.appProtocol` | Adds the appProtocol field to the service | `` |
|
| `imageRenderer.appProtocol` | Adds the appProtocol field to the service | `` |
|
||||||
| `imageRenderer.grafanaSubPath` | Grafana sub path to use for image renderer callback url | `''` |
|
| `imageRenderer.grafanaSubPath` | Grafana sub path to use for image renderer callback url | `''` |
|
||||||
|
| `imageRenderer.serverURL` | Remote image renderer url | `''` |
|
||||||
|
| `imageRenderer.renderingCallbackURL` | Callback url for the Grafana image renderer | `''` |
|
||||||
| `imageRenderer.podPortName` | name of the image-renderer port on the pod | `http` |
|
| `imageRenderer.podPortName` | name of the image-renderer port on the pod | `http` |
|
||||||
| `imageRenderer.revisionHistoryLimit` | number of image-renderer replica sets to keep | `10` |
|
| `imageRenderer.revisionHistoryLimit` | number of image-renderer replica sets to keep | `10` |
|
||||||
| `imageRenderer.networkPolicy.limitIngress` | Enable a NetworkPolicy to limit inbound traffic from only the created grafana pods | `true` |
|
| `imageRenderer.networkPolicy.limitIngress` | Enable a NetworkPolicy to limit inbound traffic from only the created grafana pods | `true` |
|
||||||
@ -718,7 +720,7 @@ stringData:
|
|||||||
Include in the `extraSecretMounts` configuration flag:
|
Include in the `extraSecretMounts` configuration flag:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- extraSecretMounts:
|
extraSecretMounts:
|
||||||
- name: auth-generic-oauth-secret-mount
|
- name: auth-generic-oauth-secret-mount
|
||||||
secretName: auth-generic-oauth-secret
|
secretName: auth-generic-oauth-secret
|
||||||
defaultMode: 0440
|
defaultMode: 0440
|
||||||
@ -731,7 +733,7 @@ Include in the `extraSecretMounts` configuration flag:
|
|||||||
This example uses a CSI driver e.g. retrieving secrets using [Azure Key Vault Provider](https://github.com/Azure/secrets-store-csi-driver-provider-azure)
|
This example uses a CSI driver e.g. retrieving secrets using [Azure Key Vault Provider](https://github.com/Azure/secrets-store-csi-driver-provider-azure)
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- extraSecretMounts:
|
extraSecretMounts:
|
||||||
- name: secrets-store-inline
|
- name: secrets-store-inline
|
||||||
mountPath: /run/secrets
|
mountPath: /run/secrets
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
global:
|
||||||
|
environment: prod
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
hosts:
|
||||||
|
- monitoring-{{ .Values.global.environment }}.example.com
|
@ -68,7 +68,7 @@ Common labels
|
|||||||
helm.sh/chart: {{ include "grafana.chart" . }}
|
helm.sh/chart: {{ include "grafana.chart" . }}
|
||||||
{{ include "grafana.selectorLabels" . }}
|
{{ include "grafana.selectorLabels" . }}
|
||||||
{{- if or .Chart.AppVersion .Values.image.tag }}
|
{{- if or .Chart.AppVersion .Values.image.tag }}
|
||||||
app.kubernetes.io/version: {{ mustRegexReplaceAllLiteral "@sha.*" .Values.image.tag "" | default .Chart.AppVersion | quote }}
|
app.kubernetes.io/version: {{ mustRegexReplaceAllLiteral "@sha.*" .Values.image.tag "" | default .Chart.AppVersion | trunc 63 | trimSuffix "-" | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
{{- with .Values.extraLabels }}
|
{{- with .Values.extraLabels }}
|
||||||
@ -91,7 +91,7 @@ Common labels
|
|||||||
helm.sh/chart: {{ include "grafana.chart" . }}
|
helm.sh/chart: {{ include "grafana.chart" . }}
|
||||||
{{ include "grafana.imageRenderer.selectorLabels" . }}
|
{{ include "grafana.imageRenderer.selectorLabels" . }}
|
||||||
{{- if or .Chart.AppVersion .Values.image.tag }}
|
{{- if or .Chart.AppVersion .Values.image.tag }}
|
||||||
app.kubernetes.io/version: {{ mustRegexReplaceAllLiteral "@sha.*" .Values.image.tag "" | default .Chart.AppVersion | quote }}
|
app.kubernetes.io/version: {{ mustRegexReplaceAllLiteral "@sha.*" .Values.image.tag "" | default .Chart.AppVersion | trunc 63 | trimSuffix "-" | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -1059,9 +1059,17 @@ containers:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.imageRenderer.enabled }}
|
{{- if .Values.imageRenderer.enabled }}
|
||||||
- name: GF_RENDERING_SERVER_URL
|
- name: GF_RENDERING_SERVER_URL
|
||||||
|
{{- if .Values.imageRenderer.serverURL }}
|
||||||
|
value: {{ .Values.imageRenderer.serverURL | quote }}
|
||||||
|
{{- else }}
|
||||||
value: http://{{ include "grafana.fullname" . }}-image-renderer.{{ include "grafana.namespace" . }}:{{ .Values.imageRenderer.service.port }}/render
|
value: http://{{ include "grafana.fullname" . }}-image-renderer.{{ include "grafana.namespace" . }}:{{ .Values.imageRenderer.service.port }}/render
|
||||||
|
{{- end }}
|
||||||
- name: GF_RENDERING_CALLBACK_URL
|
- name: GF_RENDERING_CALLBACK_URL
|
||||||
|
{{- if .Values.imageRenderer.renderingCallbackURL }}
|
||||||
|
value: {{ .Values.imageRenderer.renderingCallbackURL | quote }}
|
||||||
|
{{- else }}
|
||||||
value: {{ .Values.imageRenderer.grafanaProtocol }}://{{ include "grafana.fullname" . }}.{{ include "grafana.namespace" . }}:{{ .Values.service.port }}/{{ .Values.imageRenderer.grafanaSubPath }}
|
value: {{ .Values.imageRenderer.grafanaProtocol }}://{{ include "grafana.fullname" . }}.{{ include "grafana.namespace" . }}:{{ .Values.service.port }}/{{ .Values.imageRenderer.grafanaSubPath }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- name: GF_PATHS_DATA
|
- name: GF_PATHS_DATA
|
||||||
value: {{ (get .Values "grafana.ini").paths.data }}
|
value: {{ (get .Values "grafana.ini").paths.data }}
|
||||||
@ -1156,6 +1164,9 @@ volumes:
|
|||||||
- name: {{ tpl .name $root }}
|
- name: {{ tpl .name $root }}
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ tpl .configMap $root }}
|
name: {{ tpl .configMap $root }}
|
||||||
|
{{- with .optional }}
|
||||||
|
optional: {{ . }}
|
||||||
|
{{- end }}
|
||||||
{{- with .items }}
|
{{- with .items }}
|
||||||
items:
|
items:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
@ -1261,6 +1272,9 @@ volumes:
|
|||||||
secret:
|
secret:
|
||||||
secretName: {{ .secretName }}
|
secretName: {{ .secretName }}
|
||||||
defaultMode: {{ .defaultMode }}
|
defaultMode: {{ .defaultMode }}
|
||||||
|
{{- with .optional }}
|
||||||
|
optional: {{ . }}
|
||||||
|
{{- end }}
|
||||||
{{- with .items }}
|
{{- with .items }}
|
||||||
items:
|
items:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
|
@ -9,9 +9,6 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
{{- include "grafana.labels" $ | nindent 4 }}
|
{{- include "grafana.labels" $ | nindent 4 }}
|
||||||
dashboard-provider: {{ $provider }}
|
dashboard-provider: {{ $provider }}
|
||||||
{{- if $.Values.sidecar.dashboards.enabled }}
|
|
||||||
{{ $.Values.sidecar.dashboards.label }}: {{ $.Values.sidecar.dashboards.labelValue | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if $dashboards }}
|
{{- if $dashboards }}
|
||||||
data:
|
data:
|
||||||
{{- $dashboardFound := false }}
|
{{- $dashboardFound := false }}
|
||||||
|
@ -14,7 +14,7 @@ metadata:
|
|||||||
{{- toYaml . | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
{{- if and (not .Values.autoscaling.enabled) (.Values.replicas) }}
|
{{- if (not .Values.autoscaling.enabled) }}
|
||||||
replicas: {{ .Values.replicas }}
|
replicas: {{ .Values.replicas }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
|
revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) (eq .Values.persistence.type "pvc")}}
|
{{- if and (not .Values.useStatefulSet) .Values.persistence.enabled (not .Values.persistence.existingClaim) (eq .Values.persistence.type "pvc")}}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
|
@ -39,7 +39,9 @@ spec:
|
|||||||
{{- include "grafana.pod" . | nindent 6 }}
|
{{- include "grafana.pod" . | nindent 6 }}
|
||||||
{{- if .Values.persistence.enabled}}
|
{{- if .Values.persistence.enabled}}
|
||||||
volumeClaimTemplates:
|
volumeClaimTemplates:
|
||||||
- metadata:
|
- apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
name: storage
|
name: storage
|
||||||
spec:
|
spec:
|
||||||
accessModes: {{ .Values.persistence.accessModes }}
|
accessModes: {{ .Values.persistence.accessModes }}
|
||||||
|
@ -5,7 +5,7 @@ metadata:
|
|||||||
name: {{ include "grafana.fullname" . }}-test
|
name: {{ include "grafana.fullname" . }}-test
|
||||||
namespace: {{ include "grafana.namespace" . }}
|
namespace: {{ include "grafana.namespace" . }}
|
||||||
annotations:
|
annotations:
|
||||||
"helm.sh/hook": test-success
|
"helm.sh/hook": test
|
||||||
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
||||||
labels:
|
labels:
|
||||||
{{- include "grafana.labels" . | nindent 4 }}
|
{{- include "grafana.labels" . | nindent 4 }}
|
||||||
|
@ -4,7 +4,7 @@ kind: PodSecurityPolicy
|
|||||||
metadata:
|
metadata:
|
||||||
name: {{ include "grafana.fullname" . }}-test
|
name: {{ include "grafana.fullname" . }}-test
|
||||||
annotations:
|
annotations:
|
||||||
"helm.sh/hook": test-success
|
"helm.sh/hook": test
|
||||||
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
||||||
labels:
|
labels:
|
||||||
{{- include "grafana.labels" . | nindent 4 }}
|
{{- include "grafana.labels" . | nindent 4 }}
|
||||||
|
@ -5,7 +5,7 @@ metadata:
|
|||||||
name: {{ include "grafana.fullname" . }}-test
|
name: {{ include "grafana.fullname" . }}-test
|
||||||
namespace: {{ include "grafana.namespace" . }}
|
namespace: {{ include "grafana.namespace" . }}
|
||||||
annotations:
|
annotations:
|
||||||
"helm.sh/hook": test-success
|
"helm.sh/hook": test
|
||||||
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
||||||
labels:
|
labels:
|
||||||
{{- include "grafana.labels" . | nindent 4 }}
|
{{- include "grafana.labels" . | nindent 4 }}
|
||||||
|
@ -5,7 +5,7 @@ metadata:
|
|||||||
name: {{ include "grafana.fullname" . }}-test
|
name: {{ include "grafana.fullname" . }}-test
|
||||||
namespace: {{ include "grafana.namespace" . }}
|
namespace: {{ include "grafana.namespace" . }}
|
||||||
annotations:
|
annotations:
|
||||||
"helm.sh/hook": test-success
|
"helm.sh/hook": test
|
||||||
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
||||||
labels:
|
labels:
|
||||||
{{- include "grafana.labels" . | nindent 4 }}
|
{{- include "grafana.labels" . | nindent 4 }}
|
||||||
|
@ -7,6 +7,6 @@ metadata:
|
|||||||
name: {{ include "grafana.serviceAccountNameTest" . }}
|
name: {{ include "grafana.serviceAccountNameTest" . }}
|
||||||
namespace: {{ include "grafana.namespace" . }}
|
namespace: {{ include "grafana.namespace" . }}
|
||||||
annotations:
|
annotations:
|
||||||
"helm.sh/hook": test-success
|
"helm.sh/hook": test
|
||||||
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -7,7 +7,7 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
{{- include "grafana.labels" . | nindent 4 }}
|
{{- include "grafana.labels" . | nindent 4 }}
|
||||||
annotations:
|
annotations:
|
||||||
"helm.sh/hook": test-success
|
"helm.sh/hook": test
|
||||||
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|
||||||
namespace: {{ include "grafana.namespace" . }}
|
namespace: {{ include "grafana.namespace" . }}
|
||||||
spec:
|
spec:
|
||||||
|
@ -164,6 +164,7 @@ extraConfigmapMounts: []
|
|||||||
# subPath: certificates.crt # (optional)
|
# subPath: certificates.crt # (optional)
|
||||||
# configMap: certs-configmap
|
# configMap: certs-configmap
|
||||||
# readOnly: true
|
# readOnly: true
|
||||||
|
# optional: false
|
||||||
|
|
||||||
|
|
||||||
extraEmptyDirMounts: []
|
extraEmptyDirMounts: []
|
||||||
@ -366,7 +367,7 @@ extraContainerVolumes: []
|
|||||||
# emptyDir: {}
|
# emptyDir: {}
|
||||||
|
|
||||||
## Enable persistence using Persistent Volume Claims
|
## Enable persistence using Persistent Volume Claims
|
||||||
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
|
||||||
##
|
##
|
||||||
persistence:
|
persistence:
|
||||||
type: pvc
|
type: pvc
|
||||||
@ -539,6 +540,7 @@ extraSecretMounts: []
|
|||||||
# mountPath: /etc/secrets
|
# mountPath: /etc/secrets
|
||||||
# secretName: grafana-secret-files
|
# secretName: grafana-secret-files
|
||||||
# readOnly: true
|
# readOnly: true
|
||||||
|
# optional: false
|
||||||
# subPath: ""
|
# subPath: ""
|
||||||
#
|
#
|
||||||
# for AWS EKS (cloudwatch) use the following (see also instruction in env: above)
|
# for AWS EKS (cloudwatch) use the following (see also instruction in env: above)
|
||||||
@ -795,7 +797,7 @@ grafana.ini:
|
|||||||
grafana_net:
|
grafana_net:
|
||||||
url: https://grafana.net
|
url: https://grafana.net
|
||||||
server:
|
server:
|
||||||
domain: "{{ if (and .Values.ingress.enabled .Values.ingress.hosts) }}{{ .Values.ingress.hosts | first }}{{ else }}''{{ end }}"
|
domain: "{{ if (and .Values.ingress.enabled .Values.ingress.hosts) }}{{ tpl (.Values.ingress.hosts | first) . }}{{ else }}''{{ end }}"
|
||||||
## grafana Authentication can be enabled with the following values on grafana.ini
|
## grafana Authentication can be enabled with the following values on grafana.ini
|
||||||
# server:
|
# server:
|
||||||
# The full public facing url you use in browser, used for redirects and emails
|
# The full public facing url you use in browser, used for redirects and emails
|
||||||
@ -859,7 +861,7 @@ sidecar:
|
|||||||
# -- The Docker registry
|
# -- The Docker registry
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
repository: kiwigrid/k8s-sidecar
|
repository: kiwigrid/k8s-sidecar
|
||||||
tag: 1.26.1
|
tag: 1.28.0
|
||||||
sha: ""
|
sha: ""
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
resources: {}
|
resources: {}
|
||||||
@ -1158,6 +1160,10 @@ imageRenderer:
|
|||||||
targetCPU: "60"
|
targetCPU: "60"
|
||||||
targetMemory: ""
|
targetMemory: ""
|
||||||
behavior: {}
|
behavior: {}
|
||||||
|
# The url of remote image renderer if it is not in the same namespace with the grafana instance
|
||||||
|
serverURL: ""
|
||||||
|
# The callback url of grafana instances if it is not in the same namespace with the remote image renderer
|
||||||
|
renderingCallbackURL: ""
|
||||||
image:
|
image:
|
||||||
# -- The Docker registry
|
# -- The Docker registry
|
||||||
registry: docker.io
|
registry: docker.io
|
||||||
|
@ -4,7 +4,7 @@ annotations:
|
|||||||
- name: Chart Source
|
- name: Chart Source
|
||||||
url: https://github.com/prometheus-community/helm-charts
|
url: https://github.com/prometheus-community/helm-charts
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 2.12.0
|
appVersion: 2.13.0
|
||||||
description: Install kube-state-metrics to generate and expose cluster-level metrics
|
description: Install kube-state-metrics to generate and expose cluster-level metrics
|
||||||
home: https://github.com/kubernetes/kube-state-metrics/
|
home: https://github.com/kubernetes/kube-state-metrics/
|
||||||
keywords:
|
keywords:
|
||||||
@ -23,4 +23,4 @@ name: kube-state-metrics
|
|||||||
sources:
|
sources:
|
||||||
- https://github.com/kubernetes/kube-state-metrics/
|
- https://github.com/kubernetes/kube-state-metrics/
|
||||||
type: application
|
type: application
|
||||||
version: 5.21.0
|
version: 5.26.0
|
||||||
|
@ -66,7 +66,7 @@ app.kubernetes.io/part-of: {{ template "kube-state-metrics.name" . }}
|
|||||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.customLabels }}
|
{{- if .Values.customLabels }}
|
||||||
{{ toYaml .Values.customLabels }}
|
{{ tpl (toYaml .Values.customLabels) . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.releaseLabel }}
|
{{- if .Values.releaseLabel }}
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
|
@ -31,9 +31,12 @@ spec:
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
{{- include "kube-state-metrics.labels" . | indent 8 }}
|
{{- include "kube-state-metrics.labels" . | indent 8 }}
|
||||||
|
{{- with .Values.podLabels }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.podAnnotations }}
|
{{- if .Values.podAnnotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml .Values.podAnnotations | indent 8 }}
|
{{ toYaml .Values.podAnnotations | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
automountServiceAccountToken: {{ .Values.automountServiceAccountToken }}
|
automountServiceAccountToken: {{ .Values.automountServiceAccountToken }}
|
||||||
@ -147,6 +150,26 @@ spec:
|
|||||||
name: "metrics"
|
name: "metrics"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.startupProbe.enabled }}
|
||||||
|
startupProbe:
|
||||||
|
failureThreshold: {{ .Values.startupProbe.failureThreshold }}
|
||||||
|
httpGet:
|
||||||
|
{{- if .Values.hostNetwork }}
|
||||||
|
host: 127.0.0.1
|
||||||
|
{{- end }}
|
||||||
|
httpHeaders:
|
||||||
|
{{- range $_, $header := .Values.startupProbe.httpGet.httpHeaders }}
|
||||||
|
- name: {{ $header.name }}
|
||||||
|
value: {{ $header.value }}
|
||||||
|
{{- end }}
|
||||||
|
path: /healthz
|
||||||
|
port: {{ $servicePort }}
|
||||||
|
scheme: {{ upper .Values.startupProbe.httpGet.scheme }}
|
||||||
|
initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.startupProbe.periodSeconds }}
|
||||||
|
successThreshold: {{ .Values.startupProbe.successThreshold }}
|
||||||
|
timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }}
|
||||||
|
{{- end }}
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
||||||
httpGet:
|
httpGet:
|
||||||
@ -158,7 +181,7 @@ spec:
|
|||||||
- name: {{ $header.name }}
|
- name: {{ $header.name }}
|
||||||
value: {{ $header.value }}
|
value: {{ $header.value }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
path: /healthz
|
path: /livez
|
||||||
port: {{ $servicePort }}
|
port: {{ $servicePort }}
|
||||||
scheme: {{ upper .Values.livenessProbe.httpGet.scheme }}
|
scheme: {{ upper .Values.livenessProbe.httpGet.scheme }}
|
||||||
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
|
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
|
||||||
@ -176,7 +199,7 @@ spec:
|
|||||||
- name: {{ $header.name }}
|
- name: {{ $header.name }}
|
||||||
value: {{ $header.value }}
|
value: {{ $header.value }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
path: /
|
path: /readyz
|
||||||
port: {{ $servicePort }}
|
port: {{ $servicePort }}
|
||||||
scheme: {{ upper .Values.readinessProbe.httpGet.scheme }}
|
scheme: {{ upper .Values.readinessProbe.httpGet.scheme }}
|
||||||
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
|
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
|
||||||
@ -278,13 +301,13 @@ spec:
|
|||||||
affinity:
|
affinity:
|
||||||
{{ toYaml .Values.affinity | indent 8 }}
|
{{ toYaml .Values.affinity | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.nodeSelector }}
|
{{- with .Values.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ toYaml .Values.nodeSelector | indent 8 }}
|
{{ tpl (toYaml .) $ | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.tolerations }}
|
{{- with .Values.tolerations }}
|
||||||
tolerations:
|
tolerations:
|
||||||
{{ toYaml .Values.tolerations | indent 8 }}
|
{{ tpl (toYaml .) $ | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.topologySpreadConstraints }}
|
{{- if .Values.topologySpreadConstraints }}
|
||||||
topologySpreadConstraints:
|
topologySpreadConstraints:
|
||||||
|
@ -314,6 +314,9 @@ annotations: {}
|
|||||||
# Annotations to be added to the pod
|
# Annotations to be added to the pod
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
|
|
||||||
|
# Labels to be added to the pod
|
||||||
|
podLabels: {}
|
||||||
|
|
||||||
## Assign a PriorityClassName to pods if set
|
## Assign a PriorityClassName to pods if set
|
||||||
# priorityClassName: ""
|
# priorityClassName: ""
|
||||||
|
|
||||||
@ -497,6 +500,23 @@ initContainers: []
|
|||||||
# - name: crd-sidecar
|
# - name: crd-sidecar
|
||||||
# image: kiwigrid/k8s-sidecar:latest
|
# image: kiwigrid/k8s-sidecar:latest
|
||||||
|
|
||||||
|
## Settings for startup, liveness and readiness probes
|
||||||
|
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
||||||
|
##
|
||||||
|
|
||||||
|
## Startup probe can optionally be enabled.
|
||||||
|
##
|
||||||
|
startupProbe:
|
||||||
|
enabled: false
|
||||||
|
failureThreshold: 3
|
||||||
|
httpGet:
|
||||||
|
httpHeaders: []
|
||||||
|
scheme: http
|
||||||
|
initialDelaySeconds: 0
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 5
|
||||||
|
|
||||||
## Liveness probe
|
## Liveness probe
|
||||||
##
|
##
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
|
@ -4,7 +4,7 @@ annotations:
|
|||||||
- name: Chart Source
|
- name: Chart Source
|
||||||
url: https://github.com/prometheus-community/helm-charts
|
url: https://github.com/prometheus-community/helm-charts
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 1.8.1
|
appVersion: 1.8.2
|
||||||
description: A Helm chart for prometheus node-exporter
|
description: A Helm chart for prometheus node-exporter
|
||||||
home: https://github.com/prometheus/node_exporter/
|
home: https://github.com/prometheus/node_exporter/
|
||||||
keywords:
|
keywords:
|
||||||
@ -22,4 +22,4 @@ name: prometheus-node-exporter
|
|||||||
sources:
|
sources:
|
||||||
- https://github.com/prometheus/node_exporter/
|
- https://github.com/prometheus/node_exporter/
|
||||||
type: application
|
type: application
|
||||||
version: 4.37.0
|
version: 4.39.0
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
commonLabels:
|
||||||
|
foo: bar
|
||||||
|
baz: '{{ include "prometheus-node-exporter.fullname" . }}'
|
@ -0,0 +1 @@
|
|||||||
|
## Default values test case
|
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
podLabels:
|
||||||
|
foo: bar
|
||||||
|
baz: '{{ .Chart.AppVersion }}'
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
service:
|
||||||
|
labels:
|
||||||
|
foo: bar
|
||||||
|
baz: quux
|
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
service:
|
||||||
|
servicePort: 80
|
@ -43,8 +43,8 @@ app.kubernetes.io/part-of: {{ include "prometheus-node-exporter.name" . }}
|
|||||||
{{- with .Chart.AppVersion }}
|
{{- with .Chart.AppVersion }}
|
||||||
app.kubernetes.io/version: {{ . | quote }}
|
app.kubernetes.io/version: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.podLabels }}
|
{{- with .Values.commonLabels }}
|
||||||
{{ toYaml . }}
|
{{ tpl (toYaml .) $ }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.releaseLabel }}
|
{{- if .Values.releaseLabel }}
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
|
@ -26,6 +26,9 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "prometheus-node-exporter.labels" . | nindent 8 }}
|
{{- include "prometheus-node-exporter.labels" . | nindent 8 }}
|
||||||
|
{{- with .Values.podLabels }}
|
||||||
|
{{- tpl (toYaml .) $ | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
automountServiceAccountToken: {{ ternary true false (or .Values.serviceAccount.automountServiceAccountToken .Values.kubeRBACProxy.enabled) }}
|
automountServiceAccountToken: {{ ternary true false (or .Values.serviceAccount.automountServiceAccountToken .Values.kubeRBACProxy.enabled) }}
|
||||||
{{- with .Values.securityContext }}
|
{{- with .Values.securityContext }}
|
||||||
@ -245,6 +248,7 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
hostNetwork: {{ .Values.hostNetwork }}
|
hostNetwork: {{ .Values.hostNetwork }}
|
||||||
hostPID: {{ .Values.hostPID }}
|
hostPID: {{ .Values.hostPID }}
|
||||||
|
hostIPC: {{ .Values.hostIPC }}
|
||||||
{{- with .Values.affinity }}
|
{{- with .Values.affinity }}
|
||||||
affinity:
|
affinity:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
|
@ -6,6 +6,9 @@ metadata:
|
|||||||
namespace: {{ include "prometheus-node-exporter.namespace" . }}
|
namespace: {{ include "prometheus-node-exporter.namespace" . }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "prometheus-node-exporter.labels" $ | nindent 4 }}
|
{{- include "prometheus-node-exporter.labels" $ | nindent 4 }}
|
||||||
|
{{- with .Values.service.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.service.annotations }}
|
{{- with .Values.service.annotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
@ -23,7 +26,7 @@ spec:
|
|||||||
clusterIP: "{{ .Values.service.clusterIP }}"
|
clusterIP: "{{ .Values.service.clusterIP }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
ports:
|
ports:
|
||||||
- port: {{ .Values.service.port }}
|
- port: {{ .Values.service.servicePort | default .Values.service.port }}
|
||||||
{{- if ( and (eq .Values.service.type "NodePort" ) (not (empty .Values.service.nodePort)) ) }}
|
{{- if ( and (eq .Values.service.type "NodePort" ) (not (empty .Values.service.nodePort)) ) }}
|
||||||
nodePort: {{ .Values.service.nodePort }}
|
nodePort: {{ .Values.service.nodePort }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -80,25 +80,49 @@ kubeRBACProxy:
|
|||||||
# limits:
|
# limits:
|
||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 64Mi
|
# memory: 64Mi
|
||||||
# requests:
|
# requests:
|
||||||
# cpu: 10m
|
# cpu: 10m
|
||||||
# memory: 32Mi
|
# memory: 32Mi
|
||||||
|
|
||||||
|
## Service configuration
|
||||||
service:
|
service:
|
||||||
|
## Creating a service is enabled by default
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
## Service type
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
|
## IP address for type ClusterIP
|
||||||
clusterIP: ""
|
clusterIP: ""
|
||||||
|
## Default service port. Sets the port of the exposed container as well (NE or kubeRBACProxy).
|
||||||
|
## Use "servicePort" below if changing the service port only is desired.
|
||||||
port: 9100
|
port: 9100
|
||||||
|
## Service port. Use this field if you wish to set a different service port
|
||||||
|
## without changing the container port ("port" above).
|
||||||
|
servicePort: ""
|
||||||
|
## Targeted port in the pod. Must refer to an open container port ("port" or "portName").
|
||||||
|
## (IntOrString)
|
||||||
targetPort: 9100
|
targetPort: 9100
|
||||||
nodePort:
|
## Name of the service port. Sets the port name of the main container (NE) as well.
|
||||||
portName: metrics
|
portName: metrics
|
||||||
|
## Port number for service type NodePort
|
||||||
|
nodePort: null
|
||||||
|
|
||||||
|
## If true, node exporter will listen on all interfaces
|
||||||
listenOnAllInterfaces: true
|
listenOnAllInterfaces: true
|
||||||
|
|
||||||
|
## Additional annotations and labels for the service
|
||||||
annotations:
|
annotations:
|
||||||
prometheus.io/scrape: "true"
|
prometheus.io/scrape: "true"
|
||||||
|
labels: {}
|
||||||
|
|
||||||
|
## Dual stack settings for the service
|
||||||
|
## https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
|
||||||
ipDualStack:
|
ipDualStack:
|
||||||
enabled: false
|
enabled: false
|
||||||
ipFamilies: ["IPv6", "IPv4"]
|
ipFamilies: ["IPv6", "IPv4"]
|
||||||
ipFamilyPolicy: "PreferDualStack"
|
ipFamilyPolicy: "PreferDualStack"
|
||||||
|
|
||||||
|
## External traffic policy setting (Cluster, Local)
|
||||||
externalTrafficPolicy: ""
|
externalTrafficPolicy: ""
|
||||||
|
|
||||||
# Set a NetworkPolicy with:
|
# Set a NetworkPolicy with:
|
||||||
@ -322,6 +346,9 @@ hostNetwork: true
|
|||||||
# Share the host process ID namespace
|
# Share the host process ID namespace
|
||||||
hostPID: true
|
hostPID: true
|
||||||
|
|
||||||
|
# Share the host ipc namespace
|
||||||
|
hostIPC: false
|
||||||
|
|
||||||
# Mount the node's root file system (/) at /host/root in the container
|
# Mount the node's root file system (/) at /host/root in the container
|
||||||
hostRootFsMount:
|
hostRootFsMount:
|
||||||
enabled: true
|
enabled: true
|
||||||
@ -359,9 +386,12 @@ podAnnotations:
|
|||||||
# Fix for very slow GKE cluster upgrades
|
# Fix for very slow GKE cluster upgrades
|
||||||
cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
|
cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
|
||||||
|
|
||||||
# Extra labels to be added to node exporter pods
|
# Extra labels to add to node exporter pods (can be templated)
|
||||||
podLabels: {}
|
podLabels: {}
|
||||||
|
|
||||||
|
## Extra labels to attach to all resources (can be templated)
|
||||||
|
commonLabels: {}
|
||||||
|
|
||||||
# Annotations to be added to node exporter daemonset
|
# Annotations to be added to node exporter daemonset
|
||||||
daemonsetAnnotations: {}
|
daemonsetAnnotations: {}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 0.25.1
|
appVersion: 0.29.1
|
||||||
description: A Helm chart for prometheus windows-exporter
|
description: A Helm chart for prometheus windows-exporter
|
||||||
home: https://github.com/prometheus-community/windows_exporter/
|
home: https://github.com/prometheus-community/windows_exporter/
|
||||||
keywords:
|
keywords:
|
||||||
@ -14,4 +14,4 @@ name: prometheus-windows-exporter
|
|||||||
sources:
|
sources:
|
||||||
- https://github.com/prometheus-community/windows_exporter/
|
- https://github.com/prometheus-community/windows_exporter/
|
||||||
type: application
|
type: application
|
||||||
version: 0.3.1
|
version: 0.7.0
|
||||||
|
@ -75,7 +75,7 @@ spec:
|
|||||||
- name: {{ $header.name }}
|
- name: {{ $header.name }}
|
||||||
value: {{ $header.value }}
|
value: {{ $header.value }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
path: /
|
path: {{ .Values.livenessProbe.httpGet.path }}
|
||||||
port: {{ .Values.service.port }}
|
port: {{ .Values.service.port }}
|
||||||
scheme: {{ upper .Values.livenessProbe.httpGet.scheme }}
|
scheme: {{ upper .Values.livenessProbe.httpGet.scheme }}
|
||||||
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
|
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
|
||||||
@ -90,7 +90,7 @@ spec:
|
|||||||
- name: {{ $header.name }}
|
- name: {{ $header.name }}
|
||||||
value: {{ $header.value }}
|
value: {{ $header.value }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
path: /
|
path: {{ .Values.readinessProbe.httpGet.path }}
|
||||||
port: {{ .Values.service.port }}
|
port: {{ .Values.service.port }}
|
||||||
scheme: {{ upper .Values.readinessProbe.httpGet.scheme }}
|
scheme: {{ upper .Values.readinessProbe.httpGet.scheme }}
|
||||||
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
|
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
|
||||||
|
@ -350,6 +350,7 @@ livenessProbe:
|
|||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
httpGet:
|
httpGet:
|
||||||
httpHeaders: []
|
httpHeaders: []
|
||||||
|
path: /health
|
||||||
scheme: http
|
scheme: http
|
||||||
initialDelaySeconds: 0
|
initialDelaySeconds: 0
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
@ -362,6 +363,7 @@ readinessProbe:
|
|||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
httpGet:
|
httpGet:
|
||||||
httpHeaders: []
|
httpHeaders: []
|
||||||
|
path: /health
|
||||||
scheme: http
|
scheme: http
|
||||||
initialDelaySeconds: 0
|
initialDelaySeconds: 0
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
|
@ -178,6 +178,9 @@ spec:
|
|||||||
{{- if .Values.alertmanager.alertmanagerSpec.clusterPushpullInterval }}
|
{{- if .Values.alertmanager.alertmanagerSpec.clusterPushpullInterval }}
|
||||||
clusterPushpullInterval: {{ .Values.alertmanager.alertmanagerSpec.clusterPushpullInterval }}
|
clusterPushpullInterval: {{ .Values.alertmanager.alertmanagerSpec.clusterPushpullInterval }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.alertmanager.alertmanagerSpec.clusterLabel }}
|
||||||
|
clusterLabel: {{ .Values.alertmanager.alertmanagerSpec.clusterLabel }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.alertmanager.alertmanagerSpec.forceEnableClusterMode }}
|
{{- if .Values.alertmanager.alertmanagerSpec.forceEnableClusterMode }}
|
||||||
forceEnableClusterMode: {{ .Values.alertmanager.alertmanagerSpec.forceEnableClusterMode }}
|
forceEnableClusterMode: {{ .Values.alertmanager.alertmanagerSpec.forceEnableClusterMode }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -18,6 +18,9 @@ data:
|
|||||||
{{- if .Values.grafana.deleteDatasources }}
|
{{- if .Values.grafana.deleteDatasources }}
|
||||||
deleteDatasources:
|
deleteDatasources:
|
||||||
{{ tpl (toYaml .Values.grafana.deleteDatasources | indent 6) . }}
|
{{ tpl (toYaml .Values.grafana.deleteDatasources | indent 6) . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.grafana.prune }}
|
||||||
|
prune: {{ .Values.grafana.prune }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
datasources:
|
datasources:
|
||||||
{{- $scrapeInterval := .Values.grafana.sidecar.datasources.defaultDatasourceScrapeInterval | default .Values.prometheus.prometheusSpec.scrapeInterval | default "30s" }}
|
{{- $scrapeInterval := .Values.grafana.sidecar.datasources.defaultDatasourceScrapeInterval | default .Values.prometheus.prometheusSpec.scrapeInterval | default "30s" }}
|
||||||
|
@ -4,3 +4,10 @@
|
|||||||
app.kubernetes.io/name: {{ template "kube-prometheus-stack.name" . }}-prometheus-operator
|
app.kubernetes.io/name: {{ template "kube-prometheus-stack.name" . }}-prometheus-operator
|
||||||
app.kubernetes.io/component: prometheus-operator-webhook
|
app.kubernetes.io/component: prometheus-operator-webhook
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{- define "kube-prometheus-stack.prometheus-operator-webhook.annotations" }}
|
||||||
|
{{- if .Values.prometheusOperator.admissionWebhooks.certManager.enabled }}
|
||||||
|
certmanager.k8s.io/inject-ca-from: {{ printf "%s/%s-admission" (include "kube-prometheus-stack.namespace" .) (include "kube-prometheus-stack.fullname" .) | quote }}
|
||||||
|
cert-manager.io/inject-ca-from: {{ printf "%s/%s-admission" (include "kube-prometheus-stack.namespace" .) (include "kube-prometheus-stack.fullname" .) | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
@ -8,6 +8,9 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
app: {{ template "kube-prometheus-stack.name" . }}-operator
|
||||||
{{- include "kube-prometheus-stack.prometheus-operator-webhook.labels" . | indent 4 }}
|
{{- include "kube-prometheus-stack.prometheus-operator-webhook.labels" . | indent 4 }}
|
||||||
|
{{- with .Values.prometheusOperator.admissionWebhooks.deployment.serviceAccount.annotations }}
|
||||||
|
annotations: {{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.global.imagePullSecrets }}
|
{{- if .Values.global.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{ include "kube-prometheus-stack.imagePullSecrets" . | trim | indent 2 }}
|
{{ include "kube-prometheus-stack.imagePullSecrets" . | trim | indent 2 }}
|
||||||
|
@ -10,6 +10,9 @@ metadata:
|
|||||||
labels:
|
labels:
|
||||||
app: {{ template "kube-prometheus-stack.name" $ }}-admission
|
app: {{ template "kube-prometheus-stack.name" $ }}-admission
|
||||||
{{- include "kube-prometheus-stack.prometheus-operator-webhook.labels" $ | nindent 4 }}
|
{{- include "kube-prometheus-stack.prometheus-operator-webhook.labels" $ | nindent 4 }}
|
||||||
|
{{- with .Values.prometheusOperator.admissionWebhooks.patch.serviceAccount.annotations }}
|
||||||
|
annotations: {{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
automountServiceAccountToken: {{ .Values.prometheusOperator.admissionWebhooks.patch.serviceAccount.automountServiceAccountToken }}
|
automountServiceAccountToken: {{ .Values.prometheusOperator.admissionWebhooks.patch.serviceAccount.automountServiceAccountToken }}
|
||||||
{{- if .Values.global.imagePullSecrets }}
|
{{- if .Values.global.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
|
@ -3,11 +3,11 @@ apiVersion: admissionregistration.k8s.io/v1
|
|||||||
kind: MutatingWebhookConfiguration
|
kind: MutatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ template "kube-prometheus-stack.fullname" . }}-admission
|
name: {{ template "kube-prometheus-stack.fullname" . }}-admission
|
||||||
{{- if .Values.prometheusOperator.admissionWebhooks.certManager.enabled }}
|
|
||||||
annotations:
|
annotations:
|
||||||
certmanager.k8s.io/inject-ca-from: {{ printf "%s/%s-admission" (include "kube-prometheus-stack.namespace" .) (include "kube-prometheus-stack.fullname" .) | quote }}
|
{{- include "kube-prometheus-stack.prometheus-operator-webhook.annotations" $ | trim |nindent 4 }}
|
||||||
cert-manager.io/inject-ca-from: {{ printf "%s/%s-admission" (include "kube-prometheus-stack.namespace" .) (include "kube-prometheus-stack.fullname" .) | quote }}
|
{{- with .Values.prometheusOperator.admissionWebhooks.mutatingWebhookConfiguration.annotations }}
|
||||||
{{- end }}
|
{{- toYaml . | nindent 4}}
|
||||||
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
app: {{ template "kube-prometheus-stack.name" $ }}-admission
|
app: {{ template "kube-prometheus-stack.name" $ }}-admission
|
||||||
{{- include "kube-prometheus-stack.prometheus-operator-webhook.labels" $ | nindent 4 }}
|
{{- include "kube-prometheus-stack.prometheus-operator-webhook.labels" $ | nindent 4 }}
|
||||||
|
@ -3,11 +3,11 @@ apiVersion: admissionregistration.k8s.io/v1
|
|||||||
kind: ValidatingWebhookConfiguration
|
kind: ValidatingWebhookConfiguration
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ template "kube-prometheus-stack.fullname" . }}-admission
|
name: {{ template "kube-prometheus-stack.fullname" . }}-admission
|
||||||
{{- if .Values.prometheusOperator.admissionWebhooks.certManager.enabled }}
|
|
||||||
annotations:
|
annotations:
|
||||||
certmanager.k8s.io/inject-ca-from: {{ printf "%s/%s-admission" (include "kube-prometheus-stack.namespace" .) (include "kube-prometheus-stack.fullname" .) | quote }}
|
{{- include "kube-prometheus-stack.prometheus-operator-webhook.annotations" $ | trim | nindent 4 }}
|
||||||
cert-manager.io/inject-ca-from: {{ printf "%s/%s-admission" (include "kube-prometheus-stack.namespace" .) (include "kube-prometheus-stack.fullname" .) | quote }}
|
{{- with .Values.prometheusOperator.admissionWebhooks.validatingWebhookConfiguration.annotations }}
|
||||||
{{- end }}
|
{{- toYaml . | nindent 4}}
|
||||||
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
app: {{ template "kube-prometheus-stack.name" $ }}-admission
|
app: {{ template "kube-prometheus-stack.name" $ }}-admission
|
||||||
{{- include "kube-prometheus-stack.prometheus-operator-webhook.labels" $ | nindent 4 }}
|
{{- include "kube-prometheus-stack.prometheus-operator-webhook.labels" $ | nindent 4 }}
|
||||||
|
@ -103,7 +103,10 @@ rules:
|
|||||||
- endpointslices
|
- endpointslices
|
||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
|
- create
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
|
- update
|
||||||
|
- delete
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -63,6 +63,8 @@ spec:
|
|||||||
- --kubelet-selector={{ .Values.prometheusOperator.kubeletService.selector }}
|
- --kubelet-selector={{ .Values.prometheusOperator.kubeletService.selector }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
- --kubelet-endpoints={{ .Values.prometheusOperator.kubeletEndpointsEnabled }}
|
||||||
|
- --kubelet-endpointslice={{ .Values.prometheusOperator.kubeletEndpointSliceEnabled }}
|
||||||
{{- if .Values.prometheusOperator.logFormat }}
|
{{- if .Values.prometheusOperator.logFormat }}
|
||||||
- --log-format={{ .Values.prometheusOperator.logFormat }}
|
- --log-format={{ .Values.prometheusOperator.logFormat }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@ -167,6 +169,30 @@ spec:
|
|||||||
{{- with .Values.prometheusOperator.extraVolumeMounts }}
|
{{- with .Values.prometheusOperator.extraVolumeMounts }}
|
||||||
{{- toYaml . | nindent 12 }}
|
{{- toYaml . | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.prometheusOperator.readinessProbe.enabled }}
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: {{ .Values.prometheusOperator.tls.enabled | ternary "https" "http" }}
|
||||||
|
scheme: {{ .Values.prometheusOperator.tls.enabled | ternary "HTTPS" "HTTP" }}
|
||||||
|
initialDelaySeconds: {{ .Values.prometheusOperator.readinessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.prometheusOperator.readinessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.prometheusOperator.readinessProbe.timeoutSeconds }}
|
||||||
|
successThreshold: {{ .Values.prometheusOperator.readinessProbe.successThreshold }}
|
||||||
|
failureThreshold: {{ .Values.prometheusOperator.readinessProbe.failureThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheusOperator.livenessProbe.enabled }}
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: {{ .Values.prometheusOperator.tls.enabled | ternary "https" "http" }}
|
||||||
|
scheme: {{ .Values.prometheusOperator.tls.enabled | ternary "HTTPS" "HTTP" }}
|
||||||
|
initialDelaySeconds: {{ .Values.prometheusOperator.livenessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .Values.prometheusOperator.livenessProbe.periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.prometheusOperator.livenessProbe.timeoutSeconds }}
|
||||||
|
successThreshold: {{ .Values.prometheusOperator.livenessProbe.successThreshold }}
|
||||||
|
failureThreshold: {{ .Values.prometheusOperator.livenessProbe.failureThreshold }}
|
||||||
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
{{- if .Values.prometheusOperator.tls.enabled }}
|
{{- if .Values.prometheusOperator.tls.enabled }}
|
||||||
- name: tls-secret
|
- name: tls-secret
|
||||||
|
@ -6,6 +6,9 @@ metadata:
|
|||||||
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
||||||
labels:
|
labels:
|
||||||
{{- include "kube-prometheus-stack.prometheus-operator.labels" . | nindent 4 }}
|
{{- include "kube-prometheus-stack.prometheus-operator.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.prometheusOperator.serviceAccount.annotations }}
|
||||||
|
annotations: {{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
automountServiceAccountToken: {{ .Values.prometheusOperator.serviceAccount.automountServiceAccountToken }}
|
automountServiceAccountToken: {{ .Values.prometheusOperator.serviceAccount.automountServiceAccountToken }}
|
||||||
{{- if .Values.global.imagePullSecrets }}
|
{{- if .Values.global.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
|
@ -8,8 +8,12 @@ rules:
|
|||||||
- "config-reloaders"
|
- "config-reloaders"
|
||||||
- "etcd"
|
- "etcd"
|
||||||
- "general.rules"
|
- "general.rules"
|
||||||
|
- "k8s.rules.container-cpu-limits"
|
||||||
|
- "k8s.rules.container-cpu-requests"
|
||||||
- "k8s.rules.container-cpu-usage-seconds-total"
|
- "k8s.rules.container-cpu-usage-seconds-total"
|
||||||
- "k8s.rules.container-memory-cache"
|
- "k8s.rules.container-memory-cache"
|
||||||
|
- "k8s.rules.container-memory-limits"
|
||||||
|
- "k8s.rules.container-memory-requests"
|
||||||
- "k8s.rules.container-memory-rss"
|
- "k8s.rules.container-memory-rss"
|
||||||
- "k8s.rules.container-memory-swap"
|
- "k8s.rules.container-memory-swap"
|
||||||
- "k8s.rules.container-memory-working-set-bytes"
|
- "k8s.rules.container-memory-working-set-bytes"
|
||||||
|
@ -17,6 +17,10 @@ rules:
|
|||||||
- endpoints
|
- endpoints
|
||||||
- pods
|
- pods
|
||||||
verbs: ["get", "list", "watch"]
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: ["discovery.k8s.io"]
|
||||||
|
resources:
|
||||||
|
- endpointslices
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- "networking.k8s.io"
|
- "networking.k8s.io"
|
||||||
resources:
|
resources:
|
||||||
|
@ -470,6 +470,9 @@ spec:
|
|||||||
tracingConfig:
|
tracingConfig:
|
||||||
{{ toYaml .Values.prometheus.prometheusSpec.tracingConfig | indent 4 }}
|
{{ toYaml .Values.prometheus.prometheusSpec.tracingConfig | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.prometheusSpec.serviceDiscoveryRole }}
|
||||||
|
serviceDiscoveryRole: {{ .Values.prometheus.prometheusSpec.serviceDiscoveryRole }}
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.prometheus.prometheusSpec.additionalConfig }}
|
{{- with .Values.prometheus.prometheusSpec.additionalConfig }}
|
||||||
{{- tpl (toYaml .) $ | nindent 2 }}
|
{{- tpl (toYaml .) $ | nindent 2 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -9,9 +9,9 @@ metadata:
|
|||||||
app.kubernetes.io/name: {{ template "kube-prometheus-stack.name" . }}-prometheus
|
app.kubernetes.io/name: {{ template "kube-prometheus-stack.name" . }}-prometheus
|
||||||
app.kubernetes.io/component: prometheus
|
app.kubernetes.io/component: prometheus
|
||||||
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
||||||
{{- if .Values.prometheus.serviceAccount.annotations }}
|
{{- with .Values.prometheus.serviceAccount.annotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml .Values.prometheus.serviceAccount.annotations | indent 4 }}
|
{{ tpl (toYaml .) $ | indent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
automountServiceAccountToken: {{ .Values.prometheus.serviceAccount.automountServiceAccountToken }}
|
automountServiceAccountToken: {{ .Values.prometheus.serviceAccount.automountServiceAccountToken }}
|
||||||
{{- if .Values.global.imagePullSecrets }}
|
{{- if .Values.global.imagePullSecrets }}
|
||||||
|
@ -193,6 +193,10 @@ spec:
|
|||||||
{{- with .Values.thanosRuler.thanosRulerSpec.additionalConfig }}
|
{{- with .Values.thanosRuler.thanosRulerSpec.additionalConfig }}
|
||||||
{{- tpl (toYaml .) $ | nindent 2 }}
|
{{- tpl (toYaml .) $ | nindent 2 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.thanosRuler.thanosRulerSpec.web }}
|
||||||
|
web:
|
||||||
|
{{ toYaml .Values.thanosRuler.thanosRulerSpec.web | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.thanosRuler.thanosRulerSpec.additionalConfigString }}
|
{{- with .Values.thanosRuler.thanosRulerSpec.additionalConfigString }}
|
||||||
{{- tpl . $ | nindent 2 }}
|
{{- tpl . $ | nindent 2 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -174,6 +174,10 @@ defaultRules:
|
|||||||
## Prefix for runbook URLs. Use this to override the first part of the runbookURLs that is common to all rules.
|
## Prefix for runbook URLs. Use this to override the first part of the runbookURLs that is common to all rules.
|
||||||
runbookUrl: "https://runbooks.prometheus-operator.dev/runbooks"
|
runbookUrl: "https://runbooks.prometheus-operator.dev/runbooks"
|
||||||
|
|
||||||
|
node:
|
||||||
|
fsSelector: 'fstype!=""'
|
||||||
|
# fsSelector: 'fstype=~"ext[234]|btrfs|xfs|zfs"'
|
||||||
|
|
||||||
## Disabled PrometheusRule alerts
|
## Disabled PrometheusRule alerts
|
||||||
disabled: {}
|
disabled: {}
|
||||||
# KubeAPIDown: true
|
# KubeAPIDown: true
|
||||||
@ -763,7 +767,7 @@ alertmanager:
|
|||||||
# resources:
|
# resources:
|
||||||
# requests:
|
# requests:
|
||||||
# storage: 50Gi
|
# storage: 50Gi
|
||||||
# selector: {}
|
# selector: {}
|
||||||
|
|
||||||
|
|
||||||
## 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. string false
|
## 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. string false
|
||||||
@ -919,6 +923,9 @@ alertmanager:
|
|||||||
## Needs to be specified as GoDuration, a time duration that can be parsed by Go’s time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s)
|
## Needs to be specified as GoDuration, a time duration that can be parsed by Go’s time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s)
|
||||||
clusterPushpullInterval: ""
|
clusterPushpullInterval: ""
|
||||||
|
|
||||||
|
## clusterLabel defines the identifier that uniquely identifies the Alertmanager cluster.
|
||||||
|
clusterLabel: ""
|
||||||
|
|
||||||
## ForceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica.
|
## ForceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica.
|
||||||
## Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each.
|
## Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each.
|
||||||
forceEnableClusterMode: false
|
forceEnableClusterMode: false
|
||||||
@ -1116,7 +1123,8 @@ grafana:
|
|||||||
# - name: prometheus-sample
|
# - name: prometheus-sample
|
||||||
# access: proxy
|
# access: proxy
|
||||||
# basicAuth: true
|
# basicAuth: true
|
||||||
# basicAuthPassword: pass
|
# secureJsonData:
|
||||||
|
# basicAuthPassword: pass
|
||||||
# basicAuthUser: daco
|
# basicAuthUser: daco
|
||||||
# editable: false
|
# editable: false
|
||||||
# jsonData:
|
# jsonData:
|
||||||
@ -1126,6 +1134,11 @@ grafana:
|
|||||||
# url: https://{{ printf "%s-prometheus.svc" .Release.Name }}:9090
|
# url: https://{{ printf "%s-prometheus.svc" .Release.Name }}:9090
|
||||||
# version: 1
|
# version: 1
|
||||||
|
|
||||||
|
# Flag to mark provisioned data sources for deletion if they are no longer configured.
|
||||||
|
# It takes no effect if data sources are already listed in the deleteDatasources section.
|
||||||
|
# ref: https://grafana.com/docs/grafana/latest/administration/provisioning/#example-data-source-config-file
|
||||||
|
prune: false
|
||||||
|
|
||||||
## Passed to grafana subchart and used by servicemonitor below
|
## Passed to grafana subchart and used by servicemonitor below
|
||||||
##
|
##
|
||||||
service:
|
service:
|
||||||
@ -2127,6 +2140,9 @@ prometheus-node-exporter:
|
|||||||
enabled: false
|
enabled: false
|
||||||
ipFamilies: ["IPv6", "IPv4"]
|
ipFamilies: ["IPv6", "IPv4"]
|
||||||
ipFamilyPolicy: "PreferDualStack"
|
ipFamilyPolicy: "PreferDualStack"
|
||||||
|
labels:
|
||||||
|
jobLabel: node-exporter
|
||||||
|
|
||||||
prometheus:
|
prometheus:
|
||||||
monitor:
|
monitor:
|
||||||
enabled: true
|
enabled: true
|
||||||
@ -2215,6 +2231,25 @@ prometheusOperator:
|
|||||||
# The default webhook port is 10250 in order to work out-of-the-box in GKE private clusters and avoid adding firewall rules.
|
# The default webhook port is 10250 in order to work out-of-the-box in GKE private clusters and avoid adding firewall rules.
|
||||||
internalPort: 10250
|
internalPort: 10250
|
||||||
|
|
||||||
|
## Liveness probe for the prometheusOperator deployment
|
||||||
|
##
|
||||||
|
livenessProbe:
|
||||||
|
enabled: true
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 0
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
## Readiness probe for the prometheusOperator deployment
|
||||||
|
##
|
||||||
|
readinessProbe:
|
||||||
|
enabled: true
|
||||||
|
failureThreshold: 3
|
||||||
|
initialDelaySeconds: 0
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
|
||||||
## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted
|
## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted
|
||||||
## rules from making their way into prometheus and potentially preventing the container from starting
|
## rules from making their way into prometheus and potentially preventing the container from starting
|
||||||
admissionWebhooks:
|
admissionWebhooks:
|
||||||
@ -2238,6 +2273,13 @@ prometheusOperator:
|
|||||||
namespaceSelector: {}
|
namespaceSelector: {}
|
||||||
objectSelector: {}
|
objectSelector: {}
|
||||||
|
|
||||||
|
mutatingWebhookConfiguration:
|
||||||
|
annotations: {}
|
||||||
|
# argocd.argoproj.io/hook: PreSync
|
||||||
|
|
||||||
|
validatingWebhookConfiguration:
|
||||||
|
annotations: {}
|
||||||
|
# argocd.argoproj.io/hook: PreSync
|
||||||
|
|
||||||
deployment:
|
deployment:
|
||||||
enabled: false
|
enabled: false
|
||||||
@ -2272,6 +2314,7 @@ prometheusOperator:
|
|||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
|
||||||
##
|
##
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
|
annotations: {}
|
||||||
automountServiceAccountToken: false
|
automountServiceAccountToken: false
|
||||||
create: true
|
create: true
|
||||||
name: ""
|
name: ""
|
||||||
@ -2493,6 +2536,7 @@ prometheusOperator:
|
|||||||
##
|
##
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
create: true
|
create: true
|
||||||
|
annotations: {}
|
||||||
automountServiceAccountToken: true
|
automountServiceAccountToken: true
|
||||||
|
|
||||||
# Security context for create job container
|
# Security context for create job container
|
||||||
@ -2574,6 +2618,7 @@ prometheusOperator:
|
|||||||
create: true
|
create: true
|
||||||
name: ""
|
name: ""
|
||||||
automountServiceAccountToken: true
|
automountServiceAccountToken: true
|
||||||
|
annotations: {}
|
||||||
|
|
||||||
## Configuration for Prometheus operator service
|
## Configuration for Prometheus operator service
|
||||||
##
|
##
|
||||||
@ -2654,6 +2699,11 @@ prometheusOperator:
|
|||||||
## Use '{{ template "kube-prometheus-stack.fullname" . }}-kubelet' by default
|
## Use '{{ template "kube-prometheus-stack.fullname" . }}-kubelet' by default
|
||||||
name: ""
|
name: ""
|
||||||
|
|
||||||
|
## Create Endpoints objects for kubelet targets.
|
||||||
|
kubeletEndpointsEnabled: true
|
||||||
|
## Create EndpointSlice objects for kubelet targets.
|
||||||
|
kubeletEndpointSliceEnabled: false
|
||||||
|
|
||||||
## Create a servicemonitor for the operator
|
## Create a servicemonitor for the operator
|
||||||
##
|
##
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
@ -2868,7 +2918,7 @@ prometheusOperator:
|
|||||||
thanosImage:
|
thanosImage:
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
repository: thanos/thanos
|
repository: thanos/thanos
|
||||||
tag: v0.35.1
|
tag: v0.36.1
|
||||||
sha: ""
|
sha: ""
|
||||||
|
|
||||||
## Set a Label Selector to filter watched prometheus and prometheusAgent
|
## Set a Label Selector to filter watched prometheus and prometheusAgent
|
||||||
@ -3458,7 +3508,7 @@ prometheus:
|
|||||||
image:
|
image:
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
repository: prometheus/prometheus
|
repository: prometheus/prometheus
|
||||||
tag: v2.53.1
|
tag: v2.54.1
|
||||||
sha: ""
|
sha: ""
|
||||||
|
|
||||||
## Tolerations for use with node taints
|
## Tolerations for use with node taints
|
||||||
@ -4085,6 +4135,10 @@ prometheus:
|
|||||||
## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#prometheustracingconfig
|
## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#prometheustracingconfig
|
||||||
tracingConfig: {}
|
tracingConfig: {}
|
||||||
|
|
||||||
|
## Defines the service discovery role used to discover targets from ServiceMonitor objects and Alertmanager endpoints.
|
||||||
|
## If set, the value should be either “Endpoints” or “EndpointSlice”. If unset, the operator assumes the “Endpoints” role.
|
||||||
|
serviceDiscoveryRole: ""
|
||||||
|
|
||||||
## Additional configuration which is not covered by the properties above. (passed through tpl)
|
## Additional configuration which is not covered by the properties above. (passed through tpl)
|
||||||
additionalConfig: {}
|
additionalConfig: {}
|
||||||
|
|
||||||
@ -4446,7 +4500,7 @@ thanosRuler:
|
|||||||
image:
|
image:
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
repository: thanos/thanos
|
repository: thanos/thanos
|
||||||
tag: v0.35.1
|
tag: v0.36.1
|
||||||
sha: ""
|
sha: ""
|
||||||
|
|
||||||
## Namespaces to be selected for PrometheusRules discovery.
|
## Namespaces to be selected for PrometheusRules discovery.
|
||||||
@ -4521,7 +4575,7 @@ thanosRuler:
|
|||||||
existingSecret: {}
|
existingSecret: {}
|
||||||
# name: ""
|
# name: ""
|
||||||
# key: ""
|
# key: ""
|
||||||
# will render render alertmanagersConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when alertmanagersConfig.existingSecret is set
|
# will render alertmanagersConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when alertmanagersConfig.existingSecret is set
|
||||||
# https://thanos.io/tip/components/rule.md/#alertmanager
|
# https://thanos.io/tip/components/rule.md/#alertmanager
|
||||||
secret: {}
|
secret: {}
|
||||||
# alertmanagers:
|
# alertmanagers:
|
||||||
@ -4713,6 +4767,10 @@ thanosRuler:
|
|||||||
##
|
##
|
||||||
portName: "web"
|
portName: "web"
|
||||||
|
|
||||||
|
## WebTLSConfig defines the TLS parameters for HTTPS
|
||||||
|
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosrulerwebspec
|
||||||
|
web: {}
|
||||||
|
|
||||||
## Additional configuration which is not covered by the properties above. (passed through tpl)
|
## Additional configuration which is not covered by the properties above. (passed through tpl)
|
||||||
additionalConfig: {}
|
additionalConfig: {}
|
||||||
|
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -17,7 +30,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"content": "The SLO (service level objective) and other metrics displayed on this dashboard are for informational purposes only."
|
"content": "The SLO (service level objective) and other metrics displayed on this dashboard are for informational purposes only."
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"title": "Notice",
|
"title": "Notice",
|
||||||
"type": "text"
|
"type": "text"
|
||||||
},
|
},
|
||||||
@ -41,7 +54,7 @@
|
|||||||
},
|
},
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"interval": "1m",
|
"interval": "1m",
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -87,7 +100,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -121,7 +134,7 @@
|
|||||||
},
|
},
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"interval": "1m",
|
"interval": "1m",
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -219,7 +232,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -263,7 +276,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -306,7 +319,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -340,7 +353,7 @@
|
|||||||
},
|
},
|
||||||
"id": 8,
|
"id": 8,
|
||||||
"interval": "1m",
|
"interval": "1m",
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -438,7 +451,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -482,7 +495,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -525,7 +538,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -568,7 +581,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -611,7 +624,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -657,7 +670,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -699,7 +712,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -742,7 +755,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -784,7 +797,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -33,14 +46,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -79,14 +92,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -150,14 +163,14 @@
|
|||||||
"y": 9
|
"y": 9
|
||||||
},
|
},
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -166,7 +179,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -175,7 +188,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "avg by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "avg by (namespace) (\n rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -184,7 +197,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "avg by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "avg by (namespace) (\n rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -193,7 +206,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -202,7 +215,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -211,7 +224,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -220,7 +233,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
@ -315,14 +328,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "avg by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "avg by (namespace) (\n rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -361,14 +374,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "avg by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "avg by (namespace) (\n rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -407,14 +420,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -453,14 +466,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -499,14 +512,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -545,14 +558,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -591,14 +604,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -637,14 +650,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (namespace) (\n rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -683,14 +696,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (instance) (rate(node_netstat_Tcp_RetransSegs{cluster=\"$cluster\"}[$__rate_interval]) / rate(node_netstat_Tcp_OutSegs{cluster=\"$cluster\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (instance) (\n rate(node_netstat_Tcp_RetransSegs{cluster=\"$cluster\"}[$__rate_interval]) / rate(node_netstat_Tcp_OutSegs{cluster=\"$cluster\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -729,14 +742,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (instance) (rate(node_netstat_TcpExt_TCPSynRetrans{cluster=\"$cluster\"}[$__rate_interval]) / rate(node_netstat_Tcp_RetransSegs{cluster=\"$cluster\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (instance) (\n rate(node_netstat_TcpExt_TCPSynRetrans{cluster=\"$cluster\"}[$__rate_interval]) / rate(node_netstat_Tcp_RetransSegs{cluster=\"$cluster\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -22,7 +35,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -73,7 +86,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -124,7 +137,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -175,7 +188,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -226,7 +239,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -301,7 +314,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -352,7 +365,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -403,7 +416,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -454,7 +467,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -505,7 +518,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -8,7 +21,7 @@
|
|||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
"unit": "none"
|
"unit": "percentunit"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gridPos": {
|
"gridPos": {
|
||||||
@ -22,7 +35,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -57,7 +70,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -92,7 +105,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -127,7 +140,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -162,7 +175,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -197,7 +210,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -247,7 +260,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -306,7 +319,7 @@
|
|||||||
"y": 12
|
"y": 12
|
||||||
},
|
},
|
||||||
"id": 8,
|
"id": 8,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -463,7 +476,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -558,7 +571,7 @@
|
|||||||
"y": 24
|
"y": 24
|
||||||
},
|
},
|
||||||
"id": 10,
|
"id": 10,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -735,7 +748,7 @@
|
|||||||
"y": 30
|
"y": 30
|
||||||
},
|
},
|
||||||
"id": 11,
|
"id": 11,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -879,7 +892,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -930,7 +943,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -981,7 +994,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1032,7 +1045,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1083,7 +1096,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1134,7 +1147,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1185,7 +1198,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1236,7 +1249,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1287,7 +1300,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1338,7 +1351,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1409,7 +1422,7 @@
|
|||||||
"y": 96
|
"y": 96
|
||||||
},
|
},
|
||||||
"id": 22,
|
"id": 22,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -22,7 +35,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -57,7 +70,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -92,7 +105,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -127,7 +140,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -229,7 +242,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -244,7 +257,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.cpu\"})",
|
"expr": "scalar(max(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.cpu\"}))",
|
||||||
"legendFormat": "quota - requests"
|
"legendFormat": "quota - requests"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -252,7 +265,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.cpu\"})",
|
"expr": "scalar(max(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.cpu\"}))",
|
||||||
"legendFormat": "quota - limits"
|
"legendFormat": "quota - limits"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -304,7 +317,7 @@
|
|||||||
"y": 14
|
"y": 14
|
||||||
},
|
},
|
||||||
"id": 6,
|
"id": 6,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -487,7 +500,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -502,7 +515,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.memory\"})",
|
"expr": "scalar(max(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.memory\"}))",
|
||||||
"legendFormat": "quota - requests"
|
"legendFormat": "quota - requests"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -510,7 +523,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.memory\"})",
|
"expr": "scalar(max(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.memory\"}))",
|
||||||
"legendFormat": "quota - limits"
|
"legendFormat": "quota - limits"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -565,7 +578,7 @@
|
|||||||
"y": 28
|
"y": 28
|
||||||
},
|
},
|
||||||
"id": 8,
|
"id": 8,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -755,7 +768,7 @@
|
|||||||
"y": 35
|
"y": 35
|
||||||
},
|
},
|
||||||
"id": 9,
|
"id": 9,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -899,7 +912,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -950,7 +963,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1001,7 +1014,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1052,7 +1065,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1103,7 +1116,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1154,7 +1167,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1205,7 +1218,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1256,7 +1269,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1327,7 +1340,7 @@
|
|||||||
"y": 70
|
"y": 70
|
||||||
},
|
},
|
||||||
"id": 18,
|
"id": 18,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -81,14 +94,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(kube_node_status_capacity{cluster=\"$cluster\", node=~\"$node\", resource=\"cpu\"})",
|
"expr": "sum(kube_node_status_capacity{cluster=\"$cluster\", job=\"kube-state-metrics\", node=~\"$node\", resource=\"cpu\"})",
|
||||||
"legendFormat": "max capacity"
|
"legendFormat": "max capacity"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -148,7 +161,7 @@
|
|||||||
"y": 6
|
"y": 6
|
||||||
},
|
},
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -310,14 +323,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(kube_node_status_capacity{cluster=\"$cluster\", node=~\"$node\", resource=\"memory\"})",
|
"expr": "sum(kube_node_status_capacity{cluster=\"$cluster\", job=\"kube-state-metrics\", node=~\"$node\", resource=\"memory\"})",
|
||||||
"legendFormat": "max capacity"
|
"legendFormat": "max capacity"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -380,7 +393,7 @@
|
|||||||
"y": 18
|
"y": 18
|
||||||
},
|
},
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -89,7 +102,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -195,7 +208,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -237,7 +250,7 @@
|
|||||||
"y": 14
|
"y": 14
|
||||||
},
|
},
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -420,7 +433,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -481,7 +494,7 @@
|
|||||||
"y": 28
|
"y": 28
|
||||||
},
|
},
|
||||||
"id": 5,
|
"id": 5,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -651,7 +664,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -702,7 +715,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -753,7 +766,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -804,7 +817,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -855,7 +868,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -906,7 +919,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -957,7 +970,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1016,7 +1029,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1075,7 +1088,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1126,7 +1139,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1180,7 +1193,7 @@
|
|||||||
"y": 70
|
"y": 70
|
||||||
},
|
},
|
||||||
"id": 16,
|
"id": 16,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -37,7 +50,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -96,7 +109,7 @@
|
|||||||
"y": 7
|
"y": 7
|
||||||
},
|
},
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -227,7 +240,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -289,7 +302,7 @@
|
|||||||
"y": 21
|
"y": 21
|
||||||
},
|
},
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -440,7 +453,7 @@
|
|||||||
"y": 28
|
"y": 28
|
||||||
},
|
},
|
||||||
"id": 5,
|
"id": 5,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -584,7 +597,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -635,7 +648,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -686,7 +699,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -737,7 +750,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -788,7 +801,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -839,7 +852,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -890,7 +903,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -941,7 +954,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -89,7 +102,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -104,7 +117,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.cpu\"})",
|
"expr": "scalar(max(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=~\"requests.cpu|cpu\"}))",
|
||||||
"legendFormat": "quota - requests"
|
"legendFormat": "quota - requests"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -112,7 +125,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.cpu\"})",
|
"expr": "scalar(max(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=~\"limits.cpu\"}))",
|
||||||
"legendFormat": "quota - limits"
|
"legendFormat": "quota - limits"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -176,7 +189,7 @@
|
|||||||
"y": 7
|
"y": 7
|
||||||
},
|
},
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -384,7 +397,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -399,7 +412,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.memory\"})",
|
"expr": "scalar(max(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=~\"requests.memory|memory\"}))",
|
||||||
"legendFormat": "quota - requests"
|
"legendFormat": "quota - requests"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -407,7 +420,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.memory\"})",
|
"expr": "scalar(max(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=~\"limits.memory\"}))",
|
||||||
"legendFormat": "quota - limits"
|
"legendFormat": "quota - limits"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -474,7 +487,7 @@
|
|||||||
"y": 21
|
"y": 21
|
||||||
},
|
},
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -650,7 +663,7 @@
|
|||||||
"y": 28
|
"y": 28
|
||||||
},
|
},
|
||||||
"id": 5,
|
"id": 5,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -794,7 +807,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -845,7 +858,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -896,7 +909,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -947,7 +960,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -998,7 +1011,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1049,7 +1062,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1100,7 +1113,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1151,7 +1164,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -22,7 +35,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -57,7 +70,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -92,7 +105,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -127,7 +140,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -162,7 +175,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -197,7 +210,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -248,7 +261,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -299,7 +312,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -350,7 +363,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -401,7 +414,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -460,7 +473,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -519,7 +532,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -570,7 +583,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -621,7 +634,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -672,7 +685,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -723,7 +736,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -774,7 +787,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -825,7 +838,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -876,7 +889,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -927,7 +940,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1002,7 +1015,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1053,7 +1066,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1104,7 +1117,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -1155,7 +1168,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -40,14 +53,14 @@
|
|||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum (\n rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -93,14 +106,14 @@
|
|||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum (\n rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -164,14 +177,14 @@
|
|||||||
"y": 9
|
"y": 9
|
||||||
},
|
},
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -180,7 +193,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -189,7 +202,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -198,7 +211,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -207,7 +220,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
},
|
},
|
||||||
@ -216,7 +229,7 @@
|
|||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true
|
"instant": true
|
||||||
}
|
}
|
||||||
@ -303,14 +316,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -349,14 +362,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -395,14 +408,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -441,14 +454,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -487,14 +500,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum by (namespace) (rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"})",
|
"expr": "sum by (pod) (\n rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -533,14 +546,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]) * on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}) by (pod)",
|
"expr": "sum by (pod) (\n rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n * on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n)\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -26,14 +39,14 @@
|
|||||||
"displayMode": "basic",
|
"displayMode": "basic",
|
||||||
"showUnfilled": false
|
"showUnfilled": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -65,14 +78,14 @@
|
|||||||
"displayMode": "basic",
|
"displayMode": "basic",
|
||||||
"showUnfilled": false
|
"showUnfilled": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -136,7 +149,7 @@
|
|||||||
"y": 9
|
"y": 9
|
||||||
},
|
},
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -322,14 +335,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -373,14 +386,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -424,14 +437,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(avg(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(avg(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -475,14 +488,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(avg(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(avg(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -526,14 +539,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -577,14 +590,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -628,14 +641,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(sum(rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(sum(rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -679,14 +692,14 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${datasource}"
|
"uid": "${datasource}"
|
||||||
},
|
},
|
||||||
"expr": "sort_desc(sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) kube_pod_info{host_network=\"false\"}\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
"expr": "sort_desc(sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (cluster,namespace,pod) group_left ()\n topk by (cluster,namespace,pod) (\n 1,\n max by (cluster,namespace,pod) (kube_pod_info{host_network=\"false\"})\n )\n* on (cluster,namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
|
||||||
"legendFormat": "__auto"
|
"legendFormat": "__auto"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -37,7 +50,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -99,7 +112,7 @@
|
|||||||
},
|
},
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"interval": "1m",
|
"interval": "1m",
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -149,7 +162,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -211,7 +224,7 @@
|
|||||||
},
|
},
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"interval": "1m",
|
"interval": "1m",
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -40,7 +53,7 @@
|
|||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -93,7 +106,7 @@
|
|||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -139,7 +152,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -185,7 +198,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -231,7 +244,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -277,7 +290,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -323,7 +336,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -369,7 +382,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -22,7 +35,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -73,7 +86,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -124,7 +137,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -175,7 +188,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -226,7 +239,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -277,7 +290,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -352,7 +365,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -403,7 +416,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -454,7 +467,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -505,7 +518,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -556,7 +569,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -22,7 +35,7 @@
|
|||||||
"options": {
|
"options": {
|
||||||
"colorMode": "none"
|
"colorMode": "none"
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -73,7 +86,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -148,7 +161,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -223,7 +236,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -298,7 +311,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -349,7 +362,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -400,7 +413,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -451,7 +464,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -502,7 +515,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
{
|
{
|
||||||
"editable": false,
|
"editable": false,
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"asDropdown": true,
|
||||||
|
"includeVars": true,
|
||||||
|
"keepTime": true,
|
||||||
|
"tags": [
|
||||||
|
"kubernetes"
|
||||||
|
],
|
||||||
|
"targetBlank": false,
|
||||||
|
"title": "Kubernetes",
|
||||||
|
"type": "dashboards"
|
||||||
|
}
|
||||||
|
],
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -26,7 +39,7 @@
|
|||||||
"displayMode": "basic",
|
"displayMode": "basic",
|
||||||
"showUnfilled": false
|
"showUnfilled": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -65,7 +78,7 @@
|
|||||||
"displayMode": "basic",
|
"displayMode": "basic",
|
||||||
"showUnfilled": false
|
"showUnfilled": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -104,7 +117,7 @@
|
|||||||
"displayMode": "basic",
|
"displayMode": "basic",
|
||||||
"showUnfilled": false
|
"showUnfilled": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -143,7 +156,7 @@
|
|||||||
"displayMode": "basic",
|
"displayMode": "basic",
|
||||||
"showUnfilled": false
|
"showUnfilled": false
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -194,7 +207,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -245,7 +258,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -296,7 +309,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -347,7 +360,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -398,7 +411,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
@ -449,7 +462,7 @@
|
|||||||
"mode": "single"
|
"mode": "single"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pluginVersion": "v11.0.0",
|
"pluginVersion": "v11.1.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
"subdir": "contrib/mixin"
|
"subdir": "contrib/mixin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "010d462c0ff03a70f5c5fd32efbb76ad4c1e7c81",
|
"version": "55de68d18c63fde8747f2cd9f7c2ff242346f756",
|
||||||
"sum": "IXI3LQIT9NmTPJAk8WLUJd5+qZfcGpeNCyWIK7oEpws="
|
"sum": "IXI3LQIT9NmTPJAk8WLUJd5+qZfcGpeNCyWIK7oEpws="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -58,8 +58,8 @@
|
|||||||
"subdir": "gen/grafonnet-latest"
|
"subdir": "gen/grafonnet-latest"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "5a66b0f6a0f4f7caec754dd39a0e263b56a0f90a",
|
"version": "1ce5aec95ce32336fe47c8881361847c475b5254",
|
||||||
"sum": "eyuJ0jOXeA4MrobbNgU4/v5a7ASDHslHZ0eS6hDdWoI="
|
"sum": "64fMUPI3frXGj4X1FqFd1t7r04w3CUSmXaDcJ23EYbQ="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
@ -68,18 +68,18 @@
|
|||||||
"subdir": "gen/grafonnet-v10.0.0"
|
"subdir": "gen/grafonnet-v10.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "5a66b0f6a0f4f7caec754dd39a0e263b56a0f90a",
|
"version": "1ce5aec95ce32336fe47c8881361847c475b5254",
|
||||||
"sum": "xdcrJPJlpkq4+5LpGwN4tPAuheNNLXZjE6tDcyvFjr0="
|
"sum": "xdcrJPJlpkq4+5LpGwN4tPAuheNNLXZjE6tDcyvFjr0="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
"git": {
|
"git": {
|
||||||
"remote": "https://github.com/grafana/grafonnet.git",
|
"remote": "https://github.com/grafana/grafonnet.git",
|
||||||
"subdir": "gen/grafonnet-v11.0.0"
|
"subdir": "gen/grafonnet-v11.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "5a66b0f6a0f4f7caec754dd39a0e263b56a0f90a",
|
"version": "1ce5aec95ce32336fe47c8881361847c475b5254",
|
||||||
"sum": "Fuo+qTZZzF+sHDBWX/8fkPsUmwW6qhH8hRVz45HznfI="
|
"sum": "41w7p/rwrNsITqNHMXtGSJAfAyKmnflg6rFhKBduUxM="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
@ -88,8 +88,8 @@
|
|||||||
"subdir": "grafana-builder"
|
"subdir": "grafana-builder"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "02db06f540086fa3f67d487bd01e1b314853fb8f",
|
"version": "3805ed5082bb7db66cd75badb57a673c965aa24c",
|
||||||
"sum": "B49EzIY2WZsFxNMJcgRxE/gcZ9ltnS8pkOOV6Q5qioc="
|
"sum": "yxqWcq/N3E/a/XreeU6EuE6X7kYPnG0AspAQFKOjASo="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
@ -118,8 +118,8 @@
|
|||||||
"subdir": ""
|
"subdir": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "3dfa72d1d1ab31a686b1f52ec28bbf77c972bd23",
|
"version": "0348e09edc3961a29a55f199d1bf0060c847a608",
|
||||||
"sum": "7ufhpvzoDqAYLrfAsGkTAIRmu2yWQkmHukTE//jOsJU="
|
"sum": "kTZuZcE+pNw8ZVZECKxrZG4F9BS+ydWMcgACE9oUrRc="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
@ -128,8 +128,8 @@
|
|||||||
"subdir": "jsonnet/kube-state-metrics"
|
"subdir": "jsonnet/kube-state-metrics"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "38c268909335d243fc260ed4d6ce713db3265464",
|
"version": "9652c29fe6ac08a1cb76112061f7d1010319d634",
|
||||||
"sum": "pvInhJNQVDOcC3NGWRMKRIP954mAvLXCQpTlafIg7fA="
|
"sum": "lO7jUSzAIy8Yk9pOWJIWgPRhubkWzVh56W6wtYfbVH4="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
@ -138,7 +138,7 @@
|
|||||||
"subdir": "jsonnet/kube-state-metrics-mixin"
|
"subdir": "jsonnet/kube-state-metrics-mixin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "38c268909335d243fc260ed4d6ce713db3265464",
|
"version": "9652c29fe6ac08a1cb76112061f7d1010319d634",
|
||||||
"sum": "qclI7LwucTjBef3PkGBkKxF0mfZPbHnn4rlNWKGtR4c="
|
"sum": "qclI7LwucTjBef3PkGBkKxF0mfZPbHnn4rlNWKGtR4c="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -148,8 +148,8 @@
|
|||||||
"subdir": "jsonnet/kube-prometheus"
|
"subdir": "jsonnet/kube-prometheus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "defa2bd1e242519c62a5c2b3b786b1caa6d906d4",
|
"version": "a030693b39a019a7475f6fb918abd37cb6d9d1ba",
|
||||||
"sum": "INKeZ+QIIPImq+TrfHT8CpYdoRzzxRk0txG07XlOo/Q="
|
"sum": "NKlS33HxtOMyC2GWUlb9W2F4WBLMqBJMWNFRxVIMA/Y="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
@ -158,7 +158,7 @@
|
|||||||
"subdir": "jsonnet/mixin"
|
"subdir": "jsonnet/mixin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "609424db53853b992277b7a9a0e5cf59f4cc24f3",
|
"version": "94031224b1c186ff6671ec9f447716f748ac9d31",
|
||||||
"sum": "gi+knjdxs2T715iIQIntrimbHRgHnpM8IFBJDD1gYfs=",
|
"sum": "gi+knjdxs2T715iIQIntrimbHRgHnpM8IFBJDD1gYfs=",
|
||||||
"name": "prometheus-operator-mixin"
|
"name": "prometheus-operator-mixin"
|
||||||
},
|
},
|
||||||
@ -169,8 +169,8 @@
|
|||||||
"subdir": "jsonnet/prometheus-operator"
|
"subdir": "jsonnet/prometheus-operator"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "609424db53853b992277b7a9a0e5cf59f4cc24f3",
|
"version": "94031224b1c186ff6671ec9f447716f748ac9d31",
|
||||||
"sum": "z2/5LjQpWC7snhT+n/mtQqoy5986uI95sTqcKQziwGU="
|
"sum": "5G3bgQK3WFueFwjZDcTaI16cyf19rqxK+H1oGsiIgx0="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
@ -179,7 +179,7 @@
|
|||||||
"subdir": "doc/alertmanager-mixin"
|
"subdir": "doc/alertmanager-mixin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "eb8369ec510d76f63901379a8437c4b55885d6c5",
|
"version": "4fcb18ee41ecaff4ee1816ad363dc63fdf3583b9",
|
||||||
"sum": "IpF46ZXsm+0wJJAPtAre8+yxTNZA57mBqGpBP/r7/kw=",
|
"sum": "IpF46ZXsm+0wJJAPtAre8+yxTNZA57mBqGpBP/r7/kw=",
|
||||||
"name": "alertmanager"
|
"name": "alertmanager"
|
||||||
},
|
},
|
||||||
@ -190,8 +190,8 @@
|
|||||||
"subdir": "docs/node-mixin"
|
"subdir": "docs/node-mixin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "b9d0932179a0c5b3a8863f3d6cdafe8584cedc8e",
|
"version": "e6a9cfbdcdaa21bf9676c6cd37bef8160227f423",
|
||||||
"sum": "rhUvbqviGjQ2mwsRhHKMN0TiS3YvnYpUXHew3XlQ+Wg="
|
"sum": "cQCW+1N0Xae5yXecCWDK2oAlN0luBS/5GrwBYSlaFms="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
@ -200,7 +200,7 @@
|
|||||||
"subdir": "documentation/prometheus-mixin"
|
"subdir": "documentation/prometheus-mixin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "ac85bd47e1cfa0d63520e4c0b4e26900c42c326b",
|
"version": "6b36a5592a8f7e51f9801e5c8944ad9ca185e5cc",
|
||||||
"sum": "dYLcLzGH4yF3qB7OGC/7z4nqeTNjv42L7Q3BENU8XJI=",
|
"sum": "dYLcLzGH4yF3qB7OGC/7z4nqeTNjv42L7Q3BENU8XJI=",
|
||||||
"name": "prometheus"
|
"name": "prometheus"
|
||||||
},
|
},
|
||||||
@ -208,11 +208,11 @@
|
|||||||
"source": {
|
"source": {
|
||||||
"git": {
|
"git": {
|
||||||
"remote": "https://github.com/pyrra-dev/pyrra.git",
|
"remote": "https://github.com/pyrra-dev/pyrra.git",
|
||||||
"subdir": "config/crd/bases"
|
"subdir": "jsonnet/controller-gen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "551856d42dff02ec38c5b0ea6a2d99c4cb127e82",
|
"version": "d723f4d1a066dd657e9d09c46a158519dda0faa8",
|
||||||
"sum": "bY/Pcrrbynguq8/HaI88cQ3B2hLv/xc+76QILY7IL+g=",
|
"sum": "cxAPQovFkM16zNB5/94O+sk/n3SETk6ao6Oas2Sa6RE=",
|
||||||
"name": "pyrra"
|
"name": "pyrra"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -222,8 +222,8 @@
|
|||||||
"subdir": "mixin"
|
"subdir": "mixin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "35c0dbec856f97683a846e9c53f83156a3a44ff3",
|
"version": "7d95913c50e8999bce12089b582d33896b8475e1",
|
||||||
"sum": "HhSSbGGCNHCMy1ee5jElYDm0yS9Vesa7QB2/SHKdjsY=",
|
"sum": "ieCD4eMgGbOlrI8GmckGPHBGQDcLasE1rULYq56W/bs=",
|
||||||
"name": "thanos-mixin"
|
"name": "thanos-mixin"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
"app.kubernetes.io/component": "exporter",
|
"app.kubernetes.io/component": "exporter",
|
||||||
"app.kubernetes.io/name": "kube-state-metrics",
|
"app.kubernetes.io/name": "kube-state-metrics",
|
||||||
"app.kubernetes.io/part-of": "kube-prometheus",
|
"app.kubernetes.io/part-of": "kube-prometheus",
|
||||||
"app.kubernetes.io/version": "2.12.0",
|
"app.kubernetes.io/version": "2.13.0",
|
||||||
"prometheus": "k8s",
|
"prometheus": "k8s",
|
||||||
"role": "alert-rules"
|
"role": "alert-rules"
|
||||||
},
|
},
|
||||||
|
@ -114,7 +114,7 @@
|
|||||||
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubestatefulsetupdatenotrolledout",
|
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubestatefulsetupdatenotrolledout",
|
||||||
"summary": "StatefulSet update has not been rolled out."
|
"summary": "StatefulSet update has not been rolled out."
|
||||||
},
|
},
|
||||||
"expr": "(\n max by(namespace, statefulset) (\n kube_statefulset_status_current_revision{job=\"kube-state-metrics\"}\n unless\n kube_statefulset_status_update_revision{job=\"kube-state-metrics\"}\n )\n *\n (\n kube_statefulset_replicas{job=\"kube-state-metrics\"}\n !=\n kube_statefulset_status_replicas_updated{job=\"kube-state-metrics\"}\n )\n) and (\n changes(kube_statefulset_status_replicas_updated{job=\"kube-state-metrics\"}[5m])\n ==\n 0\n)\n",
|
"expr": "(\n max by(namespace, statefulset, job, cluster) (\n kube_statefulset_status_current_revision{job=\"kube-state-metrics\"}\n unless\n kube_statefulset_status_update_revision{job=\"kube-state-metrics\"}\n )\n *\n (\n kube_statefulset_replicas{job=\"kube-state-metrics\"}\n !=\n kube_statefulset_status_replicas_updated{job=\"kube-state-metrics\"}\n )\n) and (\n changes(kube_statefulset_status_replicas_updated{job=\"kube-state-metrics\"}[5m])\n ==\n 0\n)\n",
|
||||||
"for": "15m",
|
"for": "15m",
|
||||||
"labels": {
|
"labels": {
|
||||||
"severity": "warning"
|
"severity": "warning"
|
||||||
@ -445,7 +445,7 @@
|
|||||||
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn",
|
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn",
|
||||||
"summary": "The API server is burning too much error budget."
|
"summary": "The API server is burning too much error budget."
|
||||||
},
|
},
|
||||||
"expr": "sum(apiserver_request:burnrate1h) > (14.40 * 0.01000)\nand\nsum(apiserver_request:burnrate5m) > (14.40 * 0.01000)\n",
|
"expr": "sum by(cluster) (apiserver_request:burnrate1h) > (14.40 * 0.01000)\nand on(cluster)\nsum by(cluster) (apiserver_request:burnrate5m) > (14.40 * 0.01000)\n",
|
||||||
"for": "2m",
|
"for": "2m",
|
||||||
"labels": {
|
"labels": {
|
||||||
"long": "1h",
|
"long": "1h",
|
||||||
@ -460,7 +460,7 @@
|
|||||||
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn",
|
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn",
|
||||||
"summary": "The API server is burning too much error budget."
|
"summary": "The API server is burning too much error budget."
|
||||||
},
|
},
|
||||||
"expr": "sum(apiserver_request:burnrate6h) > (6.00 * 0.01000)\nand\nsum(apiserver_request:burnrate30m) > (6.00 * 0.01000)\n",
|
"expr": "sum by(cluster) (apiserver_request:burnrate6h) > (6.00 * 0.01000)\nand on(cluster)\nsum by(cluster) (apiserver_request:burnrate30m) > (6.00 * 0.01000)\n",
|
||||||
"for": "15m",
|
"for": "15m",
|
||||||
"labels": {
|
"labels": {
|
||||||
"long": "6h",
|
"long": "6h",
|
||||||
@ -475,7 +475,7 @@
|
|||||||
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn",
|
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn",
|
||||||
"summary": "The API server is burning too much error budget."
|
"summary": "The API server is burning too much error budget."
|
||||||
},
|
},
|
||||||
"expr": "sum(apiserver_request:burnrate1d) > (3.00 * 0.01000)\nand\nsum(apiserver_request:burnrate2h) > (3.00 * 0.01000)\n",
|
"expr": "sum by(cluster) (apiserver_request:burnrate1d) > (3.00 * 0.01000)\nand on(cluster)\nsum by(cluster) (apiserver_request:burnrate2h) > (3.00 * 0.01000)\n",
|
||||||
"for": "1h",
|
"for": "1h",
|
||||||
"labels": {
|
"labels": {
|
||||||
"long": "1d",
|
"long": "1d",
|
||||||
@ -490,7 +490,7 @@
|
|||||||
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn",
|
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapierrorbudgetburn",
|
||||||
"summary": "The API server is burning too much error budget."
|
"summary": "The API server is burning too much error budget."
|
||||||
},
|
},
|
||||||
"expr": "sum(apiserver_request:burnrate3d) > (1.00 * 0.01000)\nand\nsum(apiserver_request:burnrate6h) > (1.00 * 0.01000)\n",
|
"expr": "sum by(cluster) (apiserver_request:burnrate3d) > (1.00 * 0.01000)\nand on(cluster)\nsum by(cluster) (apiserver_request:burnrate6h) > (1.00 * 0.01000)\n",
|
||||||
"for": "3h",
|
"for": "3h",
|
||||||
"labels": {
|
"labels": {
|
||||||
"long": "3d",
|
"long": "3d",
|
||||||
@ -510,7 +510,7 @@
|
|||||||
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeclientcertificateexpiration",
|
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeclientcertificateexpiration",
|
||||||
"summary": "Client certificate is about to expire."
|
"summary": "Client certificate is about to expire."
|
||||||
},
|
},
|
||||||
"expr": "apiserver_client_certificate_expiration_seconds_count{job=\"apiserver\"} > 0 and on(job) histogram_quantile(0.01, sum by (job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job=\"apiserver\"}[5m]))) < 604800\n",
|
"expr": "apiserver_client_certificate_expiration_seconds_count{job=\"apiserver\"} > 0 and on(cluster, job) histogram_quantile(0.01, sum by (cluster, job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job=\"apiserver\"}[5m]))) < 604800\n",
|
||||||
"for": "5m",
|
"for": "5m",
|
||||||
"labels": {
|
"labels": {
|
||||||
"severity": "warning"
|
"severity": "warning"
|
||||||
@ -523,7 +523,7 @@
|
|||||||
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeclientcertificateexpiration",
|
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeclientcertificateexpiration",
|
||||||
"summary": "Client certificate is about to expire."
|
"summary": "Client certificate is about to expire."
|
||||||
},
|
},
|
||||||
"expr": "apiserver_client_certificate_expiration_seconds_count{job=\"apiserver\"} > 0 and on(job) histogram_quantile(0.01, sum by (job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job=\"apiserver\"}[5m]))) < 86400\n",
|
"expr": "apiserver_client_certificate_expiration_seconds_count{job=\"apiserver\"} > 0 and on(cluster, job) histogram_quantile(0.01, sum by (cluster, job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job=\"apiserver\"}[5m]))) < 86400\n",
|
||||||
"for": "5m",
|
"for": "5m",
|
||||||
"labels": {
|
"labels": {
|
||||||
"severity": "critical"
|
"severity": "critical"
|
||||||
@ -574,7 +574,7 @@
|
|||||||
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapiterminatedrequests",
|
"runbook_url": "https://runbooks.prometheus-operator.dev/runbooks/kubernetes/kubeapiterminatedrequests",
|
||||||
"summary": "The kubernetes apiserver has terminated {{ $value | humanizePercentage }} of its incoming requests."
|
"summary": "The kubernetes apiserver has terminated {{ $value | humanizePercentage }} of its incoming requests."
|
||||||
},
|
},
|
||||||
"expr": "sum(rate(apiserver_request_terminations_total{job=\"apiserver\"}[10m])) / ( sum(rate(apiserver_request_total{job=\"apiserver\"}[10m])) + sum(rate(apiserver_request_terminations_total{job=\"apiserver\"}[10m])) ) > 0.20\n",
|
"expr": "sum by(cluster) (rate(apiserver_request_terminations_total{job=\"apiserver\"}[10m])) / ( sum by(cluster) (rate(apiserver_request_total{job=\"apiserver\"}[10m])) + sum by(cluster) (rate(apiserver_request_terminations_total{job=\"apiserver\"}[10m])) ) > 0.20\n",
|
||||||
"for": "5m",
|
"for": "5m",
|
||||||
"labels": {
|
"labels": {
|
||||||
"severity": "warning"
|
"severity": "warning"
|
||||||
@ -810,14 +810,6 @@
|
|||||||
},
|
},
|
||||||
"record": "code:apiserver_request_total:increase30d"
|
"record": "code:apiserver_request_total:increase30d"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"expr": "sum by (cluster, verb, scope) (increase(apiserver_request_sli_duration_seconds_count{job=\"apiserver\"}[1h]))\n",
|
|
||||||
"record": "cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase1h"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"expr": "sum by (cluster, verb, scope) (avg_over_time(cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase1h[30d]) * 24 * 30)\n",
|
|
||||||
"record": "cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"expr": "sum by (cluster, verb, scope, le) (increase(apiserver_request_sli_duration_seconds_bucket[1h]))\n",
|
"expr": "sum by (cluster, verb, scope, le) (increase(apiserver_request_sli_duration_seconds_bucket[1h]))\n",
|
||||||
"record": "cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase1h"
|
"record": "cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase1h"
|
||||||
@ -826,6 +818,14 @@
|
|||||||
"expr": "sum by (cluster, verb, scope, le) (avg_over_time(cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase1h[30d]) * 24 * 30)\n",
|
"expr": "sum by (cluster, verb, scope, le) (avg_over_time(cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase1h[30d]) * 24 * 30)\n",
|
||||||
"record": "cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d"
|
"record": "cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"expr": "sum by (cluster, verb, scope) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase1h{le=\"+Inf\"})\n",
|
||||||
|
"record": "cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expr": "sum by (cluster, verb, scope) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{le=\"+Inf\"} * 24 * 30)\n",
|
||||||
|
"record": "cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"expr": "1 - (\n (\n # write too slow\n sum by (cluster) (cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d{verb=~\"POST|PUT|PATCH|DELETE\"})\n -\n sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~\"POST|PUT|PATCH|DELETE\",le=\"1\"})\n ) +\n (\n # read too slow\n sum by (cluster) (cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d{verb=~\"LIST|GET\"})\n -\n (\n (\n sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~\"LIST|GET\",scope=~\"resource|\",le=\"1\"})\n or\n vector(0)\n )\n +\n sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~\"LIST|GET\",scope=\"namespace\",le=\"5\"})\n +\n sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~\"LIST|GET\",scope=\"cluster\",le=\"30\"})\n )\n ) +\n # errors\n sum by (cluster) (code:apiserver_request_total:increase30d{code=~\"5..\"} or vector(0))\n)\n/\nsum by (cluster) (code:apiserver_request_total:increase30d)\n",
|
"expr": "1 - (\n (\n # write too slow\n sum by (cluster) (cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d{verb=~\"POST|PUT|PATCH|DELETE\"})\n -\n sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~\"POST|PUT|PATCH|DELETE\",le=\"1\"})\n ) +\n (\n # read too slow\n sum by (cluster) (cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d{verb=~\"LIST|GET\"})\n -\n (\n (\n sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~\"LIST|GET\",scope=~\"resource|\",le=\"1\"})\n or\n vector(0)\n )\n +\n sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~\"LIST|GET\",scope=\"namespace\",le=\"5\"})\n +\n sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~\"LIST|GET\",scope=\"cluster\",le=\"30\"})\n )\n ) +\n # errors\n sum by (cluster) (code:apiserver_request_total:increase30d{code=~\"5..\"} or vector(0))\n)\n/\nsum by (cluster) (code:apiserver_request_total:increase30d)\n",
|
||||||
"labels": {
|
"labels": {
|
||||||
@ -1049,7 +1049,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "k8s.rules.container_resource",
|
"name": "k8s.rules.container_memory_requests",
|
||||||
"rules": [
|
"rules": [
|
||||||
{
|
{
|
||||||
"expr": "kube_pod_container_resource_requests{resource=\"memory\",job=\"kube-state-metrics\"} * on (namespace, pod, cluster)\ngroup_left() max by (namespace, pod, cluster) (\n (kube_pod_status_phase{phase=~\"Pending|Running\"} == 1)\n)\n",
|
"expr": "kube_pod_container_resource_requests{resource=\"memory\",job=\"kube-state-metrics\"} * on (namespace, pod, cluster)\ngroup_left() max by (namespace, pod, cluster) (\n (kube_pod_status_phase{phase=~\"Pending|Running\"} == 1)\n)\n",
|
||||||
@ -1058,7 +1058,12 @@
|
|||||||
{
|
{
|
||||||
"expr": "sum by (namespace, cluster) (\n sum by (namespace, pod, cluster) (\n max by (namespace, pod, container, cluster) (\n kube_pod_container_resource_requests{resource=\"memory\",job=\"kube-state-metrics\"}\n ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) (\n kube_pod_status_phase{phase=~\"Pending|Running\"} == 1\n )\n )\n)\n",
|
"expr": "sum by (namespace, cluster) (\n sum by (namespace, pod, cluster) (\n max by (namespace, pod, container, cluster) (\n kube_pod_container_resource_requests{resource=\"memory\",job=\"kube-state-metrics\"}\n ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) (\n kube_pod_status_phase{phase=~\"Pending|Running\"} == 1\n )\n )\n)\n",
|
||||||
"record": "namespace_memory:kube_pod_container_resource_requests:sum"
|
"record": "namespace_memory:kube_pod_container_resource_requests:sum"
|
||||||
},
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "k8s.rules.container_cpu_requests",
|
||||||
|
"rules": [
|
||||||
{
|
{
|
||||||
"expr": "kube_pod_container_resource_requests{resource=\"cpu\",job=\"kube-state-metrics\"} * on (namespace, pod, cluster)\ngroup_left() max by (namespace, pod, cluster) (\n (kube_pod_status_phase{phase=~\"Pending|Running\"} == 1)\n)\n",
|
"expr": "kube_pod_container_resource_requests{resource=\"cpu\",job=\"kube-state-metrics\"} * on (namespace, pod, cluster)\ngroup_left() max by (namespace, pod, cluster) (\n (kube_pod_status_phase{phase=~\"Pending|Running\"} == 1)\n)\n",
|
||||||
"record": "cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests"
|
"record": "cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests"
|
||||||
@ -1066,7 +1071,12 @@
|
|||||||
{
|
{
|
||||||
"expr": "sum by (namespace, cluster) (\n sum by (namespace, pod, cluster) (\n max by (namespace, pod, container, cluster) (\n kube_pod_container_resource_requests{resource=\"cpu\",job=\"kube-state-metrics\"}\n ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) (\n kube_pod_status_phase{phase=~\"Pending|Running\"} == 1\n )\n )\n)\n",
|
"expr": "sum by (namespace, cluster) (\n sum by (namespace, pod, cluster) (\n max by (namespace, pod, container, cluster) (\n kube_pod_container_resource_requests{resource=\"cpu\",job=\"kube-state-metrics\"}\n ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) (\n kube_pod_status_phase{phase=~\"Pending|Running\"} == 1\n )\n )\n)\n",
|
||||||
"record": "namespace_cpu:kube_pod_container_resource_requests:sum"
|
"record": "namespace_cpu:kube_pod_container_resource_requests:sum"
|
||||||
},
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "k8s.rules.container_memory_limits",
|
||||||
|
"rules": [
|
||||||
{
|
{
|
||||||
"expr": "kube_pod_container_resource_limits{resource=\"memory\",job=\"kube-state-metrics\"} * on (namespace, pod, cluster)\ngroup_left() max by (namespace, pod, cluster) (\n (kube_pod_status_phase{phase=~\"Pending|Running\"} == 1)\n)\n",
|
"expr": "kube_pod_container_resource_limits{resource=\"memory\",job=\"kube-state-metrics\"} * on (namespace, pod, cluster)\ngroup_left() max by (namespace, pod, cluster) (\n (kube_pod_status_phase{phase=~\"Pending|Running\"} == 1)\n)\n",
|
||||||
"record": "cluster:namespace:pod_memory:active:kube_pod_container_resource_limits"
|
"record": "cluster:namespace:pod_memory:active:kube_pod_container_resource_limits"
|
||||||
@ -1074,7 +1084,12 @@
|
|||||||
{
|
{
|
||||||
"expr": "sum by (namespace, cluster) (\n sum by (namespace, pod, cluster) (\n max by (namespace, pod, container, cluster) (\n kube_pod_container_resource_limits{resource=\"memory\",job=\"kube-state-metrics\"}\n ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) (\n kube_pod_status_phase{phase=~\"Pending|Running\"} == 1\n )\n )\n)\n",
|
"expr": "sum by (namespace, cluster) (\n sum by (namespace, pod, cluster) (\n max by (namespace, pod, container, cluster) (\n kube_pod_container_resource_limits{resource=\"memory\",job=\"kube-state-metrics\"}\n ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) (\n kube_pod_status_phase{phase=~\"Pending|Running\"} == 1\n )\n )\n)\n",
|
||||||
"record": "namespace_memory:kube_pod_container_resource_limits:sum"
|
"record": "namespace_memory:kube_pod_container_resource_limits:sum"
|
||||||
},
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "k8s.rules.container_cpu_limits",
|
||||||
|
"rules": [
|
||||||
{
|
{
|
||||||
"expr": "kube_pod_container_resource_limits{resource=\"cpu\",job=\"kube-state-metrics\"} * on (namespace, pod, cluster)\ngroup_left() max by (namespace, pod, cluster) (\n (kube_pod_status_phase{phase=~\"Pending|Running\"} == 1)\n )\n",
|
"expr": "kube_pod_container_resource_limits{resource=\"cpu\",job=\"kube-state-metrics\"} * on (namespace, pod, cluster)\ngroup_left() max by (namespace, pod, cluster) (\n (kube_pod_status_phase{phase=~\"Pending|Running\"} == 1)\n )\n",
|
||||||
"record": "cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits"
|
"record": "cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits"
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user