README.md
General Information
An exporter defines how the pipeline data leaves the collector.
This repository hosts the following exporters available in traces, metrics and logs pipelines (sorted alphabetically):
The contrib repository has more exporters available in its builds.
Configuring Exporters
Exporters are configured via YAML under the top-level exporters tag.
The following is a sample configuration for the exampleexporter.
| 1 | exporters: |
| 2 | # Exporter 1. |
| 3 | # <exporter type>: |
| 4 | exampleexporter: |
| 5 | # <setting one>: <value one> |
| 6 | endpoint: 1.2.3.4:8080 |
| 7 | # ... |
| 8 | # Exporter 2. |
| 9 | # <exporter type>/<name>: |
| 10 | exampleexporter/settings: |
| 11 | # <setting two>: <value two> |
| 12 | endpoint: 0.0.0.0:9211 |
An exporter instance is referenced by its full name in other parts of the config, such as in pipelines. A full name consists of the exporter type, '/' and the name appended to the exporter type in the configuration. All exporter full names must be unique.
For the example above:
- Exporter 1 has full name
exampleexporter. - Exporter 2 has full name
exampleexporter/settings.
Exporters are enabled upon being added to a pipeline. For example:
| 1 | service: |
| 2 | pipelines: |
| 3 | # Valid pipelines are: traces, metrics or logs |
| 4 | # Trace pipeline 1. |
| 5 | traces: |
| 6 | receivers: [examplereceiver] |
| 7 | processors: [] |
| 8 | exporters: [exampleexporter, exampleexporter/settings] |
| 9 | # Trace pipeline 2. |
| 10 | traces/another: |
| 11 | receivers: [examplereceiver] |
| 12 | processors: [] |
| 13 | exporters: [exampleexporter, exampleexporter/settings] |
Data Ownership
When multiple exporters are configured to send the same data (e.g. by configuring multiple exporters for the same pipeline):
- exporters not configured to mutate the data will have shared access to the data
- exporters with the Capabilities to mutate the data will receive a copy of the data
Exporters access export data when ConsumeTraces/ConsumeMetrics/ConsumeLogs
function is called. Unless exporter's capabilities include mutation, the exporter MUST NOT modify the pdata.Traces/pdata.Metrics/pdata.Logs argument of
these functions. Any approach that does not mutate the original pdata.Traces/pdata.Metrics/pdata.Logs is allowed without the mutation capability.
Proxy Support
Beyond standard YAML configuration as outlined in the individual READMEs above, exporters that leverage the net/http package (all do today) also respect the following proxy environment variables:
- HTTP_PROXY
- HTTPS_PROXY
- NO_PROXY
If set at Collector start time then exporters, regardless of protocol, will or will not proxy traffic as defined by these environment variables.