Skip to content

Commit 22d1213

Browse files
authored
[kube-prometheus-stack] Feat: Improve cAdvisor metrics scrape (#5063)
1 parent b6c0a95 commit 22d1213

File tree

3 files changed

+25
-6
lines changed

3 files changed

+25
-6
lines changed

charts/kube-prometheus-stack/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ name: kube-prometheus-stack
2323
sources:
2424
- https://github.com/prometheus-community/helm-charts
2525
- https://github.com/prometheus-operator/kube-prometheus
26-
version: 67.1.0
26+
version: 67.2.0
2727
appVersion: v0.79.0
2828
kubeVersion: ">=1.19.0-0"
2929
home: https://github.com/prometheus-operator/kube-prometheus

charts/kube-prometheus-stack/templates/exporters/kubelet/servicemonitor.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ spec:
6161
path: /metrics/cadvisor
6262
{{- if .Values.kubelet.serviceMonitor.interval }}
6363
interval: {{ .Values.kubelet.serviceMonitor.interval }}
64+
{{- else }}
65+
interval: {{ .Values.kubelet.serviceMonitor.cAdvisorInterval }}
6466
{{- end }}
6567
{{- if .Values.kubelet.serviceMonitor.proxyUrl }}
6668
proxyUrl: {{ .Values.kubelet.serviceMonitor.proxyUrl }}
@@ -69,7 +71,11 @@ spec:
6971
scrapeTimeout: {{ .Values.kubelet.serviceMonitor.scrapeTimeout }}
7072
{{- end }}
7173
honorLabels: {{ .Values.kubelet.serviceMonitor.honorLabels }}
74+
{{- if .Values.kubelet.serviceMonitor.trackTimestampsStaleness }}
75+
honorTimestamps: true
76+
{{- else }}
7277
honorTimestamps: {{ .Values.kubelet.serviceMonitor.honorTimestamps }}
78+
{{- end }}
7379
trackTimestampsStaleness: {{ .Values.kubelet.serviceMonitor.trackTimestampsStaleness }}
7480
{{- include "kube-prometheus-stack.kubelet.authConfig" . | indent 4 }}
7581
{{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }}
@@ -112,6 +118,8 @@ spec:
112118
path: {{ .Values.kubelet.serviceMonitor.resourcePath }}
113119
{{- if .Values.kubelet.serviceMonitor.interval }}
114120
interval: {{ .Values.kubelet.serviceMonitor.interval }}
121+
{{- else }}
122+
interval: {{ .Values.kubelet.serviceMonitor.resourceInterval }}
115123
{{- end }}
116124
{{- if .Values.kubelet.serviceMonitor.proxyUrl }}
117125
proxyUrl: {{ .Values.kubelet.serviceMonitor.proxyUrl }}
@@ -120,7 +128,11 @@ spec:
120128
scrapeTimeout: {{ .Values.kubelet.serviceMonitor.scrapeTimeout }}
121129
{{- end }}
122130
honorLabels: {{ .Values.kubelet.serviceMonitor.honorLabels }}
131+
{{- if .Values.kubelet.serviceMonitor.trackTimestampsStaleness }}
132+
honorTimestamps: true
133+
{{- else }}
123134
honorTimestamps: {{ .Values.kubelet.serviceMonitor.honorTimestamps }}
135+
{{- end }}
124136
trackTimestampsStaleness: {{ .Values.kubelet.serviceMonitor.trackTimestampsStaleness }}
125137
{{- include "kube-prometheus-stack.kubelet.authConfig" . | indent 4 }}
126138
{{- if .Values.kubelet.serviceMonitor.resourceMetricRelabelings }}

charts/kube-prometheus-stack/values.yaml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1324,7 +1324,7 @@ kubelet:
13241324

13251325
## If true, defines whether Prometheus tracks staleness of the metrics that have an explicit timestamp present in scraped data. Has no effect if `honorTimestamps` is false.
13261326
## We recommend enabling this if you want the best possible accuracy for container_ metrics scraped from cadvisor.
1327-
##
1327+
## For more details see: https://github.com/prometheus-community/helm-charts/pull/5063#issuecomment-2545374849
13281328
trackTimestampsStaleness: true
13291329

13301330
## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
@@ -1362,10 +1362,6 @@ kubelet:
13621362
##
13631363
insecureSkipVerify: true
13641364

1365-
## Enable scraping /metrics/cadvisor from kubelet's service
1366-
##
1367-
cAdvisor: true
1368-
13691365
## Enable scraping /metrics/probes from kubelet's service
13701366
##
13711367
probes: true
@@ -1376,7 +1372,18 @@ kubelet:
13761372
resource: false
13771373
# From kubernetes 1.18, /metrics/resource/v1alpha1 renamed to /metrics/resource
13781374
resourcePath: "/metrics/resource/v1alpha1"
1375+
## Configure the scrape interval for resource metrics. This is configured to the default Kubelet cAdvisor
1376+
## minimum housekeeping interval in order to avoid missing samples. Note, this value is ignored
1377+
## if kubelet.serviceMonitor.interval is not empty.
1378+
resourceInterval: 10s
13791379

1380+
## Enable scraping /metrics/cadvisor from kubelet's service
1381+
##
1382+
cAdvisor: true
1383+
## Configure the scrape interval for cAdvisor. This is configured to the default Kubelet cAdvisor
1384+
## minimum housekeeping interval in order to avoid missing samples. Note, this value is ignored
1385+
## if kubelet.serviceMonitor.interval is not empty.
1386+
cAdvisorInterval: 10s
13801387
## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
13811388
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
13821389
##

0 commit comments

Comments
 (0)