Authdog

OpenTelemetry

Last updated Sep 25, 2026
View as Markdown

Authdog accepts OpenTelemetry OTLP/HTTP JSON for traces, logs, and metrics. Point an SDK, the OpenTelemetry Collector, or Grafana Alloy at the Authdog API and authenticate with an environment API secret.

This page is the contract. A longer walkthrough with Collector YAML lives in Set up OpenTelemetry with Authdog.

In the console

After ingest, open Observability in the Authdog console. That module is application telemetry — not audit events and not Lidar Signals.

Tab What it shows
Overview Counters and a timeline for logs, metrics, and traces in the selected time range
Logs Severity, service, body, and trace_id. A trace id opens the matching trace
Metrics Name, type, unit, value, and service. Pick a name to see the series
Traces Span name, service, duration, and status. Click a trace for the parent/child tree
Settings OTLP endpoints and a button to mint an environment API secret (adenv_)

Empty state on Overview points here and to Vault API keys. Deep-links keep the time range: ?tab=traces&trace=<id> and ?tab=logs&trace=<id>.

Endpoints

Pick one base. Exporters append /v1/traces, /v1/logs, and /v1/metrics themselves.

OTEL_EXPORTER_OTLP_ENDPOINT Paths the exporter posts
https://api.authdog.com /v1/traces, /v1/logs, /v1/metrics
https://api.authdog.com/v1/otel /v1/otel/v1/traces, /v1/otel/v1/logs, /v1/otel/v1/metrics

Self-hosted deployments use your API origin. The OpenAPI document at `/v1/openapi` lists the same operations.

This path is application telemetry. Audit and security events still use Events and webhooks.

Authenticate

Required environment variables:

OTEL_EXPORTER_OTLP_PROTOCOL=http/json
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer adenv_<environment-api-secret>

Mint the secret in the console: Observability → Settings, or Vault → API Keys with the otel:ingest scope. Copy it once. A dev secret cannot write into prod. Legacy secrets with environment:read or environment:update still ingest.

Tenant and environment come from the secret. Resource attributes such as service.name are stored but never used for tenancy.

Protocol and limits

  • JSON only. application/x-protobuf and gRPC return 415.
  • Gzip is fine when the runtime decompresses Content-Encoding.
  • Body ≤ 2 MiB.
  • ≤ 500 records per request. Overflow returns OTLP partialSuccess.
  • Empty {} with HTTP 200 is full success.

Learn more