The OpenTelemetry Collector offers a vendor-agnostic implementation of how to receive, process and export telemetry data. It removes the need to run, operate, and maintain multiple agents/collectors.
The OpenTelemetry Collector can be configured to receive logs from various sources and export them to OTEL compatible logging systems. This document explains how to configure the OpenTelemetry Collector to use the OTLP Receiver and the HTTP Exporter.
Pre-requisites
- OTEL Collector installed on your target infrastructure. Refer the OpenTelemetry Collector installation documentation for installation instructions.
- Parseable installed on infrastructure of your choice. Refer the Parseable installation documentation.
Configuration
We'll use the OTLP receiver and the OTEL HTTP exporter to send logs to Parseable.
receivers:
otlp:
protocols:
grpc: null
http: null
exporters:
otlphttp:
endpoint: '[PARSEABLE_URL]'
headers:
Authorization: '[BASIC_AUTH_TOKEN]'
X-P-Log-Source: otel
X-P-Stream: '[NAME_OF THE_STREAM_TO_SEND_LOGS_TO]'
Content-Type: application/json
encoding: json
tls:
insecure: true
processors:
batch: null
service:
pipelines:
logs:
receivers:
- otlp
processors:
- batch
exporters:
- otlphttp
The configuration above sets up the OTLP receiver to receive logs and the OTEL HTTP exporter to send logs to Parseable. The exporter configuration includes the Parseable endpoint, authorization headers, and the log source and stream names.
Please ensure to change the [PARSEABLE_URL]
, [BASIC_AUTH_TOKEN]
, and [NAME_OF THE_STREAM_TO_SEND_LOGS_TO]
placeholders with the actual values. The [PARSEABLE_URL]
is the Parseable ingestor's endpoint to send logs to, like http://ingestor.demo.parseable.com
. The [BASIC_AUTH_TOKEN]
is the basic auth token to authenticate with Parseable. The [NAME_OF THE_STREAM_TO_SEND_LOGS_TO]
is the name of the stream in Parseable to send logs to.
Start the OpenTelemetry Collector
After you have update the configuration file successfully (replaced the placeholders), start the OpenTelemetry Collector with the updated configuration file. For example, for a configuration file named config.yaml
with OTEL Collector binary named otel
, you can start the collector with the following command:
./otelcol --config ./config.yaml
Now the collector is running on HTTP port 4317
and gRPC port 4318
. By default, Parseable's /v1/logs
endpoint is active, so it will ingest the logs directly.