Early access is open. Free plan during early access. Start free
Logthread

Integration

Grafana Alloy (Loki)

Send the logs Alloy already collects with a loki.write endpoint.

  • Category: Moving from Loki
  • How data is sent: Settings in your app

How it works#

  1. Answer a few questions. They only fill in the setup steps. Nothing on this page connects to your servers: Logthread never reaches into your network.
  2. Add a few lines to your Grafana Alloy (Loki) app. The next page shows the settings and code with this connector's ingest key filled in. There is no agent to install.
  3. Data arrives. Everything is collected inside your environment. It is sent over outbound HTTPS (port 443) to ingest.logthread.com. Nothing is opened to the internet: no inbound ports, VPN or public access to your servers. The connection page shows what has arrived and turns Active with the first record.

What you answer#

QuestionAnswerNotes
Service nameTextSent as the service label; streams that already carry service_name, service, app, job or container keep theirs. Default: app.

Setup#

These are the steps for the default answers. In the app, they follow your answers, and the connector's ingest key replaces YOUR_INGEST_KEY.

Step 1. Set the key. In the environment Alloy runs in.

export LOGTHREAD_INGEST_KEY=YOUR_INGEST_KEY

Step 2. Add a loki.write for Logthread. Then point your loki.source.* or loki.process components at forward_to = [loki.write.logthread.receiver].

config.alloy:

loki.write "logthread" {
  endpoint {
    url          = "https://ingest.logthread.com/loki/api/v1/push"
    bearer_token = sys.env("LOGTHREAD_INGEST_KEY")
  }
  external_labels = { service = "app" }
}

Step 3. Check. A push answers 204, and the lines appear in Explore under the service within seconds. Loki queries stay in Logthread: LogQL pasted into Explore runs as the LTQL it becomes.

Check that it works#

The connection page under Integrations turns Active with the first trace. Open Traces and filter by your service.

Set it up under Integrations in the app, or from an AI agent with MCP (add_integration). All integrations: Integrations guide. Next: find what it sends in Explore and live tail.