Monitoring Agent
The SecureCheap agent is a single lightweight binary that runs as a system service.
Requirements
| Minimum | |
|---|---|
| OS | Linux (Ubuntu 18.04+, CentOS 7+, Debian 9+, RHEL 7+) |
| CPU | < 0.5% avg (1% peak) |
| RAM | ~25 MB RSS |
| Disk | ~10 MB |
| Network | ~500 KB/day outbound |
| Outbound port | 443 (HTTPS to api.securecheap.com) |
No inbound ports are required. The agent is pull-free — it pushes data outbound only.
What the agent collects
Every 15 seconds:
- CPU utilisation (total, per-core, user/system/iowait/steal)
- Memory (used, free, buffers, cache, swap)
- Disk I/O and usage per mount point
- Network throughput per interface (bytes/packets/errors)
- System load averages (1m, 5m, 15m)
- Top 20 processes by CPU and memory
Every 60 seconds:
- Full process list (name, PID, user, status)
- TCP connection count
- Running service status (systemd units)
Every 5 minutes:
- Filesystem inode usage
- Temperature sensors (if available)
- SMART disk health (if available)
Security model
- The agent runs as an unprivileged user (
securecheap-agent) - It reads from
/procand/sys— no root privileges needed for metrics - All outbound communication is TLS 1.3 only with certificate pinning
- The agent binary is signed — verify with:
sc-agent verify - The agent token (used for authentication) is stored at
/etc/securecheap/agent.confwith mode600
⚠️
The agent requires read access to /proc and /sys. On systems with AppArmor or SELinux,
you may need to add a policy rule. See Installation for details.
Configuration
Config file: /etc/securecheap/agent.conf
[agent]
token = sc_agent_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
workspace_id = ws_01HXZ3M...
server_name = prod-web-01
[collection]
interval_seconds = 15
process_top_n = 20
[advanced]
# Optional: disable specific collectors
collectors_disabled =
# Optional: custom tags applied to all metrics
tags = env:production,region:eu-centralUpgrading
sudo apt update && sudo apt install securecheap-agentThe service restarts automatically after upgrade. No data gap occurs — metrics resume within 30 seconds.