Skip to content

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.cloud throughout — 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-systemd distros are not currently supported.
  • x86_64 (amd64) or aarch64 (arm64) CPU.
  • Outbound HTTPS to ingest-eu.opsmerge.cloud on port 443 (binary download + registration) and outbound TLS to the same host on port 4222 (NATS for the agent's live connection).
  • curl available on the box (every distro ships it; if it's missing, install it first with the distro's package manager).
  • root (use sudo).
  • A registration token from OpsMerge (next section).

Step 1 — Generate a registration token

  1. Sign in to OpsMerge at app.opsmerge.cloud.
  2. Open Clients in the left sidebar and pick the client this endpoint belongs to.
  3. 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):

bash
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.cloud into bash

Cloudflare's Bot Fight Mode on app.opsmerge.cloud returns an HTML challenge page to curl, which bash then tries to execute and fails with a confusing syntax error. The install script must come from ingest-eu.opsmerge.cloud, which is the dedicated agent-bootstrap host with no Cloudflare proxy in front of it.

Step 3 — Verify

Back in OpsMerge:

  1. Open Agents in the left sidebar.
  2. Filter by the client you installed against.
  3. The new endpoint should appear within 30 seconds, with Online status and current hostname, kernel, and IP.

On the endpoint itself:

bash
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:

bash
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

OpsMerge is a product of Brindleford Technologies Ltd, company number 16871436, registered in England and Wales.