Skip to main content

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

  1. Download the offline bundle from the setup wizard
  2. Transfer to the target host via USB
  3. Install:
tar xzf breakwater-collector-offline.tar.gz
cd breakwater-collector
sudo ./install.sh --air-gapped --site-token YOUR_token

Configuration

Environment Variables

VariableDefaultDescription
SITE_TOKEN(required)Authentication token from site setup
API_URLhttps://breakwater.techgonecoastal.comBreakwater API endpoint
SNMP_VERSION2cSNMP version (2c or 3)
SNMP_COMMUNITYpublicSNMP v2c community string
POLL_INTERVAL300Seconds 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

SymptomCauseFix
No heartbeatOutbound HTTPS blockedAllow 443/tcp to breakwater.techgonecoastal.com
No devices discoveredSNMP not reachableVerify SNMP community string and UDP 161 access
Partial discoverySubnet misconfigurationCheck CIDR ranges match your OT network
High CPU usageToo many subnetsIncrease POLL_INTERVAL or reduce subnet scope