Deploying the Collector
The Breakwater Collector is a lightweight agent that discovers and monitors OT devices on your network via SNMP and network scanning.
Requirements
- Linux host (Ubuntu 22.04+, Debian 12+, or Docker-capable)
- Network access to OT subnets (SNMP UDP 161)
- Outbound HTTPS to
breakwater.techgonecoastal.com(port 443) - Minimum: 1 CPU, 1GB RAM, 10GB disk
Deployment Methods
Docker Run
docker run -d \
--name breakwater-collector \
--network host \
--restart unless-stopped \
-e SITE_TOKEN=YOUR_your-site-token \
-e API_URL=https://breakwater.techgonecoastal.com \
-e SNMP_VERSION=2c \
-e SNMP_COMMUNITY=public \
-e POLL_INTERVAL=300 \
coastal/breakwater-collector:latest
Docker Compose
version: '3.8'
services:
collector:
image: coastal/breakwater-collector:latest
container_name: breakwater-collector
network_mode: host
restart: unless-stopped
environment:
SITE_TOKEN: "YOUR_your-site-token"
API_URL: "https://breakwater.techgonecoastal.com"
SNMP_VERSION: "2c"
SNMP_COMMUNITY: "public"
POLL_INTERVAL: "300"
SUBNETS: "192.168.10.0/24,192.168.20.0/24"
Install Script (Bare Metal)
curl -fsSL https://breakwater.techgonecoastal.com/install.sh | sudo bash -s -- \
--site-token YOUR_your-site-token \
--mode collector \
--subnets "192.168.10.0/24,192.168.20.0/24"
Air-Gapped Deployment
- Download the offline bundle from the setup wizard
- Transfer to the target host via USB
- Install:
tar xzf breakwater-collector-offline.tar.gz
cd breakwater-collector
sudo ./install.sh --air-gapped --site-token YOUR_token
Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
SITE_TOKEN | (required) | Authentication token from site setup |
API_URL | https://breakwater.techgonecoastal.com | Breakwater API endpoint |
SNMP_VERSION | 2c | SNMP version (2c or 3) |
SNMP_COMMUNITY | public | SNMP v2c community string |
POLL_INTERVAL | 300 | Seconds between SNMP polls |
SUBNETS | (from site config) | Comma-separated CIDR ranges to scan |
SNMP v3 Configuration
docker run -d \
--name breakwater-collector \
--network host \
-e SITE_TOKEN=YOUR_token \
-e SNMP_VERSION=3 \
-e SNMP_USER=breakwater \
-e SNMP_AUTH_PROTO=SHA \
-e SNMP_AUTH_PASS=YOUR_auth-password \
-e SNMP_PRIV_PROTO=AES \
-e SNMP_PRIV_PASS=YOUR_priv-password \
coastal/breakwater-collector:latest
Verification
After deployment, verify the Collector is running:
# Check container status
docker logs breakwater-collector --tail 20
# Verify heartbeat
curl -s https://breakwater.techgonecoastal.com/api/v1/collector/status/YOUR_site-id
The Collector will appear as "Connected" in the Breakwater Portal within 60 seconds.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No heartbeat | Outbound HTTPS blocked | Allow 443/tcp to breakwater.techgonecoastal.com |
| No devices discovered | SNMP not reachable | Verify SNMP community string and UDP 161 access |
| Partial discovery | Subnet misconfiguration | Check CIDR ranges match your OT network |
| High CPU usage | Too many subnets | Increase POLL_INTERVAL or reduce subnet scope |