Ingestion
Log Ingestion
Owlpane ingests structured and unstructured logs via OTLP/HTTP (/v1/logs), the Owlpane language SDKs, and host/Kubernetes log collectors.
Endpoint
| Transport | Target | Content-Type |
|---|---|---|
| OTLP/HTTP | POST https://ingest.owlpane.com/v1/logs | application/x-protobuf or application/json |
| OTLP/gRPC | opentelemetry.proto.collector.logs.v1.LogsService/Export on ingest.owlpane.com:443 | — |
Authenticate with Authorization: Bearer owl_ing_…. See the OTLP ingest reference.
Recommended Attributes
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_idandspan_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
| Symptom | Check |
|---|---|
401 / 403 | Authorization: Bearer owl_ing_… header is present and the key is valid |
415 | Content-Type is application/json or application/x-protobuf |
Lines missing trace_id | Emit logs from instrumented code so the active span context is attached |
| No lines in console | service.name is set and the correct project is selected |
Last updated