Skip to content
This repository was archived by the owner on Sep 2, 2025. It is now read-only.

Commit eb102a9

Browse files
Merge pull request #2749 from splunk/jcatera-DOCGUILD-28980
Clarified in the cAdvisor page that the collector cannot collect specific cgroup metrics exposed by cAdvisor
2 parents c3c34a4 + e1dbb52 commit eb102a9

File tree

1 file changed

+86
-23
lines changed

1 file changed

+86
-23
lines changed

gdi/monitors-monitoring/cadvisor.rst

Lines changed: 86 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,50 @@ cAdvisor
88

99
The Splunk Distribution of OpenTelemetry Collector uses the Smart Agent receiver with the
1010
cAdvisor 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

1419
If you are using Kubernetes, consider the
1520
:ref:`kubelet-stats-receiver` because many Kubernetes nodes do not
1621
expose cAdvisor on a network port, even though they are running it
1722
within 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+
1944
If 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
2146
Docker monitor in a Kubernetes environment, or else use filtering to
2247
allow only certain metrics. This will cause the built-in Docker
2348
dashboards to be blank, but container metrics will be available on the
2449
Kubernetes dashboards instead.
2550

26-
This integration is available on Kubernetes, Linux, and Windows.
2751

2852
Benefits
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-
4666
Installation
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-
6480
Configuration
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

85100
To activate this integration, add the following to your Collector
86101
configuration:
@@ -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

108175
The 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

137204
Notes
138-
~~~~~
139-
140-
205+
^^^^^
141206

142207
.. raw:: html
143208

@@ -155,8 +220,6 @@ Notes
155220
Troubleshooting
156221
---------------
157222

158-
159-
160223
.. raw:: html
161224

162225
<div class="include-start" id="troubleshooting-components.rst"></div>

0 commit comments

Comments
 (0)