OpenTelemetry
OpenTelemetry integrations are supported in both the UI and the API.
Grepr supports integration with any observability vendor that accepts the OTLP/HTTP source (opens in a new tab).
Requirements
To set up an OpenTelemetry integration in Grepr, you'll need:
- Endpoint URL: The HTTP/HTTPS endpoint where your observability vendor accepts OpenTelemetry data
- HTTP Headers (optional): Any required authentication headers
- Secret HTTP Headers (optional): Sensitive authentication headers (e.g, API keys, tokens)
Server logs
To send data to Grepr, you configure the Otel collector to send logs to Grepr instead of your selected vendor. This involves changing the endpoint set in your Otel collector from your selected vendor's endpoint to Grepr's ingestion endpoint.
The endpoint that you need to configure has the following format:
https://<integration-id>-<org-id>.ingest.grepr.ai/otlp/{$GREPR_TOKEN}
. The Grepr UI makes it available for
copying in the Sources
section of the pipeline details page. Otherwise, your integration-id is the ID of the OpenTelemetry integration that you'd like to use, available via the API, and org-id is your organization's ID.
You will receive your GREPR_TOKEN
when creating your integration. It will only be generated once, please save it securely, and insert into the endpoint above.
Creating an OpenTelemetry Integration in Grepr
To create an OpenTelemetry integration, follow these steps:
- Navigate to the Integrations page in the Grepr UI. In the Observability Vendors section, click the Add New button.
-
Select Open Telemetry from the list of vendors.
-
Enter a Name for the integration. We recommend naming it after the destination vendor (e.g.,
datadog-otlp
,sumo-otlp
). -
Enter the Endpoint URL where your observability vendor accepts OTLP data.
-
HTTP Headers (optional): Add any non-sensitive headers required by your vendor.
-
Secret Headers (optional): Add sensitive headers like API keys or authorization tokens. These are stored securely and masked in the UI.
General Vendor Configuration
For observability vendors not explicitly listed below, you can use the OpenTelemetry integration by following these general steps:
-
Find your vendor's OTLP endpoint: Check your vendor's documentation for their OTLP HTTP endpoint URL.
-
Identify required headers: Look for authentication requirements such as API keys, tokens, or other headers.
-
Configure the integration:
- Endpoint URL: Your vendor's OTLP HTTP endpoint
- Headers: Any non-sensitive headers required by your vendor
- Secret Headers: Sensitive authentication headers like API keys
-
Configure your OpenTelemetry Collector: Use the
otlphttp
exporter to send logs to Grepr's ingestion endpoint. See the setup needed below.
OpenTelemetry Collector
The OpenTelemetry Collector can send logs to Grepr using the otlphttp
exporter. Configure the exporter to point to Grepr's OTLP ingestion endpoint.
Configuration (collector.yaml
):
exporters:
otlphttp:
endpoint: <grepr-ingestion-url>
service:
pipelines:
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlphttp]
Replace <grepr-ingestion-url>
with the full ingestion URL provided by the Grepr UI.
For dual shipping, you'll need to create two exporters: one to send logs to Grepr, and another to send logs directly to your vendor. Your exporter for Grepr should only include Grepr's ingestion endpoint, with any needed headers configured in the UI. Your exporter configured directly to your vendor should include your vendor's endpoint and the necessary headers.
exporters:
otlphttp/grepr:
endpoint: <grepr-ingestion-url>
otlphttp/vendor:
endpoint: <vendor-otlp-endpoint>
headers:
authorization: "Bearer <vendor-token>"
service:
pipelines:
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlphttp/grepr, otlphttp/vendor]
OpenTelemetry Collector Helm Chart
If you are deploying the collector in Kubernetes using the official OpenTelemetry Collector Helm Chart (opens in a new tab), you can update your values.yaml
to point to Grepr.
Configuration (values.yaml
):
config:
exporters:
otlphttp:
endpoint: <grepr-ingestion-url>
service:
pipelines:
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlphttp]
Datadog
To send OpenTelemetry data to Datadog via Grepr, configure your integration with Datadog's OTLP endpoint and required headers.
Integration Configuration:
- Endpoint URL:
https://http-intake.logs.datadoghq.com/api/v2/logs
- Headers:
dd-protocol
: otlp
- Secret Headers:
dd-api-key
: Your Datadog API key
Configuration (values.yaml
):
exporters:
otlphttp:
endpoint: <grepr-ingestion-url>
service:
pipelines:
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlphttp]
For more information, see Datadog's OTLP documentation (opens in a new tab).
Sumo Logic
To send OpenTelemetry data to Sumo Logic via Grepr, configure your integration with Sumo Logic's OTLP HTTP source endpoint.
Integration Configuration:
- Endpoint URL: Your Sumo Logic OTLP HTTP source URL (e.g.,
https://collectors.sumologic.com/receiver/v1/otlp/<unique-id>
) - Note: Please append
/v1/logs
to this endpoint when setting it in the Grepr UI (e.g.,https://collectors.sumologic.com/receiver/v1/otlp/<unique-id>/v1/logs
). This is required because Sumo Logic's OTLP HTTP source expects the logs endpoint path to be explicitly specified, unlike other vendors that handle this automatically. This is specific to Sumo Logic and not required for other vendors.
Configuration (values.yaml
):
exporters:
otlphttp:
endpoint: <grepr-ingestion-url>
service:
pipelines:
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlphttp]
For more information, see Sumo Logic's OTLP documentation (opens in a new tab).
Security Considerations
When configuring OpenTelemetry integrations:
- Use Secret Headers: Always use secret headers for sensitive information like API keys, tokens, or passwords
- Validate Endpoints: Ensure endpoint URLs use HTTPS for secure data transmission
- Header Validation: Grepr validates all headers for security issues including CRLF injection, control characters, and other potential attacks
- Reserved Headers: Some HTTP headers are reserved and cannot be set by users for security reasons