[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | golang.org/x/net | `v0.27.0` -> `v0.28.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/open-telemetry/opentelemetry-collector). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xOC4xNyIsInVwZGF0ZWRJblZlciI6IjM4LjE4LjE3IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZWJvdCJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| extensions | ||
| internal | ||
| pipelines | ||
| telemetry | ||
| Makefile | ||
| README.md | ||
| config.go | ||
| config_test.go | ||
| documentation.md | ||
| generated_component_telemetry_test.go | ||
| generated_package_test.go | ||
| go.mod | ||
| go.sum | ||
| host.go | ||
| metadata.yaml | ||
| service.go | ||
| service_test.go | ||
| telemetry.go | ||
| telemetry_test.go | ||
| zpages.go | ||
README.md
OpenTelemetry Collector Service
How to provide configuration?
The --config flag accepts either a file path or values in the form of a config URI "<scheme>:<opaque_data>".
Currently, the OpenTelemetry Collector supports the following providers scheme:
- file - Reads configuration from a file. E.g.
file:path/to/config.yaml. - env - Reads configuration from an environment variable. E.g.
env:MY_CONFIG_IN_AN_ENVVAR. - yaml - Reads configuration from yaml bytes. E.g.
yaml:exporters::debug::verbosity: detailed. - http - Reads configuration from a HTTP URI. E.g.
http://www.example.com
For more technical details about how configuration is resolved you can read the configuration resolving design.
Single Config Source
-
Simple local file:
./otelcorecol --config=examples/local/otel-config.yaml -
Simple local file using the new URI format:
./otelcorecol --config=file:examples/local/otel-config.yaml -
Config provided via an environment variable:
./otelcorecol --config=env:MY_CONFIG_IN_AN_ENVVAR
Multiple Config Sources
-
Merge a
otel-config.yamlfile with the content of an environment variableMY_OTHER_CONFIGand use the merged result as the config:./otelcorecol --config=file:examples/local/otel-config.yaml --config=env:MY_OTHER_CONFIG -
Merge a
config.yamlfile with the content of a yaml bytes configuration (overwrites theexporters::debug::verbosityconfig) and use the content as the config:./otelcorecol --config=file:examples/local/otel-config.yaml --config="yaml:exporters::debug::verbosity: normal"
Embedding other configuration providers
One configuration provider can also make references to other config providers, like the following:
receivers:
otlp:
protocols:
grpc:
exporters: ${file:otlp-exporter.yaml}
service:
extensions: [ ]
pipelines:
traces:
receivers: [ otlp ]
processors: [ ]
exporters: [ otlp ]
How to override config properties?
The --set flag allows to set arbitrary config property. The --set values are merged into the final configuration
after all the sources specified by the --config are resolved and merged.
The Format and Limitations of --set
Simple property
The --set option takes always one key/value pair, and it is used like this: --set key=value. The YAML equivalent of that is:
key: value
Complex nested keys
Use dot (.) in the pair's name as key separator to reference nested map values. For example, --set outer.inner=value is translated into this:
outer:
inner: value
Multiple values
To set multiple values specify multiple --set flags, so --set a=b --set c=d becomes:
a: b
c: d
Array values
Arrays can be expressed by enclosing values in []. For example, --set "key=[a, b, c]" translates to:
key:
- a
- b
- c
Map values
Maps can be expressed by enclosing values in {}. For example, "--set "key={a: c}" translates to:
key:
a: c
Limitations
- Does not support setting a key that contains a dot
.. - Does not support setting a key that contains a equal sign
=. - The configuration key separator inside the value part of the property is "::". For example
--set "name={a::b: c}"is equivalent with--set name.a.b=c.
How to check components available in a distribution
Use the sub command build-info. Below is an example:
./otelcorecol components
Sample output:
buildinfo:
command: otelcorecol
description: Local OpenTelemetry Collector binary, testing only.
version: 0.62.1-dev
receivers:
- otlp
processors:
- memory_limiter
- batch
exporters:
- otlp
- otlphttp
- debug
extensions:
- zpages
How to validate configuration file and return all errors without running collector
./otelcorecol validate --config=file:examples/local/otel-config.yaml