Sazabi
Instrument

Send metrics

Send OpenTelemetry or Prometheus metrics to Sazabi, where each data point is stored as a searchable log record, and confirm they arrive.

Sazabi ingests metrics over OTLP and stores each metric data point as a searchable log record, so you can query metrics next to your logs and traces. For most setups, export OpenTelemetry metrics directly; if you already run Prometheus, relay it through an OpenTelemetry Collector. By the end you will have metrics arriving and confirmed. Setup takes a few minutes plus a redeploy.

How Sazabi handles metrics

You do not get a separate metrics store or dashboards to maintain. Each incoming metric data point becomes a log record with its labels preserved as attributes, so the Sazabi agent can search and correlate metrics with everything else you send. There is no query language to learn beyond how you already search logs.

Send OpenTelemetry metrics

Recommended when: your app or Collector can export OTLP metrics.

Get your project's metrics intake URL. In the dashboard, add the OpenTelemetry Metrics source under Settings > Log streams and copy the Intake URL from the source's setup screen — your public key is embedded in it, so you copy the whole URL. An agent can do the same with the CLI: sazabi log-sources create otel_metrics --mode connectionless mints a keyed metrics endpoint and prints its intake URL. See CLI reference for install and auth.

Enable the OpenTelemetry metrics SDK in your app, or configure the OTLP metrics exporter on your Collector.

Set the OTLP metrics environment. OTEL_EXPORTER_OTLP_METRICS_ENDPOINT is your metrics intake URL exactly as shown — it already ends in /v1/metrics, so do not append a path. Use the protobuf protocol:

Environment
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=<your metrics intake URL>
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf

Restart or redeploy so the new configuration takes effect.

For the full source page, see OpenTelemetry metrics.

Send Prometheus metrics

Recommended when: you already run Prometheus and do not want to re-instrument your app.

Prometheus does not speak OTLP natively, so export through an OpenTelemetry Collector: scrape with the Collector's prometheus receiver and forward with its otlphttp exporter pointed at your Sazabi metrics intake URL. The metrics land on the same metrics-as-logs path. See Prometheus.

Query metrics in a thread

Because metrics are stored as log records, you query them the same way you query logs: open a thread and ask the agent about a metric by name, or filter your logs to the metric's records. The labels you sent are available as attributes.

Verify

Confirm a metric data point reaches your project as a record.

  1. Configure the exporter and redeploy as above.
  2. Generate activity that produces a known metric (for example, send some traffic that increments a request counter).
  3. Search for the metric by name. In the dashboard, open your logs and search for the metric name; an agent can run sazabi logs query "<metric name>" --last 1h instead.
  4. You should see records for that metric with your labels attached as attributes. Allow a short delay — up to about a minute — for the export interval and ingestion.

If nothing appears, confirm you copied the full intake URL for this project and that the exporter uses the http/protobuf protocol.

Further reading