Skip to main content
The Odigos VM Agent is available as part of Odigos Pro. For access and licensing details, contact us.
This page installs the VM Agent as a Linux system package. To run the agent as a container instead — for example on immutable hosts or Compose-managed fleets — see Docker Deployment.

Configuring Package Sources (apt, dnf, rpm)

To install the Odigos VM Agent, configure your package manager or obtain the RPM files.
Using dnf (RHEL, Fedora, Rocky Linux):

Root and non-root

Fresh installs run as the unprivileged odigos user. The packaged unit still defaults to User=root; non-root mode is applied by the drop-in /etc/systemd/system/odigos-vmagent.service.d/nonroot.conf (capabilities, relocated writable trees, collector as a child process). Precedence (first match wins):
  1. Host cannot grant ambient capabilities (systemd older than 229 — RHEL 7, CentOS 7, default Amazon Linux 2) → root, even if you requested non-root. Check with /usr/lib/odigos/bin/odigos-vmagent-caps --explain.
  2. ODIGOS_AGENT_USER_MODE=root or nonroot in the environment of the package script (apt / dnf / rpm)
  3. Sticky file /var/lib/odigos-agent/user-mode (written automatically when the env is set; see below)
  4. Heuristic: non-root — including an upgrade of a host that is still on root
Non-root extra permissions — additional permissions for restarting sources, journal groups for LOGS, and the capability set — are documented in Linux Permissions.

Installation

Non-root (default), using dnf (RHEL, Fedora, Rocky Linux):
Root:
To persist the choice independently of the install environment (the reliable method — apt / dnf may not forward ODIGOS_AGENT_USER_MODE into the package script):

Apply the license

odictl validates the token before writing it, so an invalid JWT cannot replace a working license. The file is stored at /var/lib/odigos-agent/config/license.jwt (the same path in root and non-root mode).
Wrap the token in single quotes so the shell does not alter it. Do not write the JWT into the file by hand — use odictl so it is validated first.
The config directory is owned by the agent user (odigos in non-root mode, root in root mode) and is not world-writable. Use sudo for odictl -odigos-license and for any YAML you place under /var/lib/odigos-agent/config.

Enable the VM Agent

Enable and start odigos-vmagent. It does not start itself on a fresh install.
Do not enable odigos-otelcol.service on a non-root install. The package disables that unit so it does not fight for ports. The non-root agent starts odigos-otelcol as a child process of odigos-vmagent.In root mode the agent manages odigos-otelcol.service itself over systemd D-Bus. Enabling the collector unit separately is not required.
Confirm the agent is running:
If you run Odigos Central, follow Connecting VM Agent to link this host to Central.

Layout

Config, license, sources, destinations, actions, and rules live under one tree for both root and non-root:

Next steps