Add a collector
A “collector” is the data plane — the OpenTelemetry runtime (Grafana Alloy or
otelcol-contrib) that actually receives, processes, and ships your telemetry.
LinkMesh is the control plane that configures it. This page helps you pick how
to connect one.
Pick a runtime
A collector runs one of two runtimes, and you deploy it on one of two substrates (a VM or a Kubernetes cluster). The runtime decides how the collector receives its config:
| Runtime | managementMode | How config arrives | Best for |
|---|---|---|---|
| Grafana Alloy + remotecfg | alloy-remotecfg | Collector pulls config over Bearer-authenticated HTTPS (remotecfg) | You run / prefer Alloy as a single self-contained binary |
| otelcol-contrib + OpAMP | opamp | Server pushes config over OpAMP (WSS); opampsupervisor applies it | You’re standardising on the OpenTelemetry OpAMP ecosystem |
Both give you central config push, fleet status, and per-component throughput on the topology canvas. They’re alternatives, not stages — pick one per collector (you can mix runtimes across a fleet).
Verify (either runtime)
On the host:
# Alloy runtimesystemctl is-active alloy# otelcol + OpAMP runtime (the supervisor manages the collector process)systemctl is-active otelcol-contrib # or your opampsupervisor unitIn the LinkMesh UI, open Collectors — the host appears with status
Online/Connected and its runtime (alloy-remotecfg or opamp). Click
in to see runtime, last-seen, and live throughput.
Next steps
- Build your first pipeline — wire the new collector through a processing pipeline to a destination.
- Enrollment tokens — TTL, scope, regeneration, audit visibility.
- Troubleshooting enrollment — when a host doesn’t show up.