33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
|
|
# socktop_agent (server)
|
|||
|
|
|
|||
|
|
Lightweight on‑demand metrics WebSocket server for the socktop TUI.
|
|||
|
|
|
|||
|
|
Highlights:
|
|||
|
|
- Collects system metrics only when requested (keeps idle CPU <1%)
|
|||
|
|
- Optional TLS (self‑signed cert auto‑generated & pinned by client)
|
|||
|
|
- JSON for fast metrics / disks; protobuf (optionally gzipped) for processes
|
|||
|
|
- Accurate per‑process CPU% on Linux via /proc jiffies delta
|
|||
|
|
- Optional GPU & temperature metrics (disable via env vars)
|
|||
|
|
- Simple token auth (?token=...) support
|
|||
|
|
|
|||
|
|
Run (no TLS):
|
|||
|
|
```
|
|||
|
|
cargo install socktop_agent
|
|||
|
|
socktop_agent --port 3000
|
|||
|
|
```
|
|||
|
|
Enable TLS:
|
|||
|
|
```
|
|||
|
|
SOCKTOP_ENABLE_SSL=1 socktop_agent --port 8443
|
|||
|
|
# cert/key stored under $XDG_DATA_HOME/socktop_agent/tls
|
|||
|
|
```
|
|||
|
|
Environment toggles:
|
|||
|
|
- SOCKTOP_AGENT_GPU=0 (disable GPU collection)
|
|||
|
|
- SOCKTOP_AGENT_TEMP=0 (disable temperature)
|
|||
|
|
- SOCKTOP_TOKEN=secret (require token param from client)
|
|||
|
|
- SOCKTOP_AGENT_METRICS_TTL_MS=250 (cache fast metrics window)
|
|||
|
|
- SOCKTOP_AGENT_PROCESSES_TTL_MS=1000
|
|||
|
|
- SOCKTOP_AGENT_DISKS_TTL_MS=1000
|
|||
|
|
|
|||
|
|
Systemd unit example & full docs:
|
|||
|
|
https://github.com/jasonwitty/socktop
|