VerOps Machine Agent — overview
A lightweight Rust agent for Linux and Windows servers — running as a native service on both platforms — heartbeat host metrics, on-demand log collection, command execution, optional software inventory and opt-in self-update — talking to the platform over a direct HTTP protocol, not OpenTelemetry. Current release: v0.5.0, with its connection key and inventory api_key unchanged.
What the Machine Agent is
The VerOps Machine Agent is a lightweight Rust binary that runs on an infrastructure host — a Linux or Windows server — and reports to the VerOps platform. It is a single process, roughly 20 MB of RAM at rest, that communicates outbound only: you never open an inbound port on the host. As of v0.2.0 it runs as a real service on both platforms — a native Windows service (VerOpsMachineAgent, with automatic start and failure recovery) and a systemd unit on Linux — and ships as downloadable install packages under Resources → Downloads. It authenticates with a connection key and then does five things.
| Capability | What it does |
|---|---|
| Heartbeat & host metrics | Checks in on a fixed cadence (default 30 s), reporting CPU load, its own memory footprint, and uptime. |
| Log collection | Reads log files on demand when the platform sends a READ_LOG command — pull-based, never a continuous tail. |
| Command execution | Runs the ad-hoc commands the platform hands back on each heartbeat (log reads, process watches) and posts the results. |
| Software inventory (optional) | An off-by-default module that reports this server's inventory into the same governed estate VerOps Scout feeds — servers and PCs in one model, using the VerOps Scout v0.4 inventory contract (report schema v2). |
| Self-update (opt-in) | Since v0.4.0 the agent can replace its own binary when the platform offers a newer release — off by default on both sides, checksum-verified, smoke-tested and automatically rolled back. See Automatic updates. |
How it talks to the platform — the one-line answer
The Machine Agent speaks a direct, purpose-built HTTP/JSON protocol to the VerOps backend under /api/machine/agents/*. It does not use OpenTelemetry, OTLP, or gRPC. Every request carries the connection key in an X-Machine-Key header; after registration it also carries an X-Agent-ID. The heartbeat is the control channel: the agent asks "any commands for me?" and the backend answers with pending work. The full protocol is documented in How the agent communicates.
Where it fits
The Machine Agent is the server-side collector. For desktops, laptops, and workstations, use VerOps Scout. The two share one inventory estate but target different classes of device — see Machine Agent vs Scout.
Time to first heartbeat: About 10 minutes from a downloaded binary to a host showing Connected in the UI. Start with Installation.
Release notes and version history
The current release is Machine Agent v0.5.0. Its credentials are unchanged: the core channel still authenticates with the machine connection key, and the optional inventory module still accepts an ingest api_key alongside the preferred enrollment token. This is worth stating plainly because the two agents now differ — VerOps Scout v0.6.0 dropped API-key authentication entirely, and a reader migrating Scout configurations must not strip api_key out of a machine-agent config. The platform tells the two products apart by the X-Agent-Kind header each one sends.
v0.4.0 added opt-in automatic updates, in parity with Scout — identical sequence and identical safety checks, so a mixed fleet of servers and workstations updates the same way. Nothing moves until an admin enables a release channel and the server's own config opts in; both are off by default. See Automatic updates.
v0.3.0 added OS update posture in parity with Scout v0.4.0 — identical fields and identical bucketing. That collector reads cached package metadata and local logs only: no network metadata refresh, no installs, no extra privileges. See Update posture and Patch posture.
Every release, its date and its highlights are listed in the product under Inventory → Agents → Release notes, and in each artifact's drawer under Resources → Downloads.