Documentation available here: https://docs.hetrixtools.com/category/server-monitor/
hetrixtools_agent.nimis a compiled Nim implementation of the Linux agent.- It runs as a long-running daemon process (systemd service), replacing cron/timer one-shot execution.
- Installer/update scripts keep the existing argument compatibility while deploying the Nim daemon service.
- Build locally with:
./scripts/build_nim_agent.sh- Build all Linux targets (
amd64+arm64+armv7+riscv64) in one command:
./scripts/build_multiarch.sh- Run one-shot payload generation for testing:
./hetrixtools_agent --once --no-post --config=./hetrixtools.cfg --log=./hetrixtools_agent.log- Show CLI help:
./hetrixtools_agent --help-
CLI options:
-h,--help: show usage and exit--once: run one collection cycle and exit--no-post: generate payload locally without posting to HetrixTools--config=PATHor--config PATH: set config file path (default:/etc/hetrixtools/hetrixtools.cfg)--log=PATHor--log PATH: set output payload log path (default:/etc/hetrixtools/hetrixtools_agent.log)- unknown options now fail with a clear error message and usage output
-
Required commands/dependencies:
- Runtime commands used by the Nim agent:
uname,whoami,df,lscpu,lsblk,ipawk,grep,sort,wc,cut,paste(used in command pipelines)
- Runtime libraries:
- OpenSSL (for HTTPS posting, build uses
-d:ssl) - zlib (for in-memory gzip payload compression)
- OpenSSL (for HTTPS posting, build uses
- Build requirements:
nim,gcc- for multi-arch build:
aarch64-linux-gnu-gcc(oraarch64-linux-musl-gcc) witharm64zlib/ssl libsarm-linux-gnueabihf-gcc(orarm-linux-musleabihf-gcc) witharmhfzlib/ssl libsriscv64-linux-gnu-gcc(orriscv64-linux-musl-gcc) withriscv64zlib/ssl libs
- Test/debug helpers (optional):
python3(parity tests and dummy ingest server)curl(manual post checks to dummy ingest server)
- Runtime commands used by the Nim agent:
-
Parity test (core metrics):
python3 tests/parity_test.py- Fields not implemented yet in the Nim agent payload (currently sent as empty values):
raid(software/hardware RAID details)zp(ZFS pool health/details)dh(drive health / SMART details)conn(configured port connection counts)temp(temperature metrics)serv(service status checks)oping(outgoing ping checks)rps1,rps2(HTTP request-per-second checks)