feat: relase metrics update to fix new apiserver metrics in 1.20 amongst others
This commit is contained in:
parent
99e5c91fc1
commit
be2d903c26
@ -1,20 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: kubezero-aws-node-termination-handler
|
|
||||||
description: Umbrella chart for all aws-node-termination-handler
|
|
||||||
type: application
|
|
||||||
version: 0.1.2
|
|
||||||
home: https://kubezero.com
|
|
||||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
|
||||||
keywords:
|
|
||||||
- kubezero
|
|
||||||
- aws-node-termination-handler
|
|
||||||
maintainers:
|
|
||||||
- name: Quarky9
|
|
||||||
dependencies:
|
|
||||||
- name: kubezero-lib
|
|
||||||
version: ">= 0.1.3"
|
|
||||||
repository: https://zero-down-time.github.io/kubezero/
|
|
||||||
- name: aws-node-termination-handler
|
|
||||||
version: ">= 0.14.1"
|
|
||||||
repository: https://aws.github.io/eks-charts
|
|
||||||
kubeVersion: ">= 1.18.0"
|
|
@ -1,48 +0,0 @@
|
|||||||
# kubezero-aws-node-termination-handler
|
|
||||||
|
|
||||||
![Version: 0.1.2](https://img.shields.io/badge/Version-0.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
|
|
||||||
|
|
||||||
Umbrella chart for all aws-node-termination-handler
|
|
||||||
|
|
||||||
**Homepage:** <https://kubezero.com>
|
|
||||||
|
|
||||||
## Maintainers
|
|
||||||
|
|
||||||
| Name | Email | Url |
|
|
||||||
| ---- | ------ | --- |
|
|
||||||
| Quarky9 | | |
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
Kubernetes: `>= 1.18.0`
|
|
||||||
|
|
||||||
| Repository | Name | Version |
|
|
||||||
|------------|------|---------|
|
|
||||||
| https://aws.github.io/eks-charts | aws-node-termination-handler | >= 0.14.1 |
|
|
||||||
| https://zero-down-time.github.io/kubezero/ | kubezero-lib | >= 0.1.3 |
|
|
||||||
|
|
||||||
## Values
|
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
|
||||||
|-----|------|---------|-------------|
|
|
||||||
| aws-node-termination-handler.deleteLocalData | bool | `true` | |
|
|
||||||
| aws-node-termination-handler.enablePrometheusServer | bool | `false` | |
|
|
||||||
| aws-node-termination-handler.enableSqsTerminationDraining | bool | `true` | |
|
|
||||||
| aws-node-termination-handler.jsonLogging | bool | `true` | |
|
|
||||||
| aws-node-termination-handler.nodeSelector."node-role.kubernetes.io/master" | string | `""` | |
|
|
||||||
| aws-node-termination-handler.podMonitor.create | bool | `false` | |
|
|
||||||
| aws-node-termination-handler.podMonitor.labels.release | string | `"metrics"` | |
|
|
||||||
| aws-node-termination-handler.taintNode | bool | `true` | |
|
|
||||||
| aws-node-termination-handler.tolerations[0].effect | string | `"NoSchedule"` | |
|
|
||||||
| aws-node-termination-handler.tolerations[0].key | string | `"node-role.kubernetes.io/master"` | |
|
|
||||||
|
|
||||||
## KubeZero default configuration
|
|
||||||
|
|
||||||
- enable SQS Mode
|
|
||||||
- allow draining of localdata
|
|
||||||
- enable prometheus
|
|
||||||
|
|
||||||
## Resources
|
|
||||||
|
|
||||||
- https://github.com/aws/aws-node-termination-handler
|
|
||||||
- https://github.com/aws/eks-charts/tree/master/stable/aws-node-termination-handler
|
|
@ -1,27 +0,0 @@
|
|||||||
{{ template "chart.header" . }}
|
|
||||||
{{ template "chart.deprecationWarning" . }}
|
|
||||||
|
|
||||||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
|
|
||||||
|
|
||||||
{{ template "chart.description" . }}
|
|
||||||
|
|
||||||
{{ template "chart.homepageLine" . }}
|
|
||||||
|
|
||||||
{{ template "chart.maintainersSection" . }}
|
|
||||||
|
|
||||||
{{ template "chart.sourcesSection" . }}
|
|
||||||
|
|
||||||
{{ template "chart.requirementsSection" . }}
|
|
||||||
|
|
||||||
{{ template "chart.valuesSection" . }}
|
|
||||||
|
|
||||||
## KubeZero default configuration
|
|
||||||
|
|
||||||
- enable SQS Mode
|
|
||||||
- allow draining of localdata
|
|
||||||
- enable prometheus
|
|
||||||
|
|
||||||
## Resources
|
|
||||||
|
|
||||||
- https://github.com/aws/aws-node-termination-handler
|
|
||||||
- https://github.com/aws/eks-charts/tree/master/stable/aws-node-termination-handler
|
|
@ -1,19 +0,0 @@
|
|||||||
aws-node-termination-handler:
|
|
||||||
enableSqsTerminationDraining: true
|
|
||||||
# queueURL: <SQS queue ARN from kube controller stack>
|
|
||||||
deleteLocalData: true
|
|
||||||
taintNode: true
|
|
||||||
|
|
||||||
enablePrometheusServer: false
|
|
||||||
podMonitor:
|
|
||||||
create: false
|
|
||||||
labels:
|
|
||||||
release: metrics
|
|
||||||
|
|
||||||
jsonLogging: true
|
|
||||||
|
|
||||||
tolerations:
|
|
||||||
- key: node-role.kubernetes.io/master
|
|
||||||
effect: NoSchedule
|
|
||||||
nodeSelector:
|
|
||||||
node-role.kubernetes.io/master: ""
|
|
@ -217,7 +217,8 @@ fluent-bit:
|
|||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
image:
|
image:
|
||||||
tag: 1.8.1
|
repository: public.ecr.aws/zero-downtime/fluent-bit
|
||||||
|
tag: v1.8.2-rc1
|
||||||
|
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: false
|
enabled: false
|
||||||
@ -268,13 +269,13 @@ fluent-bit:
|
|||||||
[INPUT]
|
[INPUT]
|
||||||
Name tail
|
Name tail
|
||||||
Path /var/log/containers/*.log
|
Path /var/log/containers/*.log
|
||||||
Parser cri-log
|
multiline.parser docker,cri
|
||||||
#multiline.parser cri
|
|
||||||
Tag cri.*
|
Tag cri.*
|
||||||
Skip_Long_Lines On
|
Skip_Long_Lines On
|
||||||
DB /var/log/flb_kube.db
|
DB /var/log/flb_kube.db
|
||||||
DB.Sync Normal
|
DB.Sync Normal
|
||||||
DB.locking true
|
DB.locking true
|
||||||
|
# Buffer_Max_Size 1M
|
||||||
{{- with .Values.config.input }}
|
{{- with .Values.config.input }}
|
||||||
Mem_Buf_Limit {{ default "4MB" .memBufLimit }}
|
Mem_Buf_Limit {{ default "4MB" .memBufLimit }}
|
||||||
Refresh_Interval {{ default 10 .refreshInterval }}
|
Refresh_Interval {{ default 10 .refreshInterval }}
|
||||||
@ -282,10 +283,10 @@ fluent-bit:
|
|||||||
|
|
||||||
filters: |
|
filters: |
|
||||||
[FILTER]
|
[FILTER]
|
||||||
Name lua
|
Name parser
|
||||||
Match cri.*
|
Match cri.*
|
||||||
script /fluent-bit/scripts/kubezero.lua
|
Parser cri-log
|
||||||
call reassemble_cri_logs
|
Key_Name log
|
||||||
|
|
||||||
[FILTER]
|
[FILTER]
|
||||||
Name kubernetes
|
Name kubernetes
|
||||||
@ -314,7 +315,7 @@ fluent-bit:
|
|||||||
Name rewrite_tag
|
Name rewrite_tag
|
||||||
Match cri.*
|
Match cri.*
|
||||||
Emitter_Name kube_tag_rewriter
|
Emitter_Name kube_tag_rewriter
|
||||||
Rule logtag F kube.$kubernetes['namespace_name'].$kubernetes['container_name'] false
|
Rule $kubernetes['pod_id'] .* kube.$kubernetes['namespace_name'].$kubernetes['container_name'] false
|
||||||
|
|
||||||
[FILTER]
|
[FILTER]
|
||||||
Name lua
|
Name lua
|
||||||
@ -343,19 +344,6 @@ fluent-bit:
|
|||||||
|
|
||||||
luaScripts:
|
luaScripts:
|
||||||
kubezero.lua: |
|
kubezero.lua: |
|
||||||
local reassemble_state = {}
|
|
||||||
|
|
||||||
function reassemble_cri_logs(tag, timestamp, record)
|
|
||||||
local reassemble_key = tag
|
|
||||||
if record.logtag == 'P' then
|
|
||||||
reassemble_state[reassemble_key] = reassemble_state[reassemble_key] or "" .. record.log
|
|
||||||
return -1, 0, 0
|
|
||||||
end
|
|
||||||
record.log = reassemble_state[reassemble_key] or "" .. (record.log or "")
|
|
||||||
reassemble_state[reassemble_key] = nil
|
|
||||||
return 1, timestamp, record
|
|
||||||
end
|
|
||||||
|
|
||||||
function nest_k8s_ns(tag, timestamp, record)
|
function nest_k8s_ns(tag, timestamp, record)
|
||||||
if not record['kubernetes']['namespace_name'] then
|
if not record['kubernetes']['namespace_name'] then
|
||||||
return 0, 0, 0
|
return 0, 0, 0
|
||||||
|
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: kubezero-metrics
|
name: kubezero-metrics
|
||||||
description: KubeZero Umbrella Chart for Prometheus, Grafana and Alertmanager as well as all Kubernetes integrations.
|
description: KubeZero Umbrella Chart for Prometheus, Grafana and Alertmanager as well as all Kubernetes integrations.
|
||||||
type: application
|
type: application
|
||||||
version: 0.4.3
|
version: 0.4.4
|
||||||
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:
|
||||||
@ -21,7 +21,7 @@ dependencies:
|
|||||||
# Switch back to upstream once all alerts are fixed eg. etcd gpcr
|
# Switch back to upstream once all alerts are fixed eg. etcd gpcr
|
||||||
# repository: https://prometheus-community.github.io/helm-charts
|
# repository: https://prometheus-community.github.io/helm-charts
|
||||||
- name: prometheus-adapter
|
- name: prometheus-adapter
|
||||||
version: 2.15.0
|
version: 2.15.2
|
||||||
repository: https://prometheus-community.github.io/helm-charts
|
repository: https://prometheus-community.github.io/helm-charts
|
||||||
condition: prometheus-adapter.enabled
|
condition: prometheus-adapter.enabled
|
||||||
- name: prometheus-pushgateway
|
- name: prometheus-pushgateway
|
||||||
|
@ -6,20 +6,20 @@ 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: 0.48.1
|
appVersion: 0.49.0
|
||||||
dependencies:
|
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: 3.3.*
|
version: 3.4.*
|
||||||
- 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: 1.18.*
|
version: 2.0.*
|
||||||
- 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: 6.13.*
|
version: 6.14.*
|
||||||
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
|
||||||
@ -47,4 +47,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: 16.13.0
|
version: 17.0.3
|
||||||
|
@ -83,6 +83,21 @@ _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 16.x to 17.x
|
||||||
|
Version 17 upgrades prometheus-operator from 0.48.x to 0.49.x. Helm does not automatically upgrade or install new CRDs on a chart upgrade, so you have to install the CRDs manually before updating:
|
||||||
|
|
||||||
|
```console
|
||||||
|
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
|
||||||
|
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
|
||||||
|
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||||
|
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||||
|
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
|
||||||
|
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||||
|
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||||
|
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### From 15.x to 16.x
|
### From 15.x to 16.x
|
||||||
Version 16 upgrades kube-state-metrics to v2.0.0. This includes changed command-line arguments and removed metrics, see this [blog post](https://kubernetes.io/blog/2021/04/13/kube-state-metrics-v-2-0/). This version also removes Grafana dashboards that supported Kubernetes 1.14 or earlier.
|
Version 16 upgrades kube-state-metrics to v2.0.0. This includes changed command-line arguments and removed metrics, see this [blog post](https://kubernetes.io/blog/2021/04/13/kube-state-metrics-v-2-0/). This version also removes Grafana dashboards that supported Kubernetes 1.14 or earlier.
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 8.0.3
|
appVersion: 8.0.5
|
||||||
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.net
|
home: https://grafana.net
|
||||||
icon: https://raw.githubusercontent.com/grafana/grafana/master/public/img/logo_transparent_400x.png
|
icon: https://raw.githubusercontent.com/grafana/grafana/master/public/img/logo_transparent_400x.png
|
||||||
@ -19,4 +19,4 @@ name: grafana
|
|||||||
sources:
|
sources:
|
||||||
- https://github.com/grafana/grafana
|
- https://github.com/grafana/grafana
|
||||||
type: application
|
type: application
|
||||||
version: 6.13.5
|
version: 6.14.1
|
||||||
|
@ -175,6 +175,7 @@ This version requires Helm >= 3.1.0.
|
|||||||
| `admin.existingSecret` | The name of an existing secret containing the admin credentials. | `""` |
|
| `admin.existingSecret` | The name of an existing secret containing the admin credentials. | `""` |
|
||||||
| `admin.userKey` | The key in the existing admin secret containing the username. | `"admin-user"` |
|
| `admin.userKey` | The key in the existing admin secret containing the username. | `"admin-user"` |
|
||||||
| `admin.passwordKey` | The key in the existing admin secret containing the password. | `"admin-password"` |
|
| `admin.passwordKey` | The key in the existing admin secret containing the password. | `"admin-password"` |
|
||||||
|
| `serviceAccount.autoMount` | Automount the service account token in the pod| `true` |
|
||||||
| `serviceAccount.annotations` | ServiceAccount annotations | |
|
| `serviceAccount.annotations` | ServiceAccount annotations | |
|
||||||
| `serviceAccount.create` | Create service account | `true` |
|
| `serviceAccount.create` | Create service account | `true` |
|
||||||
| `serviceAccount.name` | Service account name to use, when empty will be set to created account if `serviceAccount.create` is set else to `default` | `` |
|
| `serviceAccount.name` | Service account name to use, when empty will be set to created account if `serviceAccount.create` is set else to `default` | `` |
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
schedulerName: "{{ .Values.schedulerName }}"
|
schedulerName: "{{ .Values.schedulerName }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
serviceAccountName: {{ template "grafana.serviceAccountName" . }}
|
serviceAccountName: {{ template "grafana.serviceAccountName" . }}
|
||||||
|
automountServiceAccountToken: {{ .Values.serviceAccount.autoMount }}
|
||||||
{{- if .Values.securityContext }}
|
{{- if .Values.securityContext }}
|
||||||
securityContext:
|
securityContext:
|
||||||
{{ toYaml .Values.securityContext | indent 2 }}
|
{{ toYaml .Values.securityContext | indent 2 }}
|
||||||
@ -48,7 +49,7 @@ initContainers:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
imagePullPolicy: {{ .Values.downloadDashboardsImage.pullPolicy }}
|
imagePullPolicy: {{ .Values.downloadDashboardsImage.pullPolicy }}
|
||||||
command: ["/bin/sh"]
|
command: ["/bin/sh"]
|
||||||
args: [ "-c", "mkdir -p /var/lib/grafana/dashboards/default && /bin/sh /etc/grafana/download_dashboards.sh" ]
|
args: [ "-c", "mkdir -p /var/lib/grafana/dashboards/default && /bin/sh -x /etc/grafana/download_dashboards.sh" ]
|
||||||
resources:
|
resources:
|
||||||
{{ toYaml .Values.downloadDashboards.resources | indent 6 }}
|
{{ toYaml .Values.downloadDashboards.resources | indent 6 }}
|
||||||
env:
|
env:
|
||||||
|
@ -45,11 +45,11 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.imageRenderer.securityContext }}
|
{{- if .Values.imageRenderer.securityContext }}
|
||||||
securityContext:
|
securityContext:
|
||||||
{{ toYaml .Values.imageRenderer.securityContext | indent 2 }}
|
{{- toYaml .Values.imageRenderer.securityContext | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.imageRenderer.hostAliases }}
|
{{- if .Values.imageRenderer.hostAliases }}
|
||||||
hostAliases:
|
hostAliases:
|
||||||
{{ toYaml .Values.imageRenderer.hostAliases | indent 2 }}
|
{{- toYaml .Values.imageRenderer.hostAliases | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.imageRenderer.priorityClassName }}
|
{{- if .Values.imageRenderer.priorityClassName }}
|
||||||
priorityClassName: {{ .Values.imageRenderer.priorityClassName }}
|
priorityClassName: {{ .Values.imageRenderer.priorityClassName }}
|
||||||
|
@ -3,7 +3,6 @@ apiVersion: policy/v1beta1
|
|||||||
kind: PodSecurityPolicy
|
kind: PodSecurityPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ template "grafana.fullname" . }}
|
name: {{ template "grafana.fullname" . }}
|
||||||
namespace: {{ template "grafana.namespace" . }}
|
|
||||||
labels:
|
labels:
|
||||||
{{- include "grafana.labels" . | nindent 4 }}
|
{{- include "grafana.labels" . | nindent 4 }}
|
||||||
annotations:
|
annotations:
|
||||||
|
@ -3,7 +3,6 @@ apiVersion: policy/v1beta1
|
|||||||
kind: PodSecurityPolicy
|
kind: PodSecurityPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ template "grafana.fullname" . }}-test
|
name: {{ template "grafana.fullname" . }}-test
|
||||||
namespace: {{ template "grafana.namespace" . }}
|
|
||||||
labels:
|
labels:
|
||||||
{{- include "grafana.labels" . | nindent 4 }}
|
{{- include "grafana.labels" . | nindent 4 }}
|
||||||
spec:
|
spec:
|
||||||
|
@ -19,6 +19,7 @@ serviceAccount:
|
|||||||
nameTest:
|
nameTest:
|
||||||
# annotations:
|
# annotations:
|
||||||
# eks.amazonaws.com/role-arn: arn:aws:iam::123456789000:role/iam-role-name-here
|
# eks.amazonaws.com/role-arn: arn:aws:iam::123456789000:role/iam-role-name-here
|
||||||
|
autoMount: true
|
||||||
|
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
|
||||||
@ -69,7 +70,7 @@ livenessProbe:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
repository: grafana/grafana
|
repository: grafana/grafana
|
||||||
tag: 8.0.3
|
tag: 8.0.5
|
||||||
sha: ""
|
sha: ""
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
@ -206,7 +207,7 @@ ingress:
|
|||||||
# service:
|
# service:
|
||||||
# name: ssl-redirect
|
# name: ssl-redirect
|
||||||
# port:
|
# port:
|
||||||
# name: service
|
# name: use-annotation
|
||||||
|
|
||||||
|
|
||||||
tls: []
|
tls: []
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 2.0.0
|
appVersion: 2.1.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:
|
||||||
@ -16,4 +16,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: 3.3.1
|
version: 3.4.1
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
prometheusScrape: true
|
prometheusScrape: true
|
||||||
image:
|
image:
|
||||||
repository: k8s.gcr.io/kube-state-metrics/kube-state-metrics
|
repository: k8s.gcr.io/kube-state-metrics/kube-state-metrics
|
||||||
tag: v2.0.0
|
tag: v2.1.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
imagePullSecrets: []
|
imagePullSecrets: []
|
||||||
@ -162,8 +162,8 @@ collectors:
|
|||||||
- statefulsets
|
- statefulsets
|
||||||
- storageclasses
|
- storageclasses
|
||||||
- validatingwebhookconfigurations
|
- validatingwebhookconfigurations
|
||||||
#- verticalpodautoscalers
|
|
||||||
- volumeattachments
|
- volumeattachments
|
||||||
|
# - verticalpodautoscalers # not a default resource, see also: https://github.com/kubernetes/kube-state-metrics#enabling-verticalpodautoscalers
|
||||||
|
|
||||||
# Enabling kubeconfig will pass the --kubeconfig argument to the container
|
# Enabling kubeconfig will pass the --kubeconfig argument to the container
|
||||||
kubeconfig:
|
kubeconfig:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
apiVersion: v1
|
apiVersion: v2
|
||||||
appVersion: 1.1.2
|
appVersion: 1.2.0
|
||||||
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:
|
||||||
@ -14,4 +14,5 @@ maintainers:
|
|||||||
name: prometheus-node-exporter
|
name: prometheus-node-exporter
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/prometheus/node_exporter/
|
- https://github.com/prometheus/node_exporter/
|
||||||
version: 1.18.2
|
type: application
|
||||||
|
version: 2.0.1
|
||||||
|
@ -16,11 +16,7 @@ _See [helm repo](https://helm.sh/docs/helm/helm_repo/) for command documentation
|
|||||||
## Install Chart
|
## Install Chart
|
||||||
|
|
||||||
```console
|
```console
|
||||||
# Helm 3
|
helm install [RELEASE_NAME] prometheus-community/prometheus-node-exporter
|
||||||
$ helm install [RELEASE_NAME] prometheus-community/prometheus-node-exporter
|
|
||||||
|
|
||||||
# Helm 2
|
|
||||||
$ helm install --name [RELEASE_NAME] prometheus-community/prometheus-node-exporter
|
|
||||||
```
|
```
|
||||||
|
|
||||||
_See [configuration](#configuration) below._
|
_See [configuration](#configuration) below._
|
||||||
@ -30,11 +26,7 @@ _See [helm install](https://helm.sh/docs/helm/helm_install/) for command documen
|
|||||||
## Uninstall Chart
|
## Uninstall Chart
|
||||||
|
|
||||||
```console
|
```console
|
||||||
# Helm 3
|
helm uninstall [RELEASE_NAME]
|
||||||
$ helm uninstall [RELEASE_NAME]
|
|
||||||
|
|
||||||
# Helm 2
|
|
||||||
# helm delete --purge [RELEASE_NAME]
|
|
||||||
```
|
```
|
||||||
|
|
||||||
This removes all the Kubernetes components associated with the chart and deletes the release.
|
This removes all the Kubernetes components associated with the chart and deletes the release.
|
||||||
@ -44,8 +36,7 @@ _See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for command doc
|
|||||||
## Upgrading Chart
|
## Upgrading Chart
|
||||||
|
|
||||||
```console
|
```console
|
||||||
# Helm 3 or 2
|
helm upgrade [RELEASE_NAME] [CHART] --install
|
||||||
$ helm upgrade [RELEASE_NAME] [CHART] --install
|
|
||||||
```
|
```
|
||||||
|
|
||||||
_See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documentation._
|
_See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documentation._
|
||||||
@ -55,9 +46,5 @@ _See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documen
|
|||||||
See [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). To see all configurable options with detailed comments, visit the chart's [values.yaml](./values.yaml), or run these configuration commands:
|
See [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). To see all configurable options with detailed comments, visit the chart's [values.yaml](./values.yaml), or run these configuration commands:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
# Helm 2
|
helm show values prometheus-community/prometheus-node-exporter
|
||||||
$ helm inspect values prometheus-community/prometheus-node-exporter
|
|
||||||
|
|
||||||
# Helm 3
|
|
||||||
$ helm show values prometheus-community/prometheus-node-exporter
|
|
||||||
```
|
```
|
||||||
|
@ -21,6 +21,7 @@ spec:
|
|||||||
{{- toYaml .Values.podAnnotations | nindent 8 }}
|
{{- toYaml .Values.podAnnotations | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
|
automountServiceAccountToken: false
|
||||||
serviceAccountName: {{ template "prometheus-node-exporter.serviceAccountName" . }}
|
serviceAccountName: {{ template "prometheus-node-exporter.serviceAccountName" . }}
|
||||||
{{- if .Values.securityContext }}
|
{{- if .Values.securityContext }}
|
||||||
securityContext:
|
securityContext:
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
# Declare variables to be passed into your templates.
|
# Declare variables to be passed into your templates.
|
||||||
image:
|
image:
|
||||||
repository: quay.io/prometheus/node-exporter
|
repository: quay.io/prometheus/node-exporter
|
||||||
tag: v1.1.2
|
tag: v1.2.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
service:
|
service:
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.48.1/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
@ -25,24 +25,31 @@ spec:
|
|||||||
description: PodMonitor defines monitoring for a set of pods.
|
description: PodMonitor defines monitoring for a set of pods.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
type: string
|
type: string
|
||||||
kind:
|
kind:
|
||||||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
type: string
|
type: string
|
||||||
metadata:
|
metadata:
|
||||||
type: object
|
type: object
|
||||||
spec:
|
spec:
|
||||||
description: Specification of desired Pod selection for target discovery by Prometheus.
|
description: Specification of desired Pod selection for target discovery
|
||||||
|
by Prometheus.
|
||||||
properties:
|
properties:
|
||||||
jobLabel:
|
jobLabel:
|
||||||
description: The label to use to retrieve the job name from.
|
description: The label to use to retrieve the job name from.
|
||||||
type: string
|
type: string
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
description: Selector to select which namespaces the Endpoints objects are discovered from.
|
description: Selector to select which namespaces the Endpoints objects
|
||||||
|
are discovered from.
|
||||||
properties:
|
properties:
|
||||||
any:
|
any:
|
||||||
description: Boolean describing whether all namespaces are selected in contrast to a list restricting them.
|
description: Boolean describing whether all namespaces are selected
|
||||||
|
in contrast to a list restricting them.
|
||||||
type: boolean
|
type: boolean
|
||||||
matchNames:
|
matchNames:
|
||||||
description: List of namespace names.
|
description: List of namespace names.
|
||||||
@ -53,94 +60,126 @@ spec:
|
|||||||
podMetricsEndpoints:
|
podMetricsEndpoints:
|
||||||
description: A list of endpoints allowed as part of this PodMonitor.
|
description: A list of endpoints allowed as part of this PodMonitor.
|
||||||
items:
|
items:
|
||||||
description: PodMetricsEndpoint defines a scrapeable endpoint of a Kubernetes Pod serving Prometheus metrics.
|
description: PodMetricsEndpoint defines a scrapeable endpoint of
|
||||||
|
a Kubernetes Pod serving Prometheus metrics.
|
||||||
properties:
|
properties:
|
||||||
basicAuth:
|
basicAuth:
|
||||||
description: 'BasicAuth allow an endpoint to authenticate over basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
|
description: 'BasicAuth allow an endpoint to authenticate over
|
||||||
|
basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
|
||||||
properties:
|
properties:
|
||||||
password:
|
password:
|
||||||
description: The secret in the service monitor namespace that contains the password for authentication.
|
description: The secret in the service monitor namespace
|
||||||
|
that contains the password for authentication.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
username:
|
username:
|
||||||
description: The secret in the service monitor namespace that contains the username for authentication.
|
description: The secret in the service monitor namespace
|
||||||
|
that contains the username for authentication.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
bearerTokenSecret:
|
bearerTokenSecret:
|
||||||
description: Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the pod monitor and accessible by the Prometheus Operator.
|
description: Secret to mount to read bearer token for scraping
|
||||||
|
targets. The secret needs to be in the same namespace as the
|
||||||
|
pod monitor and accessible by the Prometheus Operator.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
honorLabels:
|
honorLabels:
|
||||||
description: HonorLabels chooses the metric's labels on collisions with target labels.
|
description: HonorLabels chooses the metric's labels on collisions
|
||||||
|
with target labels.
|
||||||
type: boolean
|
type: boolean
|
||||||
honorTimestamps:
|
honorTimestamps:
|
||||||
description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
|
description: HonorTimestamps controls whether Prometheus respects
|
||||||
|
the timestamps present in scraped data.
|
||||||
type: boolean
|
type: boolean
|
||||||
interval:
|
interval:
|
||||||
description: Interval at which metrics should be scraped
|
description: Interval at which metrics should be scraped
|
||||||
type: string
|
type: string
|
||||||
metricRelabelings:
|
metricRelabelings:
|
||||||
description: MetricRelabelConfigs to apply to samples before ingestion.
|
description: MetricRelabelConfigs to apply to samples before
|
||||||
|
ingestion.
|
||||||
items:
|
items:
|
||||||
description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
description: 'RelabelConfig allows dynamic rewriting of the
|
||||||
|
label set, being applied to samples before ingestion. It
|
||||||
|
defines `<metric_relabel_configs>`-section of Prometheus
|
||||||
|
configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
description: Action to perform based on regex matching. Default is 'replace'
|
description: Action to perform based on regex matching.
|
||||||
|
Default is 'replace'
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source label values.
|
description: Modulus to take of the hash of the source
|
||||||
|
label values.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
regex:
|
regex:
|
||||||
description: Regular expression against which the extracted value is matched. Default is '(.*)'
|
description: Regular expression against which the extracted
|
||||||
|
value is matched. Default is '(.*)'
|
||||||
type: string
|
type: string
|
||||||
replacement:
|
replacement:
|
||||||
description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
|
description: Replacement value against which a regex replace
|
||||||
|
is performed if the regular expression matches. Regex
|
||||||
|
capture groups are available. Default is '$1'
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
description: Separator placed between concatenated source label values. default is ';'.
|
description: Separator placed between concatenated source
|
||||||
|
label values. default is ';'.
|
||||||
type: string
|
type: string
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
|
description: The source labels select values from existing
|
||||||
|
labels. Their content is concatenated using the configured
|
||||||
|
separator and matched against the configured regular
|
||||||
|
expression for the replace, keep, and drop actions.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
targetLabel:
|
targetLabel:
|
||||||
description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
|
description: Label to which the resulting value is written
|
||||||
|
in a replace action. It is mandatory for replace actions.
|
||||||
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
@ -155,39 +194,58 @@ spec:
|
|||||||
description: HTTP path to scrape for metrics.
|
description: HTTP path to scrape for metrics.
|
||||||
type: string
|
type: string
|
||||||
port:
|
port:
|
||||||
description: Name of the pod port this endpoint refers to. Mutually exclusive with targetPort.
|
description: Name of the pod port this endpoint refers to. Mutually
|
||||||
|
exclusive with targetPort.
|
||||||
type: string
|
type: string
|
||||||
proxyUrl:
|
proxyUrl:
|
||||||
description: ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint.
|
description: ProxyURL eg http://proxyserver:2195 Directs scrapes
|
||||||
|
to proxy through this endpoint.
|
||||||
type: string
|
type: string
|
||||||
relabelings:
|
relabelings:
|
||||||
description: 'RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields and replaces original scrape job name with __tmp_prometheus_job_name. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
description: 'RelabelConfigs to apply to samples before scraping.
|
||||||
|
Prometheus Operator automatically adds relabelings for a few
|
||||||
|
standard Kubernetes fields and replaces original scrape job
|
||||||
|
name with __tmp_prometheus_job_name. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
||||||
items:
|
items:
|
||||||
description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
description: 'RelabelConfig allows dynamic rewriting of the
|
||||||
|
label set, being applied to samples before ingestion. It
|
||||||
|
defines `<metric_relabel_configs>`-section of Prometheus
|
||||||
|
configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
description: Action to perform based on regex matching. Default is 'replace'
|
description: Action to perform based on regex matching.
|
||||||
|
Default is 'replace'
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source label values.
|
description: Modulus to take of the hash of the source
|
||||||
|
label values.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
regex:
|
regex:
|
||||||
description: Regular expression against which the extracted value is matched. Default is '(.*)'
|
description: Regular expression against which the extracted
|
||||||
|
value is matched. Default is '(.*)'
|
||||||
type: string
|
type: string
|
||||||
replacement:
|
replacement:
|
||||||
description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
|
description: Replacement value against which a regex replace
|
||||||
|
is performed if the regular expression matches. Regex
|
||||||
|
capture groups are available. Default is '$1'
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
description: Separator placed between concatenated source label values. default is ';'.
|
description: Separator placed between concatenated source
|
||||||
|
label values. default is ';'.
|
||||||
type: string
|
type: string
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
|
description: The source labels select values from existing
|
||||||
|
labels. Their content is concatenated using the configured
|
||||||
|
separator and matched against the configured regular
|
||||||
|
expression for the replace, keep, and drop actions.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
targetLabel:
|
targetLabel:
|
||||||
description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
|
description: Label to which the resulting value is written
|
||||||
|
in a replace action. It is mandatory for replace actions.
|
||||||
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
@ -207,19 +265,24 @@ spec:
|
|||||||
description: TLS configuration to use when scraping the endpoint.
|
description: TLS configuration to use when scraping the endpoint.
|
||||||
properties:
|
properties:
|
||||||
ca:
|
ca:
|
||||||
description: Struct containing the CA cert to use for the targets.
|
description: Struct containing the CA cert to use for the
|
||||||
|
targets.
|
||||||
properties:
|
properties:
|
||||||
configMap:
|
configMap:
|
||||||
description: ConfigMap containing data to use for the targets.
|
description: ConfigMap containing data to use for the
|
||||||
|
targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key to select.
|
description: The key to select.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -228,32 +291,41 @@ spec:
|
|||||||
description: Secret containing data to use for the targets.
|
description: Secret containing data to use for the targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
cert:
|
cert:
|
||||||
description: Struct containing the client cert file for the targets.
|
description: Struct containing the client cert file for
|
||||||
|
the targets.
|
||||||
properties:
|
properties:
|
||||||
configMap:
|
configMap:
|
||||||
description: ConfigMap containing data to use for the targets.
|
description: ConfigMap containing data to use for the
|
||||||
|
targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key to select.
|
description: The key to select.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -262,13 +334,17 @@ spec:
|
|||||||
description: Secret containing data to use for the targets.
|
description: Secret containing data to use for the targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -278,16 +354,20 @@ spec:
|
|||||||
description: Disable target certificate validation.
|
description: Disable target certificate validation.
|
||||||
type: boolean
|
type: boolean
|
||||||
keySecret:
|
keySecret:
|
||||||
description: Secret containing the client key file for the targets.
|
description: Secret containing the client key file for the
|
||||||
|
targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -299,30 +379,42 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
podTargetLabels:
|
podTargetLabels:
|
||||||
description: PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
|
description: PodTargetLabels transfers labels on the Kubernetes Pod
|
||||||
|
onto the target.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
sampleLimit:
|
sampleLimit:
|
||||||
description: SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
description: SampleLimit defines per-scrape limit on number of scraped
|
||||||
|
samples that will be accepted.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
selector:
|
selector:
|
||||||
description: Selector to select Pod objects.
|
description: Selector to select Pod objects.
|
||||||
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.
|
||||||
items:
|
items:
|
||||||
description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
|
description: A label selector requirement is a selector that
|
||||||
|
contains values, a key, and an operator that relates the key
|
||||||
|
and values.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: key is the label key that the selector applies to.
|
description: key is the label key that the selector applies
|
||||||
|
to.
|
||||||
type: string
|
type: string
|
||||||
operator:
|
operator:
|
||||||
description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
|
description: operator represents a key's relationship to
|
||||||
|
a set of values. Valid operators are In, NotIn, Exists
|
||||||
|
and DoesNotExist.
|
||||||
type: string
|
type: string
|
||||||
values:
|
values:
|
||||||
description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
|
description: values is an array of string values. If the
|
||||||
|
operator is In or NotIn, the values array must be non-empty.
|
||||||
|
If the operator is Exists or DoesNotExist, the values
|
||||||
|
array must be empty. This array is replaced during a strategic
|
||||||
|
merge patch.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
@ -334,11 +426,16 @@ spec:
|
|||||||
matchLabels:
|
matchLabels:
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: string
|
type: string
|
||||||
description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
|
description: matchLabels is a map of {key,value} pairs. A single
|
||||||
|
{key,value} in the matchLabels map is equivalent to an element
|
||||||
|
of matchExpressions, whose key field is "key", the operator
|
||||||
|
is "In", and the values array contains only "value". The requirements
|
||||||
|
are ANDed.
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
targetLimit:
|
targetLimit:
|
||||||
description: TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
description: TargetLimit defines a limit on the number of scraped
|
||||||
|
targets that will be accepted.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
required:
|
required:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.48.1/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
@ -25,58 +25,76 @@ spec:
|
|||||||
description: Probe defines monitoring for a set of static targets or ingresses.
|
description: Probe defines monitoring for a set of static targets or ingresses.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
type: string
|
type: string
|
||||||
kind:
|
kind:
|
||||||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
type: string
|
type: string
|
||||||
metadata:
|
metadata:
|
||||||
type: object
|
type: object
|
||||||
spec:
|
spec:
|
||||||
description: Specification of desired Ingress selection for target discovery by Prometheus.
|
description: Specification of desired Ingress selection for target discovery
|
||||||
|
by Prometheus.
|
||||||
properties:
|
properties:
|
||||||
basicAuth:
|
basicAuth:
|
||||||
description: 'BasicAuth allow an endpoint to authenticate over basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
|
description: 'BasicAuth allow an endpoint to authenticate over basic
|
||||||
|
authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
|
||||||
properties:
|
properties:
|
||||||
password:
|
password:
|
||||||
description: The secret in the service monitor namespace that contains the password for authentication.
|
description: The secret in the service monitor namespace that
|
||||||
|
contains the password for authentication.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must be
|
||||||
|
a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
username:
|
username:
|
||||||
description: The secret in the service monitor namespace that contains the username for authentication.
|
description: The secret in the service monitor namespace that
|
||||||
|
contains the username for authentication.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must be
|
||||||
|
a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
bearerTokenSecret:
|
bearerTokenSecret:
|
||||||
description: Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the probe and accessible by the Prometheus Operator.
|
description: Secret to mount to read bearer token for scraping targets.
|
||||||
|
The secret needs to be in the same namespace as the probe and accessible
|
||||||
|
by the Prometheus Operator.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must be a
|
||||||
|
valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
@ -85,20 +103,28 @@ spec:
|
|||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
interval:
|
interval:
|
||||||
description: Interval at which targets are probed using the configured prober. If not specified Prometheus' global scrape interval is used.
|
description: Interval at which targets are probed using the configured
|
||||||
|
prober. If not specified Prometheus' global scrape interval is used.
|
||||||
type: string
|
type: string
|
||||||
jobName:
|
jobName:
|
||||||
description: The job name assigned to scraped metrics by default.
|
description: The job name assigned to scraped metrics by default.
|
||||||
type: string
|
type: string
|
||||||
module:
|
module:
|
||||||
description: 'The module to use for probing specifying how to probe the target. Example module configuring in the blackbox exporter: https://github.com/prometheus/blackbox_exporter/blob/master/example.yml'
|
description: 'The module to use for probing specifying how to probe
|
||||||
|
the target. Example module configuring in the blackbox exporter:
|
||||||
|
https://github.com/prometheus/blackbox_exporter/blob/master/example.yml'
|
||||||
type: string
|
type: string
|
||||||
prober:
|
prober:
|
||||||
description: Specification for the prober to use for probing targets. The prober.URL parameter is required. Targets cannot be probed if left empty.
|
description: Specification for the prober to use for probing targets.
|
||||||
|
The prober.URL parameter is required. Targets cannot be probed if
|
||||||
|
left empty.
|
||||||
properties:
|
properties:
|
||||||
path:
|
path:
|
||||||
description: Path to collect metrics from. Defaults to `/probe`.
|
description: Path to collect metrics from. Defaults to `/probe`.
|
||||||
type: string
|
type: string
|
||||||
|
proxyUrl:
|
||||||
|
description: Optional ProxyURL.
|
||||||
|
type: string
|
||||||
scheme:
|
scheme:
|
||||||
description: HTTP scheme to use for scraping. Defaults to `http`.
|
description: HTTP scheme to use for scraping. Defaults to `http`.
|
||||||
type: string
|
type: string
|
||||||
@ -112,16 +138,19 @@ spec:
|
|||||||
description: Timeout for scraping metrics from the Prometheus exporter.
|
description: Timeout for scraping metrics from the Prometheus exporter.
|
||||||
type: string
|
type: string
|
||||||
targets:
|
targets:
|
||||||
description: Targets defines a set of static and/or dynamically discovered targets to be probed using the prober.
|
description: Targets defines a set of static and/or dynamically discovered
|
||||||
|
targets to be probed using the prober.
|
||||||
properties:
|
properties:
|
||||||
ingress:
|
ingress:
|
||||||
description: Ingress defines the set of dynamically discovered ingress objects which hosts are considered for probing.
|
description: Ingress defines the set of dynamically discovered
|
||||||
|
ingress objects which hosts are considered for probing.
|
||||||
properties:
|
properties:
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
description: Select Ingress objects by namespace.
|
description: Select Ingress objects by namespace.
|
||||||
properties:
|
properties:
|
||||||
any:
|
any:
|
||||||
description: Boolean describing whether all namespaces are selected in contrast to a list restricting them.
|
description: Boolean describing whether all namespaces
|
||||||
|
are selected in contrast to a list restricting them.
|
||||||
type: boolean
|
type: boolean
|
||||||
matchNames:
|
matchNames:
|
||||||
description: List of namespace names.
|
description: List of namespace names.
|
||||||
@ -130,33 +159,48 @@ spec:
|
|||||||
type: array
|
type: array
|
||||||
type: object
|
type: object
|
||||||
relabelingConfigs:
|
relabelingConfigs:
|
||||||
description: 'RelabelConfigs to apply to samples before ingestion. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
description: 'RelabelConfigs to apply to samples before ingestion.
|
||||||
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
||||||
items:
|
items:
|
||||||
description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
description: 'RelabelConfig allows dynamic rewriting of
|
||||||
|
the label set, being applied to samples before ingestion.
|
||||||
|
It defines `<metric_relabel_configs>`-section of Prometheus
|
||||||
|
configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
description: Action to perform based on regex matching. Default is 'replace'
|
description: Action to perform based on regex matching.
|
||||||
|
Default is 'replace'
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source label values.
|
description: Modulus to take of the hash of the source
|
||||||
|
label values.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
regex:
|
regex:
|
||||||
description: Regular expression against which the extracted value is matched. Default is '(.*)'
|
description: Regular expression against which the extracted
|
||||||
|
value is matched. Default is '(.*)'
|
||||||
type: string
|
type: string
|
||||||
replacement:
|
replacement:
|
||||||
description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
|
description: Replacement value against which a regex
|
||||||
|
replace is performed if the regular expression matches.
|
||||||
|
Regex capture groups are available. Default is '$1'
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
description: Separator placed between concatenated source label values. default is ';'.
|
description: Separator placed between concatenated source
|
||||||
|
label values. default is ';'.
|
||||||
type: string
|
type: string
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
|
description: The source labels select values from existing
|
||||||
|
labels. Their content is concatenated using the configured
|
||||||
|
separator and matched against the configured regular
|
||||||
|
expression for the replace, keep, and drop actions.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
targetLabel:
|
targetLabel:
|
||||||
description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
|
description: Label to which the resulting value is written
|
||||||
|
in a replace action. It is mandatory for replace actions.
|
||||||
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
@ -164,18 +208,29 @@ spec:
|
|||||||
description: Select Ingress objects by labels.
|
description: Select Ingress objects by labels.
|
||||||
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.
|
||||||
items:
|
items:
|
||||||
description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
|
description: A label selector requirement is a selector
|
||||||
|
that contains values, a key, and an operator that
|
||||||
|
relates the key and values.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: key is the label key that the selector applies to.
|
description: key is the label key that the selector
|
||||||
|
applies to.
|
||||||
type: string
|
type: string
|
||||||
operator:
|
operator:
|
||||||
description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
|
description: operator represents a key's relationship
|
||||||
|
to a set of values. Valid operators are In, NotIn,
|
||||||
|
Exists and DoesNotExist.
|
||||||
type: string
|
type: string
|
||||||
values:
|
values:
|
||||||
description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
|
description: values is an array of string values.
|
||||||
|
If the operator is In or NotIn, the values array
|
||||||
|
must be non-empty. If the operator is Exists or
|
||||||
|
DoesNotExist, the values array must be empty.
|
||||||
|
This array is replaced during a strategic merge
|
||||||
|
patch.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
@ -187,51 +242,73 @@ spec:
|
|||||||
matchLabels:
|
matchLabels:
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: string
|
type: string
|
||||||
description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
|
description: matchLabels is a map of {key,value} pairs.
|
||||||
|
A single {key,value} in the matchLabels map is equivalent
|
||||||
|
to an element of matchExpressions, whose key field is
|
||||||
|
"key", the operator is "In", and the values array contains
|
||||||
|
only "value". The requirements are ANDed.
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
staticConfig:
|
staticConfig:
|
||||||
description: 'StaticConfig defines static targets which are considers for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.'
|
description: 'StaticConfig defines static targets which are considers
|
||||||
|
for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.'
|
||||||
properties:
|
properties:
|
||||||
labels:
|
labels:
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: string
|
type: string
|
||||||
description: Labels assigned to all metrics scraped from the targets.
|
description: Labels assigned to all metrics scraped from the
|
||||||
|
targets.
|
||||||
type: object
|
type: object
|
||||||
relabelingConfigs:
|
relabelingConfigs:
|
||||||
description: 'RelabelConfigs to apply to samples before ingestion. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
description: 'RelabelConfigs to apply to samples before ingestion.
|
||||||
|
More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
||||||
items:
|
items:
|
||||||
description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
description: 'RelabelConfig allows dynamic rewriting of
|
||||||
|
the label set, being applied to samples before ingestion.
|
||||||
|
It defines `<metric_relabel_configs>`-section of Prometheus
|
||||||
|
configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
description: Action to perform based on regex matching. Default is 'replace'
|
description: Action to perform based on regex matching.
|
||||||
|
Default is 'replace'
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source label values.
|
description: Modulus to take of the hash of the source
|
||||||
|
label values.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
regex:
|
regex:
|
||||||
description: Regular expression against which the extracted value is matched. Default is '(.*)'
|
description: Regular expression against which the extracted
|
||||||
|
value is matched. Default is '(.*)'
|
||||||
type: string
|
type: string
|
||||||
replacement:
|
replacement:
|
||||||
description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
|
description: Replacement value against which a regex
|
||||||
|
replace is performed if the regular expression matches.
|
||||||
|
Regex capture groups are available. Default is '$1'
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
description: Separator placed between concatenated source label values. default is ';'.
|
description: Separator placed between concatenated source
|
||||||
|
label values. default is ';'.
|
||||||
type: string
|
type: string
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
|
description: The source labels select values from existing
|
||||||
|
labels. Their content is concatenated using the configured
|
||||||
|
separator and matched against the configured regular
|
||||||
|
expression for the replace, keep, and drop actions.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
targetLabel:
|
targetLabel:
|
||||||
description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
|
description: Label to which the resulting value is written
|
||||||
|
in a replace action. It is mandatory for replace actions.
|
||||||
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
static:
|
static:
|
||||||
description: Targets is a list of URLs to probe using the configured prober.
|
description: Targets is a list of URLs to probe using the
|
||||||
|
configured prober.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
@ -250,10 +327,12 @@ spec:
|
|||||||
description: The key to select.
|
description: The key to select.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -262,13 +341,16 @@ spec:
|
|||||||
description: Secret containing data to use for the targets.
|
description: Secret containing data to use for the targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -284,10 +366,12 @@ spec:
|
|||||||
description: The key to select.
|
description: The key to select.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -296,13 +380,16 @@ spec:
|
|||||||
description: Secret containing data to use for the targets.
|
description: Secret containing data to use for the targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -315,13 +402,16 @@ spec:
|
|||||||
description: Secret containing the client key file for the targets.
|
description: Secret containing the client key file for the targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must be
|
||||||
|
a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.48.1/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
@ -20,13 +20,18 @@ spec:
|
|||||||
- name: v1
|
- name: v1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: PrometheusRule defines recording and alerting rules for a Prometheus instance
|
description: PrometheusRule defines recording and alerting rules for a Prometheus
|
||||||
|
instance
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
type: string
|
type: string
|
||||||
kind:
|
kind:
|
||||||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
type: string
|
type: string
|
||||||
metadata:
|
metadata:
|
||||||
type: object
|
type: object
|
||||||
@ -36,7 +41,10 @@ spec:
|
|||||||
groups:
|
groups:
|
||||||
description: Content of Prometheus rule file
|
description: Content of Prometheus rule file
|
||||||
items:
|
items:
|
||||||
description: 'RuleGroup is a list of sequentially evaluated recording and alerting rules. Note: PartialResponseStrategy is only used by ThanosRuler and will be ignored by Prometheus instances. Valid values for this field are ''warn'' or ''abort''. More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response'
|
description: 'RuleGroup is a list of sequentially evaluated recording
|
||||||
|
and alerting rules. Note: PartialResponseStrategy is only used
|
||||||
|
by ThanosRuler and will be ignored by Prometheus instances. Valid
|
||||||
|
values for this field are ''warn'' or ''abort''. More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response'
|
||||||
properties:
|
properties:
|
||||||
interval:
|
interval:
|
||||||
type: string
|
type: string
|
||||||
@ -46,7 +54,10 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
rules:
|
rules:
|
||||||
items:
|
items:
|
||||||
description: Rule describes an alerting or recording rule.
|
description: 'Rule describes an alerting or recording rule
|
||||||
|
See Prometheus documentation: [alerting](https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)
|
||||||
|
or [recording](https://www.prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules)
|
||||||
|
rule'
|
||||||
properties:
|
properties:
|
||||||
alert:
|
alert:
|
||||||
type: string
|
type: string
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.48.1/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.49.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
@ -25,50 +25,65 @@ spec:
|
|||||||
description: ServiceMonitor defines monitoring for a set of services.
|
description: ServiceMonitor defines monitoring for a set of services.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
description: 'APIVersion defines the versioned schema of this representation
|
||||||
|
of an object. Servers should convert recognized schemas to the latest
|
||||||
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
||||||
type: string
|
type: string
|
||||||
kind:
|
kind:
|
||||||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
description: 'Kind is a string value representing the REST resource this
|
||||||
|
object represents. Servers may infer this from the endpoint the client
|
||||||
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||||
type: string
|
type: string
|
||||||
metadata:
|
metadata:
|
||||||
type: object
|
type: object
|
||||||
spec:
|
spec:
|
||||||
description: Specification of desired Service selection for target discovery by Prometheus.
|
description: Specification of desired Service selection for target discovery
|
||||||
|
by Prometheus.
|
||||||
properties:
|
properties:
|
||||||
endpoints:
|
endpoints:
|
||||||
description: A list of endpoints allowed as part of this ServiceMonitor.
|
description: A list of endpoints allowed as part of this ServiceMonitor.
|
||||||
items:
|
items:
|
||||||
description: Endpoint defines a scrapeable endpoint serving Prometheus metrics.
|
description: Endpoint defines a scrapeable endpoint serving Prometheus
|
||||||
|
metrics.
|
||||||
properties:
|
properties:
|
||||||
basicAuth:
|
basicAuth:
|
||||||
description: 'BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
|
description: 'BasicAuth allow an endpoint to authenticate over
|
||||||
|
basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
|
||||||
properties:
|
properties:
|
||||||
password:
|
password:
|
||||||
description: The secret in the service monitor namespace that contains the password for authentication.
|
description: The secret in the service monitor namespace
|
||||||
|
that contains the password for authentication.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
username:
|
username:
|
||||||
description: The secret in the service monitor namespace that contains the username for authentication.
|
description: The secret in the service monitor namespace
|
||||||
|
that contains the username for authentication.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -78,57 +93,79 @@ spec:
|
|||||||
description: File to read bearer token for scraping targets.
|
description: File to read bearer token for scraping targets.
|
||||||
type: string
|
type: string
|
||||||
bearerTokenSecret:
|
bearerTokenSecret:
|
||||||
description: Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service monitor and accessible by the Prometheus Operator.
|
description: Secret to mount to read bearer token for scraping
|
||||||
|
targets. The secret needs to be in the same namespace as the
|
||||||
|
service monitor and accessible by the Prometheus Operator.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
honorLabels:
|
honorLabels:
|
||||||
description: HonorLabels chooses the metric's labels on collisions with target labels.
|
description: HonorLabels chooses the metric's labels on collisions
|
||||||
|
with target labels.
|
||||||
type: boolean
|
type: boolean
|
||||||
honorTimestamps:
|
honorTimestamps:
|
||||||
description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
|
description: HonorTimestamps controls whether Prometheus respects
|
||||||
|
the timestamps present in scraped data.
|
||||||
type: boolean
|
type: boolean
|
||||||
interval:
|
interval:
|
||||||
description: Interval at which metrics should be scraped
|
description: Interval at which metrics should be scraped
|
||||||
type: string
|
type: string
|
||||||
metricRelabelings:
|
metricRelabelings:
|
||||||
description: MetricRelabelConfigs to apply to samples before ingestion.
|
description: MetricRelabelConfigs to apply to samples before
|
||||||
|
ingestion.
|
||||||
items:
|
items:
|
||||||
description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
description: 'RelabelConfig allows dynamic rewriting of the
|
||||||
|
label set, being applied to samples before ingestion. It
|
||||||
|
defines `<metric_relabel_configs>`-section of Prometheus
|
||||||
|
configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
description: Action to perform based on regex matching. Default is 'replace'
|
description: Action to perform based on regex matching.
|
||||||
|
Default is 'replace'
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source label values.
|
description: Modulus to take of the hash of the source
|
||||||
|
label values.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
regex:
|
regex:
|
||||||
description: Regular expression against which the extracted value is matched. Default is '(.*)'
|
description: Regular expression against which the extracted
|
||||||
|
value is matched. Default is '(.*)'
|
||||||
type: string
|
type: string
|
||||||
replacement:
|
replacement:
|
||||||
description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
|
description: Replacement value against which a regex replace
|
||||||
|
is performed if the regular expression matches. Regex
|
||||||
|
capture groups are available. Default is '$1'
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
description: Separator placed between concatenated source label values. default is ';'.
|
description: Separator placed between concatenated source
|
||||||
|
label values. default is ';'.
|
||||||
type: string
|
type: string
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
|
description: The source labels select values from existing
|
||||||
|
labels. Their content is concatenated using the configured
|
||||||
|
separator and matched against the configured regular
|
||||||
|
expression for the replace, keep, and drop actions.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
targetLabel:
|
targetLabel:
|
||||||
description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
|
description: Label to which the resulting value is written
|
||||||
|
in a replace action. It is mandatory for replace actions.
|
||||||
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
@ -143,39 +180,58 @@ spec:
|
|||||||
description: HTTP path to scrape for metrics.
|
description: HTTP path to scrape for metrics.
|
||||||
type: string
|
type: string
|
||||||
port:
|
port:
|
||||||
description: Name of the service port this endpoint refers to. Mutually exclusive with targetPort.
|
description: Name of the service port this endpoint refers to.
|
||||||
|
Mutually exclusive with targetPort.
|
||||||
type: string
|
type: string
|
||||||
proxyUrl:
|
proxyUrl:
|
||||||
description: ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint.
|
description: ProxyURL eg http://proxyserver:2195 Directs scrapes
|
||||||
|
to proxy through this endpoint.
|
||||||
type: string
|
type: string
|
||||||
relabelings:
|
relabelings:
|
||||||
description: 'RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields and replaces original scrape job name with __tmp_prometheus_job_name. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
description: 'RelabelConfigs to apply to samples before scraping.
|
||||||
|
Prometheus Operator automatically adds relabelings for a few
|
||||||
|
standard Kubernetes fields and replaces original scrape job
|
||||||
|
name with __tmp_prometheus_job_name. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config'
|
||||||
items:
|
items:
|
||||||
description: 'RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
description: 'RelabelConfig allows dynamic rewriting of the
|
||||||
|
label set, being applied to samples before ingestion. It
|
||||||
|
defines `<metric_relabel_configs>`-section of Prometheus
|
||||||
|
configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
|
||||||
properties:
|
properties:
|
||||||
action:
|
action:
|
||||||
description: Action to perform based on regex matching. Default is 'replace'
|
description: Action to perform based on regex matching.
|
||||||
|
Default is 'replace'
|
||||||
type: string
|
type: string
|
||||||
modulus:
|
modulus:
|
||||||
description: Modulus to take of the hash of the source label values.
|
description: Modulus to take of the hash of the source
|
||||||
|
label values.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
regex:
|
regex:
|
||||||
description: Regular expression against which the extracted value is matched. Default is '(.*)'
|
description: Regular expression against which the extracted
|
||||||
|
value is matched. Default is '(.*)'
|
||||||
type: string
|
type: string
|
||||||
replacement:
|
replacement:
|
||||||
description: Replacement value against which a regex replace is performed if the regular expression matches. Regex capture groups are available. Default is '$1'
|
description: Replacement value against which a regex replace
|
||||||
|
is performed if the regular expression matches. Regex
|
||||||
|
capture groups are available. Default is '$1'
|
||||||
type: string
|
type: string
|
||||||
separator:
|
separator:
|
||||||
description: Separator placed between concatenated source label values. default is ';'.
|
description: Separator placed between concatenated source
|
||||||
|
label values. default is ';'.
|
||||||
type: string
|
type: string
|
||||||
sourceLabels:
|
sourceLabels:
|
||||||
description: The source labels select values from existing labels. Their content is concatenated using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions.
|
description: The source labels select values from existing
|
||||||
|
labels. Their content is concatenated using the configured
|
||||||
|
separator and matched against the configured regular
|
||||||
|
expression for the replace, keep, and drop actions.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
targetLabel:
|
targetLabel:
|
||||||
description: Label to which the resulting value is written in a replace action. It is mandatory for replace actions. Regex capture groups are available.
|
description: Label to which the resulting value is written
|
||||||
|
in a replace action. It is mandatory for replace actions.
|
||||||
|
Regex capture groups are available.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
@ -189,25 +245,32 @@ spec:
|
|||||||
anyOf:
|
anyOf:
|
||||||
- type: integer
|
- type: integer
|
||||||
- type: string
|
- type: string
|
||||||
description: Name or number of the target port of the Pod behind the Service, the port must be specified with container port property. Mutually exclusive with port.
|
description: Name or number of the target port of the Pod behind
|
||||||
|
the Service, the port must be specified with container port
|
||||||
|
property. Mutually exclusive with port.
|
||||||
x-kubernetes-int-or-string: true
|
x-kubernetes-int-or-string: true
|
||||||
tlsConfig:
|
tlsConfig:
|
||||||
description: TLS configuration to use when scraping the endpoint
|
description: TLS configuration to use when scraping the endpoint
|
||||||
properties:
|
properties:
|
||||||
ca:
|
ca:
|
||||||
description: Struct containing the CA cert to use for the targets.
|
description: Struct containing the CA cert to use for the
|
||||||
|
targets.
|
||||||
properties:
|
properties:
|
||||||
configMap:
|
configMap:
|
||||||
description: ConfigMap containing data to use for the targets.
|
description: ConfigMap containing data to use for the
|
||||||
|
targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key to select.
|
description: The key to select.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -216,35 +279,45 @@ spec:
|
|||||||
description: Secret containing data to use for the targets.
|
description: Secret containing data to use for the targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
caFile:
|
caFile:
|
||||||
description: Path to the CA cert in the Prometheus container to use for the targets.
|
description: Path to the CA cert in the Prometheus container
|
||||||
|
to use for the targets.
|
||||||
type: string
|
type: string
|
||||||
cert:
|
cert:
|
||||||
description: Struct containing the client cert file for the targets.
|
description: Struct containing the client cert file for
|
||||||
|
the targets.
|
||||||
properties:
|
properties:
|
||||||
configMap:
|
configMap:
|
||||||
description: ConfigMap containing data to use for the targets.
|
description: ConfigMap containing data to use for the
|
||||||
|
targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key to select.
|
description: The key to select.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -253,38 +326,48 @@ spec:
|
|||||||
description: Secret containing data to use for the targets.
|
description: Secret containing data to use for the targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind,
|
||||||
|
uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
certFile:
|
certFile:
|
||||||
description: Path to the client cert file in the Prometheus container for the targets.
|
description: Path to the client cert file in the Prometheus
|
||||||
|
container for the targets.
|
||||||
type: string
|
type: string
|
||||||
insecureSkipVerify:
|
insecureSkipVerify:
|
||||||
description: Disable target certificate validation.
|
description: Disable target certificate validation.
|
||||||
type: boolean
|
type: boolean
|
||||||
keyFile:
|
keyFile:
|
||||||
description: Path to the client key file in the Prometheus container for the targets.
|
description: Path to the client key file in the Prometheus
|
||||||
|
container for the targets.
|
||||||
type: string
|
type: string
|
||||||
keySecret:
|
keySecret:
|
||||||
description: Secret containing the client key file for the targets.
|
description: Secret containing the client key file for the
|
||||||
|
targets.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: The key of the secret to select from. Must be a valid secret key.
|
description: The key of the secret to select from. Must
|
||||||
|
be a valid secret key.
|
||||||
type: string
|
type: string
|
||||||
name:
|
name:
|
||||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
||||||
|
TODO: Add other useful fields. apiVersion, kind, uid?'
|
||||||
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
|
||||||
type: boolean
|
type: boolean
|
||||||
required:
|
required:
|
||||||
- key
|
- key
|
||||||
@ -296,13 +379,18 @@ spec:
|
|||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
jobLabel:
|
jobLabel:
|
||||||
description: The label to use to retrieve the job name from.
|
description: "Chooses the label of the Kubernetes `Endpoints`. Its
|
||||||
|
value will be used for the `job`-label's value of the created metrics.
|
||||||
|
\n Default & fallback value: the name of the respective Kubernetes
|
||||||
|
`Endpoint`."
|
||||||
type: string
|
type: string
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
description: Selector to select which namespaces the Endpoints objects are discovered from.
|
description: Selector to select which namespaces the Kubernetes Endpoints
|
||||||
|
objects are discovered from.
|
||||||
properties:
|
properties:
|
||||||
any:
|
any:
|
||||||
description: Boolean describing whether all namespaces are selected in contrast to a list restricting them.
|
description: Boolean describing whether all namespaces are selected
|
||||||
|
in contrast to a list restricting them.
|
||||||
type: boolean
|
type: boolean
|
||||||
matchNames:
|
matchNames:
|
||||||
description: List of namespace names.
|
description: List of namespace names.
|
||||||
@ -311,30 +399,42 @@ spec:
|
|||||||
type: array
|
type: array
|
||||||
type: object
|
type: object
|
||||||
podTargetLabels:
|
podTargetLabels:
|
||||||
description: PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
|
description: PodTargetLabels transfers labels on the Kubernetes `Pod`
|
||||||
|
onto the created metrics.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
sampleLimit:
|
sampleLimit:
|
||||||
description: SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
|
description: SampleLimit defines per-scrape limit on number of scraped
|
||||||
|
samples that will be accepted.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
selector:
|
selector:
|
||||||
description: Selector to select Endpoints objects.
|
description: Selector to select Endpoints objects.
|
||||||
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.
|
||||||
items:
|
items:
|
||||||
description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
|
description: A label selector requirement is a selector that
|
||||||
|
contains values, a key, and an operator that relates the key
|
||||||
|
and values.
|
||||||
properties:
|
properties:
|
||||||
key:
|
key:
|
||||||
description: key is the label key that the selector applies to.
|
description: key is the label key that the selector applies
|
||||||
|
to.
|
||||||
type: string
|
type: string
|
||||||
operator:
|
operator:
|
||||||
description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
|
description: operator represents a key's relationship to
|
||||||
|
a set of values. Valid operators are In, NotIn, Exists
|
||||||
|
and DoesNotExist.
|
||||||
type: string
|
type: string
|
||||||
values:
|
values:
|
||||||
description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
|
description: values is an array of string values. If the
|
||||||
|
operator is In or NotIn, the values array must be non-empty.
|
||||||
|
If the operator is Exists or DoesNotExist, the values
|
||||||
|
array must be empty. This array is replaced during a strategic
|
||||||
|
merge patch.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
@ -346,16 +446,23 @@ spec:
|
|||||||
matchLabels:
|
matchLabels:
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: string
|
type: string
|
||||||
description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
|
description: matchLabels is a map of {key,value} pairs. A single
|
||||||
|
{key,value} in the matchLabels map is equivalent to an element
|
||||||
|
of matchExpressions, whose key field is "key", the operator
|
||||||
|
is "In", and the values array contains only "value". The requirements
|
||||||
|
are ANDed.
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
targetLabels:
|
targetLabels:
|
||||||
description: TargetLabels transfers labels on the Kubernetes Service onto the target.
|
description: TargetLabels transfers labels from the Kubernetes `Service`
|
||||||
|
onto the created metrics. All labels set in `selector.matchLabels`
|
||||||
|
are automatically transferred.
|
||||||
items:
|
items:
|
||||||
type: string
|
type: string
|
||||||
type: array
|
type: array
|
||||||
targetLimit:
|
targetLimit:
|
||||||
description: TargetLimit defines a limit on the number of scraped targets that will be accepted.
|
description: TargetLimit defines a limit on the number of scraped
|
||||||
|
targets that will be accepted.
|
||||||
format: int64
|
format: int64
|
||||||
type: integer
|
type: integer
|
||||||
required:
|
required:
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2149,7 +2149,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -2235,7 +2235,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -2333,7 +2333,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -2419,7 +2419,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
|
@ -706,7 +706,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}) by (pod)",
|
"expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -715,7 +715,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod) / sum(kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}) by (pod)",
|
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -724,7 +724,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}) by (pod)",
|
"expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -733,7 +733,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod) / sum(kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}) by (pod)",
|
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -1171,7 +1171,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}) by (pod)",
|
"expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -1180,7 +1180,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod) / sum(kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}) by (pod)",
|
"expr": "sum(container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -1189,7 +1189,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}) by (pod)",
|
"expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -1198,7 +1198,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod) / sum(kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}) by (pod)",
|
"expr": "sum(container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -1842,7 +1842,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1928,7 +1928,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -2026,7 +2026,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -2112,7 +2112,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
|
@ -321,7 +321,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\", resource=\"cpu\"}) by (pod)",
|
"expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -330,7 +330,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\", resource=\"cpu\"}) by (pod)",
|
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -339,7 +339,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\", resource=\"cpu\"}) by (pod)",
|
"expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -348,7 +348,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\", resource=\"cpu\"}) by (pod)",
|
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -749,7 +749,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\", resource=\"memory\"}) by (pod)",
|
"expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -758,7 +758,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\", resource=\"memory\"}) by (pod)",
|
"expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -767,7 +767,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\", resource=\"memory\"}) by (pod)",
|
"expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -776,7 +776,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\", resource=\"memory\"}) by (pod)",
|
"expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
|
@ -459,7 +459,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}) by (container)",
|
"expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -468,7 +468,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container) / sum(kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}) by (container)",
|
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -477,7 +477,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}) by (container)",
|
"expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -486,7 +486,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container) / sum(kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}) by (container)",
|
"expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -922,7 +922,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}) by (container)",
|
"expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -931,7 +931,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}) by (container) / sum(kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}) by (container)",
|
"expr": "sum(container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}) by (container) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -940,7 +940,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}) by (container)",
|
"expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -949,7 +949,7 @@ data:
|
|||||||
"step": 10
|
"step": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum(container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", image!=\"\"}) by (container) / sum(kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}) by (container)",
|
"expr": "sum(container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", image!=\"\"}) by (container) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": true,
|
"instant": true,
|
||||||
"intervalFactor": 2,
|
"intervalFactor": 2,
|
||||||
@ -1294,7 +1294,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1381,7 +1381,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1480,7 +1480,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1567,7 +1567,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
|
@ -1520,7 +1520,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1606,7 +1606,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1704,7 +1704,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1790,7 +1790,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
|
@ -1707,7 +1707,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1793,7 +1793,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1891,7 +1891,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
@ -1977,7 +1977,7 @@ data:
|
|||||||
},
|
},
|
||||||
"yaxes": [
|
"yaxes": [
|
||||||
{
|
{
|
||||||
"format": "Bps",
|
"format": "pps",
|
||||||
"label": null,
|
"label": null,
|
||||||
"logBase": 1,
|
"logBase": 1,
|
||||||
"max": null,
|
"max": null,
|
||||||
|
@ -573,6 +573,14 @@ data:
|
|||||||
"stack": true,
|
"stack": true,
|
||||||
"steppedLine": false,
|
"steppedLine": false,
|
||||||
"targets": [
|
"targets": [
|
||||||
|
{
|
||||||
|
"expr": "sum by (job) (rate(prometheus_target_scrapes_exceeded_body_size_limit_total[1m]))",
|
||||||
|
"format": "time_series",
|
||||||
|
"intervalFactor": 2,
|
||||||
|
"legendFormat": "exceeded body size limit: {{`{{`}}job{{`}}`}}",
|
||||||
|
"legendLink": null,
|
||||||
|
"step": 10
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"expr": "sum by (job) (rate(prometheus_target_scrapes_exceeded_sample_limit_total[1m]))",
|
"expr": "sum by (job) (rate(prometheus_target_scrapes_exceeded_sample_limit_total[1m]))",
|
||||||
"format": "time_series",
|
"format": "time_series",
|
||||||
|
@ -55,6 +55,12 @@ spec:
|
|||||||
max by(namespace, pod, node) (kube_pod_info{node!=""})
|
max by(namespace, pod, node) (kube_pod_info{node!=""})
|
||||||
)
|
)
|
||||||
record: node_namespace_pod_container:container_memory_swap
|
record: node_namespace_pod_container:container_memory_swap
|
||||||
|
- expr: |-
|
||||||
|
kube_pod_container_resource_requests{resource="memory",job="kube-state-metrics"} * on (namespace, pod, cluster)
|
||||||
|
group_left() max by (namespace, pod) (
|
||||||
|
(kube_pod_status_phase{phase=~"Pending|Running"} == 1)
|
||||||
|
)
|
||||||
|
record: cluster:namespace:pod_memory:active:kube_pod_container_resource_requests
|
||||||
- expr: |-
|
- expr: |-
|
||||||
sum by (namespace, cluster) (
|
sum by (namespace, cluster) (
|
||||||
sum by (namespace, pod, cluster) (
|
sum by (namespace, pod, cluster) (
|
||||||
@ -66,6 +72,12 @@ spec:
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
record: namespace_memory:kube_pod_container_resource_requests:sum
|
record: namespace_memory:kube_pod_container_resource_requests:sum
|
||||||
|
- expr: |-
|
||||||
|
kube_pod_container_resource_requests{resource="cpu",job="kube-state-metrics"} * on (namespace, pod, cluster)
|
||||||
|
group_left() max by (namespace, pod) (
|
||||||
|
(kube_pod_status_phase{phase=~"Pending|Running"} == 1)
|
||||||
|
)
|
||||||
|
record: cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests
|
||||||
- expr: |-
|
- expr: |-
|
||||||
sum by (namespace, cluster) (
|
sum by (namespace, cluster) (
|
||||||
sum by (namespace, pod, cluster) (
|
sum by (namespace, pod, cluster) (
|
||||||
@ -77,6 +89,12 @@ spec:
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
record: namespace_cpu:kube_pod_container_resource_requests:sum
|
record: namespace_cpu:kube_pod_container_resource_requests:sum
|
||||||
|
- expr: |-
|
||||||
|
kube_pod_container_resource_limits{resource="memory",job="kube-state-metrics"} * on (namespace, pod, cluster)
|
||||||
|
group_left() max by (namespace, pod) (
|
||||||
|
(kube_pod_status_phase{phase=~"Pending|Running"} == 1)
|
||||||
|
)
|
||||||
|
record: cluster:namespace:pod_memory:active:kube_pod_container_resource_limits
|
||||||
- expr: |-
|
- expr: |-
|
||||||
sum by (namespace, cluster) (
|
sum by (namespace, cluster) (
|
||||||
sum by (namespace, pod, cluster) (
|
sum by (namespace, pod, cluster) (
|
||||||
@ -88,6 +106,12 @@ spec:
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
record: namespace_memory:kube_pod_container_resource_limits:sum
|
record: namespace_memory:kube_pod_container_resource_limits:sum
|
||||||
|
- expr: |-
|
||||||
|
kube_pod_container_resource_limits{resource="cpu",job="kube-state-metrics"} * on (namespace, pod, cluster)
|
||||||
|
group_left() max by (namespace, pod) (
|
||||||
|
(kube_pod_status_phase{phase=~"Pending|Running"} == 1)
|
||||||
|
)
|
||||||
|
record: cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits
|
||||||
- expr: |-
|
- expr: |-
|
||||||
sum by (namespace, cluster) (
|
sum by (namespace, cluster) (
|
||||||
sum by (namespace, pod, cluster) (
|
sum by (namespace, pod, cluster) (
|
||||||
|
@ -25,6 +25,16 @@ spec:
|
|||||||
- interval: 3m
|
- interval: 3m
|
||||||
name: kube-apiserver-availability.rules
|
name: kube-apiserver-availability.rules
|
||||||
rules:
|
rules:
|
||||||
|
- expr: avg_over_time(code_verb:apiserver_request_total:increase1h[30d]) * 24 * 30
|
||||||
|
record: code_verb:apiserver_request_total:increase30d
|
||||||
|
- expr: sum by (cluster, code) (code_verb:apiserver_request_total:increase30d{verb=~"LIST|GET"})
|
||||||
|
labels:
|
||||||
|
verb: read
|
||||||
|
record: code:apiserver_request_total:increase30d
|
||||||
|
- expr: sum by (cluster, code) (code_verb:apiserver_request_total:increase30d{verb=~"POST|PUT|PATCH|DELETE"})
|
||||||
|
labels:
|
||||||
|
verb: write
|
||||||
|
record: code:apiserver_request_total:increase30d
|
||||||
- expr: |-
|
- expr: |-
|
||||||
1 - (
|
1 - (
|
||||||
(
|
(
|
||||||
@ -39,14 +49,14 @@ spec:
|
|||||||
-
|
-
|
||||||
(
|
(
|
||||||
(
|
(
|
||||||
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{verb=~"LIST|GET",scope=~"resource|",le="0.1"}[30d]))
|
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{verb=~"LIST|GET",scope=~"resource|",le="1"}[30d]))
|
||||||
or
|
or
|
||||||
vector(0)
|
vector(0)
|
||||||
)
|
)
|
||||||
+
|
+
|
||||||
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{verb=~"LIST|GET",scope="namespace",le="0.5"}[30d]))
|
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{verb=~"LIST|GET",scope="namespace",le="5"}[30d]))
|
||||||
+
|
+
|
||||||
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{verb=~"LIST|GET",scope="cluster",le="5"}[30d]))
|
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{verb=~"LIST|GET",scope="cluster",le="40"}[30d]))
|
||||||
)
|
)
|
||||||
) +
|
) +
|
||||||
# errors
|
# errors
|
||||||
@ -64,14 +74,14 @@ spec:
|
|||||||
(
|
(
|
||||||
# too slow
|
# too slow
|
||||||
(
|
(
|
||||||
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope=~"resource|",le="0.1"}[30d]))
|
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope=~"resource|",le="1"}[30d]))
|
||||||
or
|
or
|
||||||
vector(0)
|
vector(0)
|
||||||
)
|
)
|
||||||
+
|
+
|
||||||
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="namespace",le="0.5"}[30d]))
|
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="namespace",le="5"}[30d]))
|
||||||
+
|
+
|
||||||
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="cluster",le="5"}[30d]))
|
sum by (cluster) (increase(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="cluster",le="40"}[30d]))
|
||||||
)
|
)
|
||||||
+
|
+
|
||||||
# errors
|
# errors
|
||||||
@ -99,62 +109,20 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
verb: write
|
verb: write
|
||||||
record: apiserver_request:availability30d
|
record: apiserver_request:availability30d
|
||||||
- expr: avg_over_time(code_verb:apiserver_request_total:increase1h[30d]) * 24 * 30
|
- expr: sum by (cluster,code,resource) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET"}[5m]))
|
||||||
record: code_verb:apiserver_request_total:increase30d
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="LIST",code=~"2.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="GET",code=~"2.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="POST",code=~"2.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="PUT",code=~"2.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="PATCH",code=~"2.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="DELETE",code=~"2.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="LIST",code=~"3.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="GET",code=~"3.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="POST",code=~"3.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="PUT",code=~"3.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="PATCH",code=~"3.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="DELETE",code=~"3.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="LIST",code=~"4.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="GET",code=~"4.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="POST",code=~"4.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="PUT",code=~"4.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="PATCH",code=~"4.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="DELETE",code=~"4.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="LIST",code=~"5.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="GET",code=~"5.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="POST",code=~"5.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="PUT",code=~"5.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="PATCH",code=~"5.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb="DELETE",code=~"5.."}[1h]))
|
|
||||||
record: code_verb:apiserver_request_total:increase1h
|
|
||||||
- expr: sum by (cluster, code) (code_verb:apiserver_request_total:increase30d{verb=~"LIST|GET"})
|
|
||||||
labels:
|
labels:
|
||||||
verb: read
|
verb: read
|
||||||
record: code:apiserver_request_total:increase30d
|
record: code_resource:apiserver_request_total:rate5m
|
||||||
- expr: sum by (cluster, code) (code_verb:apiserver_request_total:increase30d{verb=~"POST|PUT|PATCH|DELETE"})
|
- expr: sum by (cluster,code,resource) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[5m]))
|
||||||
labels:
|
labels:
|
||||||
verb: write
|
verb: write
|
||||||
record: code:apiserver_request_total:increase30d
|
record: code_resource:apiserver_request_total:rate5m
|
||||||
|
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb=~"LIST|GET|POST|PUT|PATCH|DELETE",code=~"2.."}[1h]))
|
||||||
|
record: code_verb:apiserver_request_total:increase1h
|
||||||
|
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb=~"LIST|GET|POST|PUT|PATCH|DELETE",code=~"3.."}[1h]))
|
||||||
|
record: code_verb:apiserver_request_total:increase1h
|
||||||
|
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb=~"LIST|GET|POST|PUT|PATCH|DELETE",code=~"4.."}[1h]))
|
||||||
|
record: code_verb:apiserver_request_total:increase1h
|
||||||
|
- expr: sum by (cluster, code, verb) (increase(apiserver_request_total{job="apiserver",verb=~"LIST|GET|POST|PUT|PATCH|DELETE",code=~"5.."}[1h]))
|
||||||
|
record: code_verb:apiserver_request_total:increase1h
|
||||||
{{- end }}
|
{{- end }}
|
@ -0,0 +1,328 @@
|
|||||||
|
{{- /*
|
||||||
|
Generated from 'kube-apiserver-burnrate.rules' group from https://raw.githubusercontent.com/prometheus-operator/kube-prometheus/main/manifests/kubernetes-prometheusRule.yaml
|
||||||
|
Do not change in-place! In order to change this file first read following link:
|
||||||
|
https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
|
||||||
|
*/ -}}
|
||||||
|
{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion .Values.kubeTargetVersionOverride }}
|
||||||
|
{{- if and (semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" $kubeTargetVersion) .Values.defaultRules.create }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PrometheusRule
|
||||||
|
metadata:
|
||||||
|
name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" .) "kube-apiserver-burnrate.rules" | trunc 63 | trimSuffix "-" }}
|
||||||
|
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
||||||
|
labels:
|
||||||
|
app: {{ template "kube-prometheus-stack.name" . }}
|
||||||
|
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
||||||
|
{{- if .Values.defaultRules.labels }}
|
||||||
|
{{ toYaml .Values.defaultRules.labels | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.defaultRules.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{ toYaml .Values.defaultRules.annotations | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
groups:
|
||||||
|
- name: kube-apiserver-burnrate.rules
|
||||||
|
rules:
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"LIST|GET"}[1d]))
|
||||||
|
-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope=~"resource|",le="1"}[1d]))
|
||||||
|
or
|
||||||
|
vector(0)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="namespace",le="5"}[1d]))
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="cluster",le="40"}[1d]))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
# errors
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET",code=~"5.."}[1d]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET"}[1d]))
|
||||||
|
labels:
|
||||||
|
verb: read
|
||||||
|
record: apiserver_request:burnrate1d
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"LIST|GET"}[1h]))
|
||||||
|
-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope=~"resource|",le="1"}[1h]))
|
||||||
|
or
|
||||||
|
vector(0)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="namespace",le="5"}[1h]))
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="cluster",le="40"}[1h]))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
# errors
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET",code=~"5.."}[1h]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET"}[1h]))
|
||||||
|
labels:
|
||||||
|
verb: read
|
||||||
|
record: apiserver_request:burnrate1h
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"LIST|GET"}[2h]))
|
||||||
|
-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope=~"resource|",le="1"}[2h]))
|
||||||
|
or
|
||||||
|
vector(0)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="namespace",le="5"}[2h]))
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="cluster",le="40"}[2h]))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
# errors
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET",code=~"5.."}[2h]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET"}[2h]))
|
||||||
|
labels:
|
||||||
|
verb: read
|
||||||
|
record: apiserver_request:burnrate2h
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"LIST|GET"}[30m]))
|
||||||
|
-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope=~"resource|",le="1"}[30m]))
|
||||||
|
or
|
||||||
|
vector(0)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="namespace",le="5"}[30m]))
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="cluster",le="40"}[30m]))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
# errors
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET",code=~"5.."}[30m]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET"}[30m]))
|
||||||
|
labels:
|
||||||
|
verb: read
|
||||||
|
record: apiserver_request:burnrate30m
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"LIST|GET"}[3d]))
|
||||||
|
-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope=~"resource|",le="1"}[3d]))
|
||||||
|
or
|
||||||
|
vector(0)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="namespace",le="5"}[3d]))
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="cluster",le="40"}[3d]))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
# errors
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET",code=~"5.."}[3d]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET"}[3d]))
|
||||||
|
labels:
|
||||||
|
verb: read
|
||||||
|
record: apiserver_request:burnrate3d
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"LIST|GET"}[5m]))
|
||||||
|
-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope=~"resource|",le="1"}[5m]))
|
||||||
|
or
|
||||||
|
vector(0)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="namespace",le="5"}[5m]))
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="cluster",le="40"}[5m]))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
# errors
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET",code=~"5.."}[5m]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET"}[5m]))
|
||||||
|
labels:
|
||||||
|
verb: read
|
||||||
|
record: apiserver_request:burnrate5m
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"LIST|GET"}[6h]))
|
||||||
|
-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope=~"resource|",le="1"}[6h]))
|
||||||
|
or
|
||||||
|
vector(0)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="namespace",le="5"}[6h]))
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET",scope="cluster",le="40"}[6h]))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
# errors
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET",code=~"5.."}[6h]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"LIST|GET"}[6h]))
|
||||||
|
labels:
|
||||||
|
verb: read
|
||||||
|
record: apiserver_request:burnrate6h
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1d]))
|
||||||
|
-
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",le="1"}[1d]))
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[1d]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1d]))
|
||||||
|
labels:
|
||||||
|
verb: write
|
||||||
|
record: apiserver_request:burnrate1d
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h]))
|
||||||
|
-
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",le="1"}[1h]))
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[1h]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h]))
|
||||||
|
labels:
|
||||||
|
verb: write
|
||||||
|
record: apiserver_request:burnrate1h
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2h]))
|
||||||
|
-
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",le="1"}[2h]))
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[2h]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2h]))
|
||||||
|
labels:
|
||||||
|
verb: write
|
||||||
|
record: apiserver_request:burnrate2h
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m]))
|
||||||
|
-
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",le="1"}[30m]))
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[30m]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m]))
|
||||||
|
labels:
|
||||||
|
verb: write
|
||||||
|
record: apiserver_request:burnrate30m
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3d]))
|
||||||
|
-
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",le="1"}[3d]))
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[3d]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3d]))
|
||||||
|
labels:
|
||||||
|
verb: write
|
||||||
|
record: apiserver_request:burnrate3d
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[5m]))
|
||||||
|
-
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",le="1"}[5m]))
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[5m]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[5m]))
|
||||||
|
labels:
|
||||||
|
verb: write
|
||||||
|
record: apiserver_request:burnrate5m
|
||||||
|
- expr: |-
|
||||||
|
(
|
||||||
|
(
|
||||||
|
# too slow
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_count{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[6h]))
|
||||||
|
-
|
||||||
|
sum by (cluster) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",le="1"}[6h]))
|
||||||
|
)
|
||||||
|
+
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[6h]))
|
||||||
|
)
|
||||||
|
/
|
||||||
|
sum by (cluster) (rate(apiserver_request_total{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[6h]))
|
||||||
|
labels:
|
||||||
|
verb: write
|
||||||
|
record: apiserver_request:burnrate6h
|
||||||
|
{{- end }}
|
@ -0,0 +1,49 @@
|
|||||||
|
{{- /*
|
||||||
|
Generated from 'kube-apiserver-histogram.rules' group from https://raw.githubusercontent.com/prometheus-operator/kube-prometheus/main/manifests/kubernetes-prometheusRule.yaml
|
||||||
|
Do not change in-place! In order to change this file first read following link:
|
||||||
|
https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/hack
|
||||||
|
*/ -}}
|
||||||
|
{{- $kubeTargetVersion := default .Capabilities.KubeVersion.GitVersion .Values.kubeTargetVersionOverride }}
|
||||||
|
{{- if and (semverCompare ">=1.14.0-0" $kubeTargetVersion) (semverCompare "<9.9.9-9" $kubeTargetVersion) .Values.defaultRules.create }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PrometheusRule
|
||||||
|
metadata:
|
||||||
|
name: {{ printf "%s-%s" (include "kube-prometheus-stack.fullname" .) "kube-apiserver-histogram.rules" | trunc 63 | trimSuffix "-" }}
|
||||||
|
namespace: {{ template "kube-prometheus-stack.namespace" . }}
|
||||||
|
labels:
|
||||||
|
app: {{ template "kube-prometheus-stack.name" . }}
|
||||||
|
{{ include "kube-prometheus-stack.labels" . | indent 4 }}
|
||||||
|
{{- if .Values.defaultRules.labels }}
|
||||||
|
{{ toYaml .Values.defaultRules.labels | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.defaultRules.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{ toYaml .Values.defaultRules.annotations | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
groups:
|
||||||
|
- name: kube-apiserver-histogram.rules
|
||||||
|
rules:
|
||||||
|
- expr: histogram_quantile(0.99, sum by (cluster, le, resource) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"LIST|GET"}[5m]))) > 0
|
||||||
|
labels:
|
||||||
|
quantile: '0.99'
|
||||||
|
verb: read
|
||||||
|
record: cluster_quantile:apiserver_request_duration_seconds:histogram_quantile
|
||||||
|
- expr: histogram_quantile(0.99, sum by (cluster, le, resource) (rate(apiserver_request_duration_seconds_bucket{job="apiserver",verb=~"POST|PUT|PATCH|DELETE"}[5m]))) > 0
|
||||||
|
labels:
|
||||||
|
quantile: '0.99'
|
||||||
|
verb: write
|
||||||
|
record: cluster_quantile:apiserver_request_duration_seconds:histogram_quantile
|
||||||
|
- expr: histogram_quantile(0.99, sum(rate(apiserver_request_duration_seconds_bucket{job="apiserver",subresource!="log",verb!~"LIST|WATCH|WATCHLIST|DELETECOLLECTION|PROXY|CONNECT"}[5m])) without(instance, pod))
|
||||||
|
labels:
|
||||||
|
quantile: '0.99'
|
||||||
|
record: cluster_quantile:apiserver_request_duration_seconds:histogram_quantile
|
||||||
|
- expr: histogram_quantile(0.9, sum(rate(apiserver_request_duration_seconds_bucket{job="apiserver",subresource!="log",verb!~"LIST|WATCH|WATCHLIST|DELETECOLLECTION|PROXY|CONNECT"}[5m])) without(instance, pod))
|
||||||
|
labels:
|
||||||
|
quantile: '0.9'
|
||||||
|
record: cluster_quantile:apiserver_request_duration_seconds:histogram_quantile
|
||||||
|
- expr: histogram_quantile(0.5, sum(rate(apiserver_request_duration_seconds_bucket{job="apiserver",subresource!="log",verb!~"LIST|WATCH|WATCHLIST|DELETECOLLECTION|PROXY|CONNECT"}[5m])) without(instance, pod))
|
||||||
|
labels:
|
||||||
|
quantile: '0.5'
|
||||||
|
record: cluster_quantile:apiserver_request_duration_seconds:histogram_quantile
|
||||||
|
{{- end }}
|
@ -33,7 +33,7 @@ spec:
|
|||||||
expr: |-
|
expr: |-
|
||||||
increase(kube_pod_container_status_restarts_total{job="kube-state-metrics", namespace=~"{{ $targetNamespace }}"}[10m]) > 0
|
increase(kube_pod_container_status_restarts_total{job="kube-state-metrics", namespace=~"{{ $targetNamespace }}"}[10m]) > 0
|
||||||
and
|
and
|
||||||
sum without (phase) (kube_pod_status_phase{phase!="Running",job="kube-state-metrics", namespace=~"{{ $targetNamespace }}"} == 1)
|
kube_pod_container_status_waiting{job="kube-state-metrics", namespace=~"{{ $targetNamespace }}"} == 1
|
||||||
for: 15m
|
for: 15m
|
||||||
labels:
|
labels:
|
||||||
severity: warning
|
severity: warning
|
||||||
|
@ -57,6 +57,7 @@ spec:
|
|||||||
{{- if .Values.defaultRules.additionalRuleLabels }}
|
{{- if .Values.defaultRules.additionalRuleLabels }}
|
||||||
{{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
|
{{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if semverCompare ">=1.18.0-0" $kubeTargetVersion }}
|
||||||
- alert: AggregatedAPIDown
|
- alert: AggregatedAPIDown
|
||||||
annotations:
|
annotations:
|
||||||
description: An aggregated API {{`{{`}} $labels.name {{`}}`}}/{{`{{`}} $labels.namespace {{`}}`}} has been only {{`{{`}} $value | humanize {{`}}`}}% available over the last 10m.
|
description: An aggregated API {{`{{`}} $labels.name {{`}}`}}/{{`{{`}} $labels.namespace {{`}}`}} has been only {{`{{`}} $value | humanize {{`}}`}}% available over the last 10m.
|
||||||
@ -69,6 +70,7 @@ spec:
|
|||||||
{{- if .Values.defaultRules.additionalRuleLabels }}
|
{{- if .Values.defaultRules.additionalRuleLabels }}
|
||||||
{{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
|
{{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.kubeApiServer.enabled }}
|
{{- if .Values.kubeApiServer.enabled }}
|
||||||
- alert: KubeAPIDown
|
- alert: KubeAPIDown
|
||||||
annotations:
|
annotations:
|
||||||
|
@ -274,5 +274,35 @@ spec:
|
|||||||
severity: warning
|
severity: warning
|
||||||
{{- if .Values.defaultRules.additionalRuleLabels }}
|
{{- if .Values.defaultRules.additionalRuleLabels }}
|
||||||
{{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
|
{{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
- alert: NodeFileDescriptorLimit
|
||||||
|
annotations:
|
||||||
|
description: File descriptors limit at {{`{{`}} $labels.instance {{`}}`}} is currently at {{`{{`}} printf "%.2f" $value {{`}}`}}%.
|
||||||
|
runbook_url: {{ .Values.defaultRules.runbookUrl }}alert-name-nodefiledescriptorlimit
|
||||||
|
summary: Kernel is predicted to exhaust file descriptors limit soon.
|
||||||
|
expr: |-
|
||||||
|
(
|
||||||
|
node_filefd_allocated{job="node-exporter"} * 100 / node_filefd_maximum{job="node-exporter"} > 70
|
||||||
|
)
|
||||||
|
for: 15m
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
{{- if .Values.defaultRules.additionalRuleLabels }}
|
||||||
|
{{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
- alert: NodeFileDescriptorLimit
|
||||||
|
annotations:
|
||||||
|
description: File descriptors limit at {{`{{`}} $labels.instance {{`}}`}} is currently at {{`{{`}} printf "%.2f" $value {{`}}`}}%.
|
||||||
|
runbook_url: {{ .Values.defaultRules.runbookUrl }}alert-name-nodefiledescriptorlimit
|
||||||
|
summary: Kernel is predicted to exhaust file descriptors limit soon.
|
||||||
|
expr: |-
|
||||||
|
(
|
||||||
|
node_filefd_allocated{job="node-exporter"} * 100 / node_filefd_maximum{job="node-exporter"} > 90
|
||||||
|
)
|
||||||
|
for: 15m
|
||||||
|
labels:
|
||||||
|
severity: critical
|
||||||
|
{{- if .Values.defaultRules.additionalRuleLabels }}
|
||||||
|
{{ toYaml .Values.defaultRules.additionalRuleLabels | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
@ -26,8 +26,9 @@ spec:
|
|||||||
rules:
|
rules:
|
||||||
- alert: NodeNetworkInterfaceFlapping
|
- alert: NodeNetworkInterfaceFlapping
|
||||||
annotations:
|
annotations:
|
||||||
message: Network interface "{{`{{`}} $labels.device {{`}}`}}" changing it's up status often on node-exporter {{`{{`}} $labels.namespace {{`}}`}}/{{`{{`}} $labels.pod {{`}}`}}
|
description: Network interface "{{`{{`}} $labels.device {{`}}`}}" changing it's up status often on node-exporter {{`{{`}} $labels.namespace {{`}}`}}/{{`{{`}} $labels.pod {{`}}`}}
|
||||||
runbook_url: {{ .Values.defaultRules.runbookUrl }}alert-name-nodenetworkinterfaceflapping
|
runbook_url: {{ .Values.defaultRules.runbookUrl }}alert-name-nodenetworkinterfaceflapping
|
||||||
|
summary: Network interface is often changin it's status
|
||||||
expr: changes(node_network_up{job="node-exporter",device!~"veth.+"}[2m]) > 2
|
expr: changes(node_network_up{job="node-exporter",device!~"veth.+"}[2m]) > 2
|
||||||
for: 2m
|
for: 2m
|
||||||
labels:
|
labels:
|
||||||
|
@ -15,6 +15,15 @@ metadata:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
type: {{ .Values.prometheus.thanosServiceExternal.type }}
|
type: {{ .Values.prometheus.thanosServiceExternal.type }}
|
||||||
|
{{- if .Values.prometheus.thanosServiceExternal.loadBalancerIP }}
|
||||||
|
loadBalancerIP: {{ .Values.prometheus.thanosServiceExternal.loadBalancerIP }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.thanosServiceExternal.loadBalancerSourceRanges }}
|
||||||
|
loadBalancerSourceRanges:
|
||||||
|
{{- range $cidr := .Values.prometheus.thanosServiceExternal.loadBalancerSourceRanges }}
|
||||||
|
- {{ $cidr }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
ports:
|
ports:
|
||||||
- name: {{ .Values.prometheus.thanosServiceExternal.portName }}
|
- name: {{ .Values.prometheus.thanosServiceExternal.portName }}
|
||||||
port: {{ .Values.prometheus.thanosServiceExternal.port }}
|
port: {{ .Values.prometheus.thanosServiceExternal.port }}
|
||||||
|
@ -1562,7 +1562,7 @@ prometheusOperator:
|
|||||||
##
|
##
|
||||||
image:
|
image:
|
||||||
repository: quay.io/prometheus-operator/prometheus-operator
|
repository: quay.io/prometheus-operator/prometheus-operator
|
||||||
tag: v0.48.1
|
tag: v0.49.0
|
||||||
sha: ""
|
sha: ""
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
@ -1578,7 +1578,7 @@ prometheusOperator:
|
|||||||
##
|
##
|
||||||
prometheusConfigReloaderImage:
|
prometheusConfigReloaderImage:
|
||||||
repository: quay.io/prometheus-operator/prometheus-config-reloader
|
repository: quay.io/prometheus-operator/prometheus-config-reloader
|
||||||
tag: v0.48.1
|
tag: v0.49.0
|
||||||
sha: ""
|
sha: ""
|
||||||
|
|
||||||
## Set the prometheus config reloader side-car CPU limit
|
## Set the prometheus config reloader side-car CPU limit
|
||||||
@ -1649,6 +1649,8 @@ prometheus:
|
|||||||
portName: grpc
|
portName: grpc
|
||||||
port: 10901
|
port: 10901
|
||||||
targetPort: "grpc"
|
targetPort: "grpc"
|
||||||
|
loadBalancerIP: ""
|
||||||
|
loadBalancerSourceRanges: []
|
||||||
|
|
||||||
## Service type
|
## Service type
|
||||||
##
|
##
|
||||||
@ -1928,7 +1930,7 @@ prometheus:
|
|||||||
##
|
##
|
||||||
image:
|
image:
|
||||||
repository: quay.io/prometheus/prometheus
|
repository: quay.io/prometheus/prometheus
|
||||||
tag: v2.27.1
|
tag: v2.28.1
|
||||||
sha: ""
|
sha: ""
|
||||||
|
|
||||||
## Tolerations for use with node taints
|
## Tolerations for use with node taints
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
"subdir": "grafana-builder"
|
"subdir": "grafana-builder"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "2a6bdb7df17539b27869bab8b04eab0cc69a7abb",
|
"version": "8df6a4ff1623781260c3236761c2ebe837958b3f",
|
||||||
"sum": "GRf2GvwEU4jhXV+JOonXSZ4wdDv8mnHBPCQ6TUVd+g8="
|
"sum": "GRf2GvwEU4jhXV+JOonXSZ4wdDv8mnHBPCQ6TUVd+g8="
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -28,8 +28,8 @@
|
|||||||
"subdir": ""
|
"subdir": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": "50dddcc2aecf074c7f7fab92caa87a806e5040fa",
|
"version": "25b5047a57352345e478b215370dfcd1fecee27d",
|
||||||
"sum": "H4TcGWDVaNF51ZaGpJwm9rVympjpTtSjl4UCYI8q1LU="
|
"sum": "z+ksn3PAtR/fYtxgsrrG4euIriyiefZsTUcJaVXdG1Q="
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"legacyImports": false
|
"legacyImports": false
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
VERSION=16.13.0
|
VERSION=17.0.3
|
||||||
PG_VER=1.10.1
|
PG_VER=1.10.1
|
||||||
|
|
||||||
rm -rf charts/kube-prometheus-stack
|
rm -rf charts/kube-prometheus-stack
|
||||||
|
@ -18,18 +18,6 @@ diff -tubr charts/kube-prometheus-stack/charts/grafana/templates/_pod.tpl charts
|
|||||||
{{- end}}
|
{{- end}}
|
||||||
- name: {{ .Chart.Name }}
|
- name: {{ .Chart.Name }}
|
||||||
{{- if .Values.image.sha }}
|
{{- if .Values.image.sha }}
|
||||||
diff -tubr charts/kube-prometheus-stack/charts/kube-state-metrics/values.yaml charts/kube-prometheus-stack.zdt/charts/kube-state-metrics/values.yaml
|
|
||||||
--- charts/kube-prometheus-stack/charts/kube-state-metrics/values.yaml 2021-06-26 19:54:57.000000000 +0200
|
|
||||||
+++ charts/kube-prometheus-stack.zdt/charts/kube-state-metrics/values.yaml 2021-07-01 13:33:01.713947294 +0200
|
|
||||||
@@ -162,7 +162,7 @@
|
|
||||||
- statefulsets
|
|
||||||
- storageclasses
|
|
||||||
- validatingwebhookconfigurations
|
|
||||||
- - verticalpodautoscalers
|
|
||||||
+ #- verticalpodautoscalers
|
|
||||||
- volumeattachments
|
|
||||||
|
|
||||||
# Enabling kubeconfig will pass the --kubeconfig argument to the container
|
|
||||||
diff -tubr charts/kube-prometheus-stack/templates/prometheus/rules-1.14/etcd.yaml charts/kube-prometheus-stack.zdt/templates/prometheus/rules-1.14/etcd.yaml
|
diff -tubr charts/kube-prometheus-stack/templates/prometheus/rules-1.14/etcd.yaml charts/kube-prometheus-stack.zdt/templates/prometheus/rules-1.14/etcd.yaml
|
||||||
--- charts/kube-prometheus-stack/templates/prometheus/rules-1.14/etcd.yaml 2021-06-26 19:54:57.000000000 +0200
|
--- charts/kube-prometheus-stack/templates/prometheus/rules-1.14/etcd.yaml 2021-06-26 19:54:57.000000000 +0200
|
||||||
+++ charts/kube-prometheus-stack.zdt/templates/prometheus/rules-1.14/etcd.yaml 2021-07-01 13:31:20.750609396 +0200
|
+++ charts/kube-prometheus-stack.zdt/templates/prometheus/rules-1.14/etcd.yaml 2021-07-01 13:31:20.750609396 +0200
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{- if .Values.rabbitmq.auth.tls.enabled }}
|
{{- if .Values.rabbitmq.auth.tls.enabled }}
|
||||||
apiVersion: cert-manager.io/v1alpha2
|
apiVersion: cert-manager.io/v1
|
||||||
kind: Certificate
|
kind: Certificate
|
||||||
metadata:
|
metadata:
|
||||||
name: rabbitmq-server-certificate
|
name: rabbitmq-server-certificate
|
||||||
|
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
name: kubezero-redis
|
name: kubezero-redis
|
||||||
description: KubeZero Umbrella Chart for Redis HA
|
description: KubeZero Umbrella Chart for Redis HA
|
||||||
type: application
|
type: application
|
||||||
version: 0.2.2
|
version: 0.3.0
|
||||||
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:
|
||||||
@ -19,7 +19,7 @@ dependencies:
|
|||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
condition: redis.enabled
|
condition: redis.enabled
|
||||||
- name: redis-cluster
|
- name: redis-cluster
|
||||||
version: 4.1.0
|
version: 6.2.7
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
condition: redis-cluster.enabled
|
condition: redis-cluster.enabled
|
||||||
|
|
||||||
|
@ -20,8 +20,6 @@ redis:
|
|||||||
enabled: false
|
enabled: false
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: false
|
enabled: false
|
||||||
selector:
|
|
||||||
release: metrics
|
|
||||||
# extraArgs:
|
# extraArgs:
|
||||||
# redis.addr: "redis://localhost:6379"
|
# redis.addr: "redis://localhost:6379"
|
||||||
|
|
||||||
@ -40,8 +38,6 @@ redis-cluster:
|
|||||||
enabled: false
|
enabled: false
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: false
|
enabled: false
|
||||||
selector:
|
|
||||||
release: metrics
|
|
||||||
|
|
||||||
persistence:
|
persistence:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -eu
|
set -eux
|
||||||
|
|
||||||
CHARTS=${1:-'.*'}
|
CHARTS=${1:-'.*'}
|
||||||
FORCE=${2:-''}
|
FORCE=${2:-''}
|
||||||
|
21
scripts/upgrade_cert-manager.sh
Executable file
21
scripts/upgrade_cert-manager.sh
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
kubectl get -o yaml \
|
||||||
|
--all-namespaces \
|
||||||
|
issuer,clusterissuer,certificates,certificaterequests > cert-manager-backup.yaml
|
||||||
|
|
||||||
|
kubectl cert-manager convert --output-version cert-manager.io/v1 -f cert-manager-backup.yaml > cert-manager-v1.yaml
|
||||||
|
|
||||||
|
./bootstrap.sh delete cert-manager $1
|
||||||
|
|
||||||
|
kubectl delete crd certificaterequests.cert-manager.io
|
||||||
|
kubectl delete crd certificates.cert-manager.io
|
||||||
|
kubectl delete crd challenges.acme.cert-manager.io
|
||||||
|
kubectl delete crd clusterissuers.cert-manager.io
|
||||||
|
kubectl delete crd issuers.cert-manager.io
|
||||||
|
kubectl delete crd orders.acme.cert-manager.io
|
||||||
|
|
||||||
|
./bootstrap.sh crds cert-manager $1
|
||||||
|
./bootstrap.sh deploy cert-manager $1
|
||||||
|
|
||||||
|
kubectl apply -f cert-manager-v1.yaml
|
Loading…
Reference in New Issue
Block a user