CollectorCtrl Documentation
Welcome to the CollectorCtrl documentation. CollectorCtrl is a free-to-use, self-hosted management platform for OpenTelemetry Collector fleets, built on the industry-standard OpAMP (Open Agent Management Protocol).
What is CollectorCtrl?
If you run OpenTelemetry Collectors on more than a handful of nodes, you have probably felt the pain:
- SSH-ing into servers to edit YAML configs
- Forgetting which collector version runs where
- Manual restarts causing telemetry gaps
- No visibility into which agents are healthy
CollectorCtrl solves this by giving you a central control plane for your entire collector fleet. You install a lightweight Supervisor agent on each node, and it handles configuration, health reporting, and upgrades automatically — all over a secure WebSocket connection.
Quick Start
The fastest way to try CollectorCtrl is with Docker:
$docker run -d \\$ -p 4320:4320 \\$ -p 4321:4321 \\$ --name collectorctrl \\$ ghcr.io/collectorctrl/collectorctrl-server:latestThen open http://localhost:4321 and log in with admin / admin.
For production setups, see the Setup & Installation Guide.
Core Concepts
Management Server
The brain of the operation. A single Go binary that:
- Serves the React-based Admin UI dashboard
- Exposes a REST API for programmatic access
- Runs the OpAMP WebSocket gateway for agent communication
- Stores fleet state, policies, users, and audit trails in SQLite or PostgreSQL
Default ports:
| Port | Purpose |
|---|---|
| 4320 | OpAMP WebSocket (agent communication) |
| 4321 | Admin UI & REST API |
Supervisor Agent
A lightweight agent that runs on each target node alongside your OpenTelemetry Collector:
- Process Lifecycle: Starts, stops, and restarts the OTel Collector process
- OpAMP Client: Maintains a persistent secure WebSocket to the Management Server
- Config Reconciliation: Receives configuration updates and applies them via hot-reload
- Drift Guardian: Detects manual config file changes and reverts them to the authorized version
- Self-Upgrades: Downloads and installs new supervisor versions with automatic rollback on failure
The Supervisor runs as a native Windows Service or Linux systemd daemon.
Collector
The standard OpenTelemetry Collector binary — whether that's OTel Core, OTel Contrib, a vendor distribution, or a custom binary built with the OCB Builder. The Supervisor manages this process as a child worker.
Feature Overview
| Feature | Description |
|---|---|
| Fleet Dashboard | Honeycomb grid and table views with real-time health status |
| Dynamic Policies | Label-based targeting (e.g., env:production) for config rollouts |
| Canary Rollouts | Deploy to a percentage of your fleet before full promotion |
| Config Versioning | Every policy change is versioned with full history |
| Drift Prevention | Supervisor automatically reverts unauthorized local changes |
| Hot-Reload | Config updates without collector restarts (SIGHUP on Linux, API reload on Windows) |
| Remote Upgrades | Fleet-wide supervisor upgrades with queue-based rate limiting and auto-rollback |
| RBAC & SSO | Role-based access control with OIDC integration (Okta, Azure AD, Auth0) |
| Audit Logging | Immutable record of all actions, streamable via OTLP to SIEM |
| API Tokens | Service account tokens for CI/CD and automation |
| OCB Builder | Build custom OpenTelemetry Collector binaries from the UI |
| Package Repository | Store and version your collector binaries |
| Semantic Registry | Map vendor-specific fields to standard OTel schemas |
| Telemetry Governor | Profile logs and traces with ClickHouse integration |
Documentation Sections
- Setup & Installation — Server and agent installation for Windows and Linux
- Architecture — Technical deep-dive into components and data flow
- Fleet Orchestration — Policies, canary rollouts, and targeting
- Package Management — Binary repository and upgrades
- Custom Builder — Building custom OTel Collector binaries
- Semantic Registry — Schema mapping and governance
- Telemetry Governor — Log profiling and ClickHouse analytics
- Settings — SSO, SMTP, API tokens, users, and roles
- Troubleshooting — Common issues and solutions
- Changelog — Release history
Getting Help
- GitHub Issues: github.com/CollectorCtrl/CollectorCtrl/issues
- Discussions: Use GitHub Discussions for questions and feature requests
- Security: See SECURITY.md for vulnerability reporting
CollectorCtrl