@@ -8,28 +8,50 @@ cAdvisor
88
99The Splunk Distribution of OpenTelemetry Collector uses the Smart Agent receiver with the
1010cAdvisor monitor type to pull metrics directly from cAdvisor. By
11- default, it runs on port 4194, but it can be configured to any other
12- port.
11+ default, it runs on port 4193, but it can be configured to any other
12+ port.
13+
14+ This integration is available on Kubernetes, Linux, and Windows.
15+
16+ cAdvisor with Kubernetes
17+ ------------------------
1318
1419If you are using Kubernetes, consider the
1520:ref: `kubelet-stats-receiver ` because many Kubernetes nodes do not
1621expose cAdvisor on a network port, even though they are running it
1722within Kubelet.
1823
24+ If you are using Kubernetes, consider the Kubelet stats receiver
25+ because many Kubernetes nodes do not expose cAdvisor on a network port,
26+ even though they are running it within Kubelet.
27+
28+ In some managed Kubernetes environments, such as Amazon EKS, you cannot
29+ directly access cAdvisor metrics due to the cluster provider's
30+ security and control design. For example, in Amazon EKS,
31+ the ``kubeletstats `` receiver cannot directly collect cAdvisor metrics.
32+ This constraint is specific to managed environments and is not a restriction
33+ of the Splunk Distribution of OpenTelemetry Collector.
34+
35+ You can, however, indirectly collect cAdvisor metrics exposed through
36+ the Kubernetes proxy metric server using a receiver with the required configuration.
37+ We recommend using the :ref: `Prometheus receiver <prometheus_receiver >`
38+ to scrape metrics from the proxy metric server.
39+
40+
41+ cAdvisor with Docker
42+ ---------------------
43+
1944If you are running containers with Docker, retrieved metrics might
20- overlap with ``docker-container-stats ``\ ' . Consider not enabling the
45+ overlap with ``docker-container-stats ``. Consider not enabling the
2146Docker monitor in a Kubernetes environment, or else use filtering to
2247allow only certain metrics. This will cause the built-in Docker
2348dashboards to be blank, but container metrics will be available on the
2449Kubernetes dashboards instead.
2550
26- This integration is available on Kubernetes, Linux, and Windows.
2751
2852Benefits
2953--------
3054
31-
32-
3355.. raw :: html
3456
3557 <div class =" include-start" id =" benefits.rst" ></div >
@@ -41,13 +63,9 @@ Benefits
4163 <div class =" include-stop" id =" benefits.rst" ></div >
4264
4365
44-
45-
4666Installation
4767------------
4868
49-
50-
5169.. raw :: html
5270
5371 <div class =" include-start" id =" collector-installation-linux.rst" ></div >
@@ -59,13 +77,9 @@ Installation
5977 <div class =" include-stop" id =" collector-installation-linux.rst" ></div >
6078
6179
62-
63-
6480Configuration
6581-------------
6682
67-
68-
6983.. raw :: html
7084
7185 <div class =" include-start" id =" configuration.rst" ></div >
@@ -77,10 +91,11 @@ Configuration
7791 <div class =" include-stop" id =" configuration.rst" ></div >
7892
7993
94+ Examples
95+ ^^^^^^^^
8096
81-
82- Example
83- ~~~~~~~
97+ Activate integration
98+ ####################
8499
85100To activate this integration, add the following to your Collector
86101configuration:
@@ -102,8 +117,60 @@ section of your configuration file:
102117 metrics :
103118 receivers : [smartagent/cadvisor]
104119
120+ .. _prometheus_receiver :
121+
122+ Prometheus receiver
123+ ###################
124+
125+ The following example shows how to configure a Prometheus receiver
126+ to scrape cAdvisor metrics securely from Kubernetes nodes using TLS and authorization
127+ credentials.
128+
129+ .. code :: yaml
130+
131+ agent :
132+ config :
133+ receivers :
134+ prometheus/cadvisor :
135+ config :
136+ scrape_configs :
137+ - job_name : cadvisor
138+ tls_config :
139+ ca_file : /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
140+ authorization :
141+ credentials_file : /var/run/secrets/kubernetes.io/serviceaccount/token
142+ scheme : https
143+ kubernetes_sd_configs :
144+ - role : node
145+ relabel_configs :
146+ - replacement : ' kubernetes.default.svc.cluster.local:443'
147+ target_label : __address__
148+ - regex : (.+)
149+ replacement : ' /api/v1/nodes/$${1}/proxy/metrics/cadvisor'
150+ source_labels :
151+ - __meta_kubernetes_node_name
152+ target_label : __metrics_path__
153+ service :
154+ pipelines :
155+ metrics :
156+ exporters :
157+ - signalfx
158+ processors :
159+ - memory_limiter
160+ - batch
161+ - resourcedetection
162+ - resource
163+ receivers :
164+ - hostmetrics
165+ - kubeletstats
166+ - otlp
167+ - prometheus/cadvisor
168+ - receiver_creator
169+ - signalfx
170+
171+
105172 Configuration settings
106- ~~~~~~~~~~~~~~~~~~~~~~
173+ ^^^^^^^^^^^^^^^^^^^^^^
107174
108175The following table shows the configuration options for this receiver:
109176
@@ -135,9 +202,7 @@ The following metrics are available for this integration:
135202 <div class =" metrics-yaml" url =" https://raw.githubusercontent.com/signalfx/splunk-otel-collector/main/internal/signalfx-agent/pkg/monitors/cadvisor/metadata.yaml" ></div >
136203
137204Notes
138- ~~~~~
139-
140-
205+ ^^^^^
141206
142207.. raw :: html
143208
@@ -155,8 +220,6 @@ Notes
155220Troubleshooting
156221---------------
157222
158-
159-
160223.. raw :: html
161224
162225 <div class =" include-start" id =" troubleshooting-components.rst" ></div >
0 commit comments