Collector¶
The collector is a Linux VM in the customer network running remote checks:
- SNMP (v1/v2c/v3) — switches, routers, firewalls, UPSes, storage
- Ping — reachability
- SSH —
ssh_command,ssh_cpu,ssh_mem,ssh_disk - HTTP / HTTPS —
http,ssl_certificate - Discovery — nmap scans
Push-based: fetches config from server (GET /api/v1/config/collector/<id>), runs checks, sends results back (POST /receiver/check-result).
Prerequisites¶
| What | Min | Recommended |
|---|---|---|
| OS | Debian 12, Ubuntu 22.04, RHEL 9, AlmaLinux 9, SUSE 15, Arch | Debian 13 |
| Architecture | amd64 | amd64 |
| RAM | 1 GB | 2 GB at ~500 hosts |
| Disk | 5 GB | 20 GB |
| Outbound 443 | to Vesana server | – |
| Network sight | to monitored subnet | – |
nmap is auto-installed by the installer.
Step 1 — Register collector in Vesana¶
Admin → Collectors → New:
| Field | Example |
|---|---|
| Name | acme-collector-01 |
| Tenant | Acme GmbH |
| Description | Customer LAN, HQ |
After Save, Vesana shows an API key once:
Copy immediately — only the hash is visible afterwards.
Step 2 — Install collector¶
One-command installer on the Linux VM, as root:
What happens:
- Distro detection (Debian / RHEL / AlmaLinux / SUSE / Arch)
- Packages:
nmap,snmp(client),ca-certificates,curl - Binary into
/usr/local/bin/vesana-collector - Config:
/etc/vesana/collector.env - systemd unit
/etc/systemd/system/vesana-collector.service systemctl enable --now vesana-collector
Re-run safe — overwrites binary + config.
Step 3 — Verify¶
In Vesana: Admin → Collectors — collector should flip to „online" within 60 s (green dot + heartbeat timestamp).
On the collector VM:
Step 4 — Assign hosts to collector¶
When creating a host with passive checks: pick collector from dropdown. Existing hosts: Host detail → Assign collector.
The collector polls config every 60 s — new hosts/services appear with a small delay.
Discovery from the collector¶
Discovery scans run via the collector. Workflow: Hosts → Discovery.
Increase logging¶
sudo sed -i 's|^VESANA_LOG_LEVEL=.*|VESANA_LOG_LEVEL=debug|' /etc/vesana/collector.env
sudo systemctl restart vesana-collector
debug is verbose — switch back to info for production.
Multiple collectors¶
Larger environments or multiple sites: any number of collectors. One per site is common. Hosts are assigned per service to a collector — services of one host can split across collectors.
Load balancing isn't automatic — if a collector is overloaded, manually rebalance hosts.
Auto-update¶
Collector auto-updates on next config refresh (60 s) when the server reports a newer version. Same mechanism as agents: see Agent versioning.
Troubleshooting¶
Collector not online¶
- Outbound 443 open?
- DNS resolvable?
- API key correct?
journalctl -u vesana-collector --since '5 minutes ago'
Common issues mirror agent troubleshooting — same mechanics.
SNMP check failing¶
If that fails, it's not the collector — it's network / SNMP config / community.
Discovery finds nothing¶
-sn is ping scan. If that finds nothing either, subnet visibility is the issue.
Uninstall¶
sudo systemctl stop vesana-collector
sudo systemctl disable vesana-collector
sudo rm /etc/systemd/system/vesana-collector.service
sudo rm -rf /etc/vesana
sudo rm /usr/local/bin/vesana-collector
sudo systemctl daemon-reload
In Vesana: Admin → Collectors → Delete. Hosts assigned to the deleted collector must be reassigned, otherwise their services go NO_DATA.
Next¶
- Hosts → Discovery — use the collector for net scans
- Hosts → SNMP sensor picker — discover sensors
- Agent versioning — same update mechanism