Monitoring plugin
Collects host, filesystem, and process metrics on the server and keeps a local history. Query it with abstrax monitoring. Samples stay on the machine, including a small latest.json vitals file.
| Item | Value |
|---|---|
| Binary | abstrax-monitoring |
| CLI | abstrax monitoring … |
| Trust level | official |
| Platforms | The Abstrax platform matrix. Release binaries are linux-amd64 and linux-arm64. |
Collectors read /proc and /sys. They do not have their own distribution list. monitoring setup asks abstrax doctor --json and stops when the CLI reports the host is unsupported.
Install
sudo abstrax plugin install monitoring
sudo abstrax monitoring setup
abstrax monitoring status
abstrax monitoring latest
setup writes /etc/abstrax/plugins/monitoring/config.yaml when that file is missing, installs abstrax-monitoring.service, and waits for the first sample. It does not replace a config that is already there.
The daemon runs as root. The database, socket, and latest.json are mode 0600 under /var/lib/abstrax/plugins/monitoring/. Other users cannot open them. Command lines are truncated in storage and are not logged.
Commands
| Command | Purpose |
|---|---|
monitoring setup |
Directories, default config, systemd, first sample |
monitoring config |
Show or change intervals, retention, rollups, and the storage ceiling |
monitoring start / stop / restart |
systemd control |
monitoring status |
Daemon health. Stopped is a successful answer, not a failed command |
monitoring latest |
Current host, filesystems, and top processes |
monitoring history --from --to |
One page of aligned host and filesystem history |
monitoring processes |
Live processes, or --at a past time |
monitoring process <instance-id> |
One process, including after it has exited |
monitoring process history <instance-id> --from --to |
History for that instance |
monitoring live |
NDJSON samples. Use --json-stream |
monitoring storage status |
Size, oldest sample, and whether the disk ceiling is binding |
--json wraps a command in the usual Abstrax result envelope. data.schema_version is 1. monitoring live prints raw sample lines ("type": "sample") and rejects --json.
History takes --max-points (default 240) and an opaque --cursor. A page is one resolution for both host and filesystem series. The cursor fails if that data has been deleted or rolled up.
Retention
Defaults: raw samples for 1 hour, then 15s for 6 hours, 1m for 24 hours, 5m for 7 days, and 1h out to 90 days. Sampling defaults to 5s for host and processes and 60s for filesystems. Sub-second polling is rejected.
Rates are rolled up from byte deltas and duration, not by averaging the rates. The storage ceiling defaults to 1GB (1000000000 bytes) and wins over the time horizon: the oldest rows are dropped, collection continues, and storage status shows both the configured retention and the oldest sample still on disk.
What it does not do
No alerts, logs, journald, remote shell, process kill, or export to Prometheus, Netdata, OpenTelemetry, or Grafana. Per-core, per-interface, and per-device history are not stored in v1.
Service
abstrax-monitoring.service restarts on failure, logs to the journal, and does not restart when run exits 78 because the config is invalid. systemctl reload is not used; send SIGHUP, or run monitoring config, to reload a changed file.
sudo abstrax monitoring install-service
sudo abstrax monitoring restart
journalctl -u abstrax-monitoring -f