Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OBSDOCS-939/TRACING-4067: Write documentation for kubeletstats rcv component #75202

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
51 changes: 51 additions & 0 deletions modules/otel-collector-components.adoc
Expand Up @@ -82,6 +82,57 @@ The Jaeger receiver ingests traces in the Jaeger formats.
<4> The Jaeger Thrift Binary endpoint. If omitted, the default `+0.0.0.0:6832+` is used.
<5> The server-side TLS configuration. See the OTLP receiver configuration section for more details.

[id="kubeletstats-receiver_{context}"]
=== Kubelet Stats Receiver

:FeatureName: The Kubelet Stats Receiver
include::snippets/technology-preview.adoc[]
max-cx marked this conversation as resolved.
Show resolved Hide resolved

The Kubelet Stats Receiver extracts metrics related to nodes, pods, containers, and volumes from the kubelet's API server. These metrics are then channeled through the metrics-processing pipeline for additional analysis.

.OpenTelemetry Collector custom resource with an enabled Kubelet Stats Receiver
[source,yaml]
----
# ...
config: |
receivers:
kubeletstats:
collection_interval: 20s
auth_type: "serviceAccount"
endpoint: "https://${env:K8S_NODE_NAME}:10250"
insecure_skip_verify: true
service:
pipelines:
metrics:
receivers: [kubeletstats]
env:
- name: K8S_NODE_NAME # <1>
valueFrom:
fieldRef:
fieldPath: spec.nodeName
# ...
----
<1> Sets the `K8S_NODE_NAME` to authenticate to the API.

The Kubelet Stats Receiver requires additional permissions for the service account used for running the OpenTelemetry Collector.

.Permissions required by the service account
[source,yaml]
----
apiVersion: rbac.authorization.k8s.io/v1
max-cx marked this conversation as resolved.
Show resolved Hide resolved
kind: ClusterRole
metadata:
name: otel-collector
rules:
- apiGroups: ['']
resources: ['nodes/stats']
verbs: ['get', 'watch', 'list']
- apiGroups: [""]
resources: ["nodes/proxy"] # <1>
verbs: ["get"]
----
<1> The permissions required when using the `extra_metadata_labels` or `request_utilization` or `limit_utilization` metrics.

[id="prometheus-receiver_{context}"]
=== Prometheus Receiver

Expand Down