OpenTelemetry
This document describes a sample setup for sending traces, and metrics to Levitate via OpenTelemetry
Prerequisites
Create a Levitate cluster by following Getting Started.
Keep the following information handy after creating the cluster:
$levitate_remote_write_url
- Levitate's Remote write endpoint$levitate_remote_write_username
- Cluster ID$levitate_remote_write_password
- Write token created for the cluster
OpenTelemetry Collector basics
The OpenTelemetry Collector offers a vendor-agnostic way to gather observability data from a variety of instrumentation solutions and send that data to Levitate.
OpenTelemetry collectors consist of three parts
- Receivers
- A receiver, which can be push or pull-based sends data to the collector
- We will use Prometheus receiver which will receive metrics
- Processors
- Processors are run on data between being received and being exported
- Processors are not mandatory for sending data to Levitate
- Exporters
- An exporter, which can be push or pull-based, sends data to one or more backends/destinations.
- We will use Levitate as an exporter destination
Obtain OTLP Endpoint & Credentials
-
Visit the settings section of your Levitate cluster
-
Click the Write Data tab on the left panel
-
Select Opentelemetry
-
Copy the Endpoint URL and the Authorization Header.
Levitate's OTLP compatible endpoints are as follows.
HTTP
https://otlp.last9.io
GRPC
otlp.last9.io:443
If you already have an OpenTelemetry collector running, add a new exporter config to ship metrics and traces to Levitate.
exporters:
otlp/last9:
endpoint: "otlp.last9.io:443"
headers:
"Authorization": "<Authorization Header>"
service:
pipelines:
metrics:
receivers: [otlp, prometheus]
processors: [batch]
exporters: [otlp/last9]
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp/last9]
A sample application demonstrating the setup can be found here.
Troubleshooting
Please get in touch with us on Discord or Email if you have any questions.