Install the agent on Linux
Last updated 29 June 2026
Install the agent on Linux
The Linux agent runs as a systemd service, reports back over TLS, and survives reboots and brief network outages. Installation is a single curl | sudo bash line.
Regional ingest hosts
This article uses
ingest-eu.opsmerge.cloudthroughout — the EU cell's agent ingest host. If your OpsMerge tenant is in another region (e.g. US), the ingest hostname will be different (ingest-us.opsmerge.cloud, and so on). Always use the host shown in OpsMerge → Add agent, which is pre-filled with your tenant's correct value — don't hand-copy from this article.
Prerequisites
- Any modern Linux distribution with
systemd(Ubuntu 20.04+, Debian 11+, RHEL/Alma/Rocky 8+, recent Fedora). Non-systemddistros are not currently supported. x86_64(amd64) oraarch64(arm64) CPU.- Outbound HTTPS to
ingest-eu.opsmerge.cloudon port 443 (binary download + registration) and outbound TLS to the same host on port 4222 (NATS for the agent's live connection). curlavailable on the box (every distro ships it; if it's missing, install it first with the distro's package manager).root(usesudo).- A registration token from OpsMerge (next section).
Step 1 — Generate a registration token
- Sign in to OpsMerge at app.opsmerge.cloud.
- Open Clients in the left sidebar and pick the client this endpoint belongs to.
- Click Add agent and copy the Linux install command.
The dialog generates a token scoped to that one client. Tokens are single-use by default and expire after 24 hours.
Step 2 — Install
The install command from the dialog looks like this (your token will differ):
curl -sL https://ingest-eu.opsmerge.cloud/scripts/install-agent.sh \
| sudo bash -s -- \
--server https://ingest-eu.opsmerge.cloud \
--token YOUR-TOKEN-HERE
Paste it into a terminal on the target box. The script downloads the agent binary, verifies its checksum, writes /etc/rmm/rmm-agent.yml, installs the rmm-agent.service unit, registers with the server, and starts the service. Expected runtime is about 10 seconds.
You should see output ending with:
==> Registration successful
==> Service started
If those two lines are present, you're done. Move on to step 3.
Don't pipe
app.opsmerge.cloudinto bashCloudflare's Bot Fight Mode on
app.opsmerge.cloudreturns an HTML challenge page tocurl, which bash then tries to execute and fails with a confusing syntax error. The install script must come fromingest-eu.opsmerge.cloud, which is the dedicated agent-bootstrap host with no Cloudflare proxy in front of it.
Step 3 — Verify
Back in OpsMerge:
- Open Agents in the left sidebar.
- Filter by the client you installed against.
- The new endpoint should appear within 30 seconds, with Online status and current hostname, kernel, and IP.
On the endpoint itself:
systemctl status rmm-agent
Expected: Active: active (running).
The agent logs to /var/log/rmm-agent.log, not journald. If you run journalctl -u rmm-agent and get nothing useful, that's by design — tail -f /var/log/rmm-agent.log is the right command.
Re-installing or repairing
Re-run the install command with the --force flag appended:
curl -sL https://ingest-eu.opsmerge.cloud/scripts/install-agent.sh \
| sudo bash -s -- \
--server https://ingest-eu.opsmerge.cloud \
--token YOUR-TOKEN-HERE \
--force
This stops the service, removes the old config, and runs a clean install. The endpoint appears as a new agent in OpsMerge — the previous agent record's history is preserved under its old ID.
Common installation issues
Script aborts with bash: syntax error near unexpected token '<'. You piped app.opsmerge.cloud into bash and got Cloudflare's HTML challenge page. Use ingest-eu.opsmerge.cloud instead.
Connection refused to port 4222. The agent registered fine, but its live connection to NATS is blocked. Outbound 4222/TLS to ingest-eu.opsmerge.cloud must be allowed. Many corporate firewalls strip non-443 outbound by default.
Agent shows up briefly then goes offline. Look at /var/log/rmm-agent.log for TLS or auth errors. The token may have expired between generation and use, or the per-agent NATS credentials may not have been written by the API. Generate a new token and re-run with --force.
Proxmox host installs hang or NIC drops. Disable TSO/GSO/GRO on Intel onboard NICs before installing the agent. The default driver setting can cause a kernel-level NIC hang on Proxmox hosts (ethtool -K eno1 tso off gso off gro off).
Next steps
- Install the agent on Windows
- Install the agent on macOS
- Updates & rollouts — how agent updates work after install
- Troubleshooting agents