Skip to content

Commit 09cc32a

Browse files
fix: Move cadvisor instrumentation to scraper (#388)
With cadvisor instrumentation in agent we would produce a significant amount of duplicated data. This moves cadvisor scraping to the centralized prom scraper, the same setup we had in previous instrumentation.
1 parent 93e7708 commit 09cc32a

File tree

5 files changed

+41
-36
lines changed

5 files changed

+41
-36
lines changed

charts/agent/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
name: agent
33
description: Chart to install K8s collection stack based on Observe Agent
44
type: application
5-
version: 0.64.0
5+
version: 0.64.1
66
appVersion: "2.5.0"
77
dependencies:
88
- name: opentelemetry-collector

charts/agent/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# agent
22

3-
![Version: 0.64.0](https://img.shields.io/badge/Version-0.64.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.5.0](https://img.shields.io/badge/AppVersion-2.5.0-informational?style=flat-square)
3+
![Version: 0.64.1](https://img.shields.io/badge/Version-0.64.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.5.0](https://img.shields.io/badge/AppVersion-2.5.0-informational?style=flat-square)
44

55
Chart to install K8s collection stack based on Observe Agent
66

charts/agent/templates/_config-receivers.tpl

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,28 @@ prometheus/pod_metrics:
112112
source_labels:
113113
- __name__
114114
{{- end -}}
115+
116+
{{- define "config.receivers.prometheus.cadvisor" -}}
117+
{{- if .Values.node.metrics.cadvisor.enabled }}
118+
prometheus/cadvisor:
119+
config:
120+
scrape_configs:
121+
- job_name: 'kubernetes-nodes-cadvisor'
122+
scheme: https
123+
tls_config:
124+
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
125+
insecure_skip_verify: true
126+
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
127+
128+
kubernetes_sd_configs:
129+
- role: node
130+
131+
relabel_configs:
132+
- target_label: __address__
133+
replacement: kubernetes.default.svc:443
134+
- source_labels: [__meta_kubernetes_node_name]
135+
regex: (.+)
136+
target_label: __metrics_path__
137+
replacement: /api/v1/nodes/$$1/proxy/metrics/cadvisor
138+
{{ end }}
139+
{{ end }}

charts/agent/templates/_node-logs-metrics-config.tpl

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -157,28 +157,7 @@ receivers:
157157
{{- include "observe.daemonset.logsMetrics.config.filelog.multiline" . | nindent 4 }}
158158
{{ end }}
159159
{{ end }}
160-
{{- if .Values.node.metrics.cadvisor.enabled }}
161-
prometheus/cadvisor:
162-
config:
163-
scrape_configs:
164-
- job_name: 'kubernetes-nodes-cadvisor'
165-
scheme: https
166-
tls_config:
167-
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
168-
insecure_skip_verify: true
169-
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
170160

171-
kubernetes_sd_configs:
172-
- role: node
173-
174-
relabel_configs:
175-
- target_label: __address__
176-
replacement: kubernetes.default.svc:443
177-
- source_labels: [__meta_kubernetes_node_name]
178-
regex: (.+)
179-
target_label: __metrics_path__
180-
replacement: /api/v1/nodes/$$1/proxy/metrics/cadvisor
181-
{{ end }}
182161
processors:
183162
{{- include "config.processors.memory_limiter" . | nindent 2 }}
184163

@@ -205,23 +184,16 @@ processors:
205184
- key: debug_source
206185
action: insert
207186
value: kubeletstats_metrics
208-
attributes/debug_source_cadvisor_metrics:
209-
actions:
210-
- key: debug_source
211-
action: insert
212-
value: cadvisor_metrics
213187

214188
# Create intermediate lists for pipeline arrays to then modify based on values.yaml
215189
{{- $logsExporters := (list "otlphttp/observe/base") -}}
216190
{{- $hostmetricsExporters := (list "prometheusremotewrite/observe") -}}
217191
{{- $kubeletstatsExporters := (list "prometheusremotewrite/observe") -}}
218-
{{- $cadvisorMetricsExporters := (list "prometheusremotewrite/observe") -}}
219192

220193
{{- if eq .Values.agent.config.global.debug.enabled true }}
221194
{{- $logsExporters = concat $logsExporters ( list "debug/override" ) | uniq }}
222195
{{- $hostmetricsExporters = concat $hostmetricsExporters ( list "debug/override" ) | uniq }}
223196
{{- $kubeletstatsExporters = concat $kubeletstatsExporters ( list "debug/override" ) | uniq }}
224-
{{- $cadvisorMetricsExporters = concat $cadvisorMetricsExporters ( list "debug/override" ) | uniq }}
225197
{{- end }}
226198

227199
service:
@@ -244,12 +216,6 @@ service:
244216
processors: [memory_limiter, k8sattributes, batch, resourcedetection/cloud, resource/observe_common, attributes/debug_source_kubeletstats_metrics]
245217
exporters: [{{ join ", " $kubeletstatsExporters }}]
246218
{{- end -}}
247-
{{- if .Values.node.metrics.cadvisor.enabled }}
248-
metrics/cadvisor:
249-
receivers: [prometheus/cadvisor]
250-
processors: [memory_limiter, k8sattributes, batch, resourcedetection/cloud, resource/observe_common, attributes/debug_source_cadvisor_metrics]
251-
exporters: [{{ join ", " $cadvisorMetricsExporters }}]
252-
{{- end -}}
253219
{{- include "config.service.telemetry" . | nindent 2 }}
254220

255221
{{- end }}

charts/agent/templates/_prometheus-scraper-config.tpl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ exporters:
88
receivers:
99
nop:
1010
{{- include "config.receivers.prometheus.pod_metrics" . | nindent 2 }}
11+
{{- include "config.receivers.prometheus.cadvisor" . | nindent 2 }}
1112

1213
processors:
1314
{{- include "config.processors.memory_limiter" . | nindent 2 }}
@@ -20,6 +21,12 @@ processors:
2021

2122
{{- include "config.processors.attributes.pod_metrics" . | nindent 2 }}
2223

24+
attributes/debug_source_cadvisor_metrics:
25+
actions:
26+
- key: debug_source
27+
action: insert
28+
value: cadvisor_metrics
29+
2330
# Set up receivers
2431
{{- $podMetricsReceivers := (list "prometheus/pod_metrics") -}}
2532
{{- if eq .Values.application.prometheusScrape.enabled false}}
@@ -41,6 +48,13 @@ service:
4148
receivers: [{{ join ", " $podMetricsReceivers }}]
4249
processors: [memory_limiter, k8sattributes, batch, resource/observe_common, attributes/debug_source_pod_metrics]
4350
exporters: [{{ join ", " $podMetricsExporters }}]
51+
{{- if .Values.node.metrics.cadvisor.enabled }}
52+
metrics/cadvisor:
53+
receivers: [prometheus/cadvisor]
54+
processors: [memory_limiter, k8sattributes, batch, resource/observe_common, attributes/debug_source_cadvisor_metrics]
55+
exporters: [{{ join ", " $podMetricsExporters }}]
56+
{{- end -}}
57+
4458
{{- include "config.service.telemetry" . | nindent 2 }}
4559

4660
{{- end }}

0 commit comments

Comments
 (0)