Getting started
Puck takes OpenTelemetry logs (OTLP) and Loki's push API from anything already producing them. Pick the path that matches how your logs are produced today:
- Linux host: install a Host Collector on a Linux Host and ship its logs.
- OTel SDK: export directly from an application already instrumented with an OpenTelemetry SDK.
- Your OTel Collector: point an OTel Collector you already run at Puck.
- Promtail / Alloy: send from an existing Promtail setup over the Loki push API.
Every path ends the same way: a Source with a credential, and its first Log record searchable in the app.
Before any path
- Sign in to console.usepuck.eu. Your Team is created when you sign up.
- Create a Source on the Sources page. A Source is one named origin of logs, such as
apiordb-host. It can receive logs from many Hosts, and one Host can send to many Sources. Its slug, the short name insource:api, can't be changed once the Source is created, because Filters and the credential's variable names use it. - Copy the credential's ID and secret. The secret is shown once. Credentials explains what to do if you lose it.
- Follow one of the pages above. Each one uses the same two variables, named after your Source. For a Source called
apithey areOBS_SOURCE_API_CREDENTIAL_IDandOBS_SOURCE_API_SECRET.
The Sources page shows "Waiting for logs…" until the first Log record arrives, then "Receiving logs". If it stays waiting, see Troubleshooting.
Where to send
| What | Address |
|---|---|
| OTLP over HTTP | https://ingest.usepuck.eu:4318 |
| OTLP over gRPC | ingest.usepuck.eu:4317 |
| Loki push | https://ingest.usepuck.eu:4318/loki/api/v1/push |
All three use TLS with a certificate from a public authority, so no CA file is needed. Every request is authenticated with the Source credential as HTTP basic auth: the credential ID is the user name and the secret is the password.