TL;DRThis guide shows you how to send telemetry to ClickStack from OpenTelemetry Collectors managed by Telflo. You’ll learn how to:
- Build a collector configuration in Telflo’s visual editor or using the CLI
- Send the telemetry to Open Source or Managed ClickStack, or write it straight into ClickHouse
- Remotely deploy configurations to a fleet of collectors
- Confirm the telemetry lands in ClickStack or in your ClickHouse tables
What is Telflo?
Telflo is a vendor-neutral control plane for OpenTelemetry Collectors, providing centralized management for collector configuration across a fleet. It makes large fleets manageable with a visual editor, pipeline tests, and remote deployment of configurations. Telflo manages standard upstream OpenTelemetry collector builds, with no Telflo-specific distribution and no proprietary agent, so collectors your teams already run stay on the same build. Telflo is also accessible outside the browser, through a command-line interface. Pair that with the ClickStack MCP server and the same agent that queries your telemetry can fix the pipeline that produced it.Why Telflo + ClickStack?
ClickStack handles ingestion, storage, and analytical queries at high volume. Telflo centrally operates the fleet of OpenTelemetry Collectors that feeds it, across hosts, clusters, and regions. Telflo provides:- Centralized management of OpenTelemetry Collectors across hosts, containers, and Kubernetes
- Visual pipeline editing, with controlled rollouts to the whole fleet or a single group
- Changes verified against sample telemetry before they reach production collectors
- Routing the same telemetry to ClickStack and other destinations at the same time
- Fleet visibility: which collectors are online, what each one is running, and which have drifted
Prerequisites
- A destination: Open Source ClickStack, Managed ClickStack, or a self-managed ClickHouse instance
- Telflo account (create an account at telflo.com)
- Somewhere for the collectors to run: a VM or a Kubernetes cluster
- Open Source ClickStack: your ClickStack OTLP endpoint (
4318for HTTP,4317for gRPC) and your ingestion API key, found in HyperDX under Team Settings → API Keys (view docs here for reference) - Managed ClickStack: your ClickHouse Cloud service endpoint (port
8443) and an ingestion user (see Creating an ingestion user) - Self-managed ClickHouse: your ClickHouse endpoint, a database for the ClickStack tables, and a user that can create and write to them (see Creating an ingestion user)
- Network connectivity from the collectors to your ClickStack or ClickHouse endpoint
Integrate ClickStack with Telflo
1
Build a collector configuration
- Sign in to Telflo. On the Configurations list, click New Configuration, then Blank configuration.
- In Name Your Configuration, enter a name and click Create.
- Add receivers: drag one from the palette onto the canvas for each kind of telemetry you collect.
- Add processors: Memory Limiter and Batch, plus any others you need to shape data before it leaves the collector. See the full list of processors Telflo supports.
2
Add the exporter
All three paths use the same editor, the same publish step, and the same fleet; only the exporter differs. Pick the tab for your deployment: Open Source ClickStack takes OTLP with an ingestion key; Managed ClickStack and self-managed ClickHouse take direct writes to the ClickStack tables.Draw edges from the receivers through the processors to the exporter, one pipeline per signal. The status row reports config valid or the number of errors to fix, and the YAML tab shows the generated configuration.Before you roll anything out, you can run sample telemetry through the configuration and check what comes out the other end. See testing in Telflo. Alternatively, you can describe what you’re trying to do and the Telflo AI assistant, opened with the AI button in the toolbar, builds, validates, and tests the configuration for you. Your own agent can do the same through the Telflo CLI.
- Open Source ClickStack
- Managed ClickStack
- Self-managed ClickHouse
- Drag the OTLP/HTTP exporter onto the canvas.
- Set Endpoint to your ClickStack OTLP HTTP endpoint, for example
http://clickstack.example.com:4318. - Under HTTP Headers, click Add header, then enter
authorizationas the Header name and${env:CLICKSTACK_INGESTION_KEY}as the Header value. Telflo asks for the value when you install the collectors, so the key is never stored in the configuration.
4317 with the same header under gRPC Metadata Headers.3
Publish a version
Click Publish in the toolbar. Published versions are read-only; to keep iterating, click Create New Version.
4
Create a fleet and roll out
- Go to Fleet, click New Fleet, and choose where your collectors run, on VMs or in Kubernetes. Enter a Name and click Create fleet.
- On the fleet’s Deploy Groups tab, click Assign on the Default group and choose your published configuration and version.
- Click Install on the group and enter a value for each environment variable your configuration references; Telflo adds them to the install command. Run that command where the collectors should run, following Telflo’s installation instructions. It carries the fleet’s install token along with your value, so treat it as sensitive.
- On the Collectors tab, collectors report Pending pickup, then Applying, then In sync.
5
Verify telemetry
Open HyperDX and search for one of your services in the Search view; use Chart Explorer for metrics. With Managed ClickStack, open your service in the ClickHouse Cloud console and click Launch ClickStack. With self-managed ClickHouse, query the ClickStack tables directly, for example
SELECT ServiceName, count() FROM otel_logs GROUP BY ServiceName.Advanced configuration
Fan-out routing
The same telemetry can go to ClickStack for long-term storage, to another platform during a migration, and to a SIEM for security analysis at once. Add the exporters on the canvas and connect them to the pipelines that should feed them, or start from a prebuilt pipeline in Telflo’s flow library.Compression and performance
- OTLP/HTTP and OTLP exporters: keep Compression at gzip.
- ClickHouse exporter: keep Async Insert on, leave Compression at lz4, and add a Batch processor upstream. See Optimizing inserts.
Next steps
- Build dashboards: create visualizations in HyperDX for logs, metrics, and traces
- Set up alerts: configure alerts in ClickStack for critical conditions
- Refine with the AI assistant: ask it to adjust a pipeline or propose tests
- Coming from another vendor: flows cover the cutover, replacing the agents already on your fleet and dual-shipping to both backends while you compare them