OwlpaneDOCS
Ingestion

Log Ingestion

Owlpane ingests structured and unstructured logs via OTLP/HTTP (/v1/logs), the Owlpane language SDKs, and host/Kubernetes log collectors.

Endpoint

TransportTargetContent-Type
OTLP/HTTPPOST https://ingest.owlpane.com/v1/logsapplication/x-protobuf or application/json
OTLP/gRPCopentelemetry.proto.collector.logs.v1.LogsService/Export on ingest.owlpane.com:443—

Authenticate with Authorization: Bearer owl_ing_…. See the OTLP ingest reference.

  • service.name — Logical service identifier (e.g. payments-api).
  • deployment.environment — Environment tag (production, staging, dev).
  • severity_text / severity_number — Log level (INFO, WARN, ERROR).
  • trace_id and span_id — Correlates log lines directly with distributed traces.

curl example (OTLP/HTTP JSON)

curl -sS -X POST "https://ingest.owlpane.com/v1/logs" \
  -H "Authorization: Bearer $OWLPANE_INGEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{"resourceLogs":[{"resource":{"attributes":[{"key":"service.name","value":{"stringValue":"payments-api"}}]},"scopeLogs":[{"scope":{"name":"manual"},"logRecords":[{"severityNumber":9,"severityText":"INFO","body":{"stringValue":"payment captured"}}]}]}]}'

OpenTelemetry Collector exporter

exporters:
  otlphttp/owlpane:
    endpoint: ${env:OTEL_EXPORTER_OTLP_ENDPOINT}
    headers:
      Authorization: "Bearer ${env:OWLPANE_INGEST_KEY}"

Verify it arrived

Open Observability → Logs (/observability/logs) and filter by service.name. New lines appear within a few seconds.

Troubleshooting

SymptomCheck
401 / 403Authorization: Bearer owl_ing_… header is present and the key is valid
415Content-Type is application/json or application/x-protobuf
Lines missing trace_idEmit logs from instrumented code so the active span context is attached
No lines in consoleservice.name is set and the correct project is selected

Last updated

On this page