Skip to main content
The Odigos VM Agent is available as part of Odigos Pro. For access and licensing details, contact us.
Review this page before installing. The launch type and kernel requirements are hard requirements — the agent cannot work around them.

Cluster and launch type

  • An existing Amazon ECS cluster with EC2 container instances.
  • EC2 launch type only. Fargate is not supported — the agent needs host PID, the instance’s Docker socket, and eBPF.
  • Ability to run a privileged task with pidMode: host and host bind mounts on the container instances (see required permissions).

Required permissions

Each elevated setting in the agent task definition maps to a specific capability. These are hard requirements. The proxy needs none of these.

Container instance kernel and AMI

The container instance kernel must be 5.10 or newer with BTF (/sys/kernel/btf/vmlinux present). The agent’s process detector and eBPF probes require BTF/CO-RE and a modern verifier.Amazon Linux 2’s stock kernel (4.14) does not work. On it, the agent logs runtime-detector stopped: ... verifier error ... permission denied, never discovers processes, and nothing is instrumented.
  • Recommended: the Amazon Linux 2023 ECS-optimized AMI (kernel 6.1).
  • Minimum: the Amazon Linux 2 kernel-5.10 ECS-optimized AMI.
  • Both amd64 and arm64 (Graviton) instances are supported — pull the image for the matching architecture.
Run this preflight check on a container instance before deploying:

Resources per instance

The agent task reserves modest resources on each container instance. The defaults in the reference task definition are a good starting point: Make sure your instances have that headroom free, otherwise the daemon task cannot be placed.

License and images

  • An Odigos Pro license token for the VM Agent, delivered to the task as ODIGOS_ONPREM_TOKEN (recommended: from AWS Secrets Manager).
  • The odigos-ecs-agent container image, and — for Agent + Proxy — the odigos-ecs-proxy image. Both are published multi-arch (amd64, arm64).
    Obtain the images and registry credentials from your Odigos support team.
  • We recommend mirroring both images into your own Amazon ECR repository in the cluster’s account and region. ECS then pulls them with the task execution role and needs no external registry credentials, and pulls stay in-region:
    Pull the architecture that matches your container instances. The proxy image is only needed for the Agent + Proxy mode.

IAM roles

Two roles, both trusting ecs-tasks.amazonaws.com:
Used by ECS to pull the image, write logs, and read the license secret.
  • Managed policy AmazonECSTaskExecutionRolePolicy
  • logs:CreateLogGroup (the reference task definitions set awslogs-create-group: "true")
  • secretsmanager:GetSecretValue on the license secret, when the token comes from Secrets Manager
The install guides create both roles with copy-pasteable commands.

Network

  • Outbound connectivity from the container instances to your Odigos Central endpoint (host:port; :443 implies wss). The connection is outbound-only — a Central instance in another AWS account or a public endpoint works with no inbound rules on the cluster.
  • Agent + Proxy mode only: the instances’ security group must allow TCP 4321 to the proxy (instance-to-instance when the proxy is pinned to an instance, or from the internal NLB).

Local tooling

For the install and verification steps:
zsh users: always brace variables when a : follows them — write "${REG}/odigos-ecs-agent:${TAG}", not "$REG/odigos-ecs-agent:$TAG", and "arn:aws:iam::${ACCOUNT}:role/...", not "arn:aws:iam::$ACCOUNT:role/...". Unbraced $VAR:letter is parsed by zsh as a history modifier and silently corrupts the value — producing image names like odigos-ecs-agentatest and truncated role ARNs.

Next steps

Install: Agent Only

Daemon service, each node connects to Central directly.

Install: Agent + Proxy

One aggregated platform per cluster.