Skip to content

add hostmetrics receiver components to otel docs #23

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

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions modules/otel-collector-components.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,39 @@ 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="k8sobjectsreceiver-receiver_{context}"]
=== K8S Objects Receiver

The Kubernetes Objects receiver collects, either by pulling or watching, objects from the Kubernetes API server.
The most common use case for this receiver is watching Kubernetes events, but it can be used to collect any type of Kubernetes object.
Since the receiver gathers telemetry for the cluster as a whole, only one instance of the receiver is needed across the cluster in order to collect all the data.

.OpenTelemetry Collector custom resource with an enabled k8sobjects receiver
[source,yaml]
----
config: |
receivers:
k8sobjects:
objects:
- name: pods # <1>
mode: watch # <2>
interval: # <3>
label_selector: # <4>
field_selector: # <5>
namespaces: [<namespace>,...] # <6>
service:
pipelines:
logs:
receivers: [k8sobjects]

----
<1> The Resource name observed by the k8sobjects receiver. For example `pods`, `deployments` or `events`.
<2> The observation mode used by the k8sobjects receiver. Valid options are `pull` and `watch`.
<3> The request the interval at which object is pulled. Only useful for pull mode. If omitted, the default `+1h+` is used.
<4> Label selector to define targets.
<5> Field selector to filter targets.
<6> A list of namespaces to collect events from. If omitted, the default `+all+` is used.

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

Expand Down Expand Up @@ -651,6 +684,42 @@ The Debug exporter prints traces and metrics to the standard output.
----
<1> Verbosity of the debug export: `detailed` or `normal` or `basic`. When set to `detailed`, pipeline data is verbosely logged. Defaults to `normal`.

[id="load-balancing-exporter_{context}"]
=== Load Balancing exporter

This is an exporter that will consistently export spans, metrics and logs depending on the routing_key configured.

.OpenTelemetry Collector custom resource with an enabled load balancing exporter
[source,yaml]
----
config: |
exporters:
loadbalancing:
routing_key: "service" <1>
protocol:
otlp: <2>
timeout: 1s
resolver: <3>
static: <4>
hostnames:
- backend-1:4317
- backend-2:4317
dns: <5>
hostname: otelcol-headless.observability.svc.cluster.local
k8s: <6>
service: lb-svc.kube-public
ports:
- 15317
- 16317
----
<1> The options for routing_key are: service, traceID, metric (metric name), resource. If no routing_key is configured, the default routing mechanism is traceID for traces, while service is the default for metrics. This means that spans belonging to the same traceID (or service.name, when service is used as the routing_key) will be sent to the same backend.
<2> The only loadbalancing protocol that is supported is OTLP. All options from the OTLP exporter are supported.
<3> Only one resolver must be configured.
<4> The static resolver distributes the load across the listed endpoints.
<5> The DNS resolver can only be used with a k8s headless service.
<6> The k8s resolver is the recommended resolver on openshift.


[id="prometheus-exporter_{context}"]
=== Prometheus exporter

Expand Down Expand Up @@ -869,7 +938,47 @@ This extension supports traces, metrics, and logs.
<10> The path to the client's private key file that is used with the client certificate if needed for authentication.
<11> Sets a timeout for the token client's request.
<12> You can assign the authenticator configuration to an OTLP exporter.
[id="filestorage-extension_{context}"]
=== Filestorage extension

The File Storage extension can persist state to the local file system.
The extension requires read and write access to a directory. A default directory can be used, but it must already exist in order for the extension to operate.

The OAuth2Client extension persists the sending queue for the OTLP exporters that are based on the HTTP and the gRPC protocol.
This extension supports traces, metrics, and logs.

.OpenTelemetry Collector custom resource with configured FileStorage extension to persist as OTLP sendig queue.
[source,yaml]
----
config: |
extensions:
file_storage/all_settings:
directory: /var/lib/otelcol/mydir # <1>
timeout: 1s # <2>
compaction:
on_start: true # <3>
directory: /tmp/ # <4>
max_transaction_size: 65_536 # <5>
fsync: false # <6>

exporters:
otlp:
sending_queue:
storage: file_storage/all_settings # <7>

service:
extensions: [file_storage/all_settings]
pipelines:
traces:
receivers: [otlp]
exporters: [otlp]
----
<1> Specifies the directory in which the telemetry data is stored.
<2> Specifies the a timeout to open the storedfiles.
<3> Starts the compaction when the collector starts. If omitted, the default `+false+` is used.
<4> Specifies the directory in which compactor stores the telemetry data is stored.
<5> Defines maximum size of the compaction transaction. A value of zero will ignore transaction sizes. If omitted, the default `+65536+` is used.
<6> When set, will force the database to perform an fsync after each write. This helps to ensure database integretity if there is an interruption to the database process, but at the cost of performance.

[id="jaegerremotesampling-extension_{context}"]
=== Jaeger Remote Sampling extension
Expand Down