Install on Windows Server
Deploy CollectorCtrl on Windows Server 2016+ with native Windows Service integration.
Install on Windows Server
Deploy CollectorCtrl on Windows Server 2016+ with native Windows Service integration. Both the Management Server and Supervisor run as persistent Windows Services managed by the Service Control Manager (SCM).
Prerequisites
- Windows Server 2016 or later
- Administrator privileges
- OpenTelemetry Collector binary (
otelcol.exe) available - Ports 4320 and 4321 available
Part 1: Install the Management Server
Step 1: Download the Installer
Download CollectorCtrl_Setup.exe from the releases page.
Step 2: Run the Installer
- Right-click
CollectorCtrl_Setup.exeand select Run as Administrator - Choose installation directory (default:
C:\Program Files\CollectorCtrl) - Select database engine:
- SQLite — zero configuration, single-file database (good for testing, < 500 agents)
- PostgreSQL — enter your connection DSN for production
- Complete the wizard
The installer automatically registers a Windows Service named CollectorCtrlServer and starts it.
Step 3: Verify the Service
Open Services (services.msc) and confirm CollectorCtrlServer is Running.
Step 4: Access the Dashboard
Open your browser and navigate to:
https://localhost:4321
Or use your server's IP/hostname if accessing remotely:
https://YOUR_SERVER_IP:4321
Default credentials:
- Username:
admin - Password:
admin
⚠️ Change the default password immediately after first login.
Part 2: Install the Supervisor Agent
Repeat these steps on every server where you want to manage an OpenTelemetry Collector.
Step 1: Download the Supervisor Installer
Download CollectorCtrl_Supervisor_Setup.exe from the releases page.
Step 2: Run the Installer
- Right-click
CollectorCtrl_Supervisor_Setup.exeand select Run as Administrator - Server Connection Page:
- Server OpAMP Endpoint: Enter your CollectorCtrl server's OpAMP URL
- Example:
wss://192.168.1.10:4320/v1/opamp - Use
ws://for unencrypted orwss://for TLS
- Example:
- Server OpAMP Endpoint: Enter your CollectorCtrl server's OpAMP URL
- Collector Configuration Page:
- OpenTelemetry Collector Binary: Select the path to your
otelcol.exe- Default:
C:\Program Files\otelcol\otelcol.exe
- Default:
- Initial Config (optional): Select an initial YAML config if you have one
- OpenTelemetry Collector Binary: Select the path to your
- Complete the wizard
The installer:
- Writes
supervisor.yamltoC:\Program Files\CollectorCtrl Supervisor\ - Registers the
CollectorCtrlSupervisorWindows Service - Starts the service automatically
Step 3: Verify the Agent Appears in the Dashboard
Within 30 seconds, the agent should appear in the Fleet Overview at https://YOUR_SERVER_IP:4321.
Part 3: Manual Service Registration (Alternative)
If you prefer command-line or need to deploy via Group Policy/SCCM:
# Create the servicePS >New-Service -Name "CollectorCtrlSupervisor" \-BinaryPathName '"C:\Program Files\CollectorCtrl Supervisor\supervisor.exe" --config "C:\Program Files\CollectorCtrl Supervisor\supervisor.yaml"' \-DisplayName "CollectorCtrl Supervisor" \-StartupType Automatic# Start the servicePS >Start-Service -Name "CollectorCtrlSupervisor"# VerifyPS >Get-Service -Name "CollectorCtrlSupervisor"Configuration Reference
Default Paths
| Component | Path |
|---|---|
| Server binary | C:\Program Files\CollectorCtrl\server.exe |
| Server config | C:\ProgramData\CollectorCtrl\ |
| Server logs | C:\ProgramData\CollectorCtrl\logs\server.log |
| Supervisor binary | C:\Program Files\CollectorCtrl Supervisor\supervisor.exe |
| Supervisor config | C:\Program Files\CollectorCtrl Supervisor\supervisor.yaml |
| Supervisor logs | C:\ProgramData\CollectorCtrlSupervisor\supervisor.log |
| Database (SQLite) | C:\ProgramData\CollectorCtrl\collectorctrl.db |
supervisor.yaml Template
server:
endpoint: 'wss://YOUR_SERVER_IP:4320/v1/opamp'
token: 'YOUR_API_TOKEN'
tls:
insecure_skip_verify: true
capabilities:
reports_effective_config: true
reports_own_metrics: true
reports_own_logs: true
reports_own_traces: true
reports_health: true
accepts_remote_config: true
reports_remote_config: true
accepts_restart_command: true
accepts_packages: true
agent:
executable: 'C:\Program Files\OpenTelemetry Collector\otelcol.exe'
passthrough_logs: true
config_files:
- 'C:\Program Files\OpenTelemetry Collector\config.yaml'
storage:
directory: 'C:\ProgramData\CollectorCtrlSupervisor\storage'
telemetry:
logs:
level: info
output_paths:
- 'C:\ProgramData\CollectorCtrlSupervisor\supervisor.log'
Note: Escape backslashes in YAML as
\\or use forward slashes.
Firewall Requirements
Ensure the following ports are open:
| Port | Direction | Purpose |
|---|---|---|
| 4320 (TCP/WSS) | Inbound to Server | OpAMP agent communication |
| 4321 (TCP/HTTPS) | Inbound to Server | Admin UI and REST API |
| 13133 (TCP) | Localhost only | OTel Collector health check |
No inbound ports need to be opened on agent machines — they connect outbound to the server.
Troubleshooting
| Problem | Solution |
|---|---|
| Service won't start | Check C:\ProgramData\CollectorCtrl\logs\server.log for errors |
| Agent not appearing | Verify server IP and port 4320 are reachable: Test-NetConnection -ComputerName SERVER_IP -Port 4320 |
| TLS errors | If using self-signed certs, set insecure_skip_verify: true in supervisor.yaml |
| Config not applying | Ensure otelcol.exe path is correct and the binary is executable |
CollectorCtrl