opentelemetry-collector/receiver
Pablo Baeyens a8ff2dd98c
Enable `errcheck` linter (#4462)
* Check or explicitly ignore all errors

* Enable errcheck

* Use `t.Cleanup` instead of `defer`

* Point to issue on `Set` ignored error
2021-11-23 12:27:32 -08:00
..
otlpreceiver Enable `errcheck` linter (#4462) 2021-11-23 12:27:32 -08:00
receiverhelper Make `component.Factory` inherit `internalinterface.InternalInterface` (#4338) 2021-11-02 12:09:32 -07:00
scrapererror Fix some golint issues (#4398) 2021-11-11 08:45:26 -08:00
scraperhelper Enable `errcheck` linter (#4462) 2021-11-23 12:27:32 -08:00
README.md Remove hostmetricsreceiver from docs (#3904) 2021-08-27 08:23:30 -07:00
doc.go Adds vanity import check (#4180) 2021-10-12 13:47:36 -07:00

README.md

General Information

A receiver is how data gets into the OpenTelemetry Collector. Generally, a receiver accepts data in a specified format, translates it into the internal format and passes it to processors and exporters defined in the applicable pipelines.

Available trace receivers (sorted alphabetically):

Available metric receivers (sorted alphabetically):

Available log receivers (sorted alphabetically):

The contrib repository has more receivers that can be added to custom builds of the collector.

Configuring Receivers

Receivers are configured via YAML under the top-level receivers tag. There must be at least one enabled receiver for a configuration to be considered valid.

The following is a sample configuration for the examplereceiver.

receivers:
  # Receiver 1.
  # <receiver type>:
  examplereceiver:
    # <setting one>: <value one>
    endpoint: 1.2.3.4:8080
    # ...
  # Receiver 2.
  # <receiver type>/<name>:
  examplereceiver/settings:
    # <setting two>: <value two>
    endpoint: 0.0.0.0:9211

A receiver instance is referenced by its full name in other parts of the config, such as in pipelines. A full name consists of the receiver type, '/' and the name appended to the receiver type in the configuration. All receiver full names must be unique.

For the example above:

  • Receiver 1 has full name examplereceiver.
  • Receiver 2 has full name examplereceiver/settings.

Receivers are enabled upon being added to a pipeline. For example:

service:
  pipelines:
    # Valid pipelines are: traces, metrics or logs
    # Trace pipeline 1.
    traces:
      receivers: [examplereceiver, examplereceiver/settings]
      processors: []
      exporters: [exampleexporter]
    # Trace pipeline 2.
    traces/another:
      receivers: [examplereceiver, examplereceiver/settings]
      processors: []
      exporters: [exampleexporter]

At least one receiver must be enabled per pipeline to be a valid configuration.