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-protobufand 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.
Related
- Vault: environment API secrets (
adenv_) - Events and webhooks: Authdog lifecycle events
- Lidar: identity SIEM, not application OTLP
- Set up OpenTelemetry with Authdog: SDK and Collector examples