Deploying the SenseOn Universal Sensor on AWS EC2
This guide walks you through deploying the SenseOn Universal Sensor on an EC2 instance in AWS, enabling visibility into host activity, Docker containers, and Kubernetes workloads (e.g., EKS).
Prerequisites
Install command: Your tenant-specific install command and installer key are available from Settings > Universal Sensor in the SenseOn platform.
- SenseOn account with access to Settings > Universal Sensor (to retrieve your install command and installer key)
- AWS permissions to:
- Launch and manage EC2 instances
- Connect via EC2 Instance Connect or Systems Manager (SSM)
- Manage EKS clusters and EC2 node groups
- A supported EC2 AMI (e.g., Amazon Linux 2, Ubuntu 20.04+, RHEL 7+)
- Outbound HTTPS access from the EC2 instance to your tenant's SenseOn domain
Option A: Install at Launch via User Data
For new instances, the simplest deployment method is to embed the SenseOn install command in the instance user data. The agent installs automatically the first time the instance boots.
- Go to AWS Console > EC2 > Launch Instance.
- Configure your AMI, instance type, key pair, networking and IAM role as usual.
-
Expand Advanced details and paste the following into User data, substituting your tenant hostname and installer key:
#!/bin/bash curl -fsSL https://<your-tenant>.senseon.io/install.sh \ | SENSEON_INSTALLER_KEY="<your-installer-key>" bash -
Launch the instance.
The Universal Sensor will install during first boot. Verify the host appears in Digital Estate > Devices within a few minutes.
Auto Scaling groups: Add the same user data block to your launch template so every scaled-out instance installs the sensor automatically.
Option B: Install on a Running Instance
For instances that are already running:
- Connect to the instance via EC2 Instance Connect, AWS Systems Manager Session Manager, or SSH.
-
Run the install command copied from Settings > Universal Sensor:
curl -fsSL https://<your-tenant>.senseon.io/install.sh \ | sudo SENSEON_INSTALLER_KEY="<your-installer-key>" bash
The installer detects whether the host uses apt or rpm and installs the appropriate package.
Optional: Verify the install script checksum
If your security policy requires checksum verification before executing remote scripts, download the script first, verify the checksum, then run it:
# Step 1: Download the script curl -fsSL https://<your-tenant>.senseon.io/install.sh -o install.sh # Step 2: Verify the checksum (compare against the value shown in Settings > Universal Sensor) sha256sum install.sh # Step 3: Run the script sudo SENSEON_INSTALLER_KEY="<your-installer-key>" bash install.sh
Option C: Install via Systems Manager (Run Command)
For fleet-wide deployment to existing instances:
- In AWS Systems Manager, open Run Command and choose the
AWS-RunShellScriptdocument. -
Set the command to:
curl -fsSL https://<your-tenant>.senseon.io/install.sh \ | SENSEON_INSTALLER_KEY="<your-installer-key>" bash -
Select your target instances (by tag, resource group, or instance IDs).
- Run the command.
SSM reports per-instance status as the install completes on each host.
Verify in the SenseOn Portal
- Log in to the SenseOn web portal.
- Navigate to Digital Estate > Devices.
- Look for the new EC2 host(s) with a recent Last Seen timestamp.
Additional Notes
- The Universal Sensor must be installed on the host OS to observe containers and pods correctly.
- In EKS or ECS environments, deploy the sensor directly on EC2 nodes — not inside a pod or container.
- The host needs outbound HTTPS access to your tenant's SenseOn domain. If a strict egress policy is in place, allow-list
*.senseon.ioand*.snson.net. - Use
systemctl status senseon-seed.serviceto check agent status.
Troubleshooting
Install command fails to download the script
- Verify the instance has outbound HTTPS access to your tenant's SenseOn domain.
- If TLS interception is in place, ensure
*.snson.netand*.senseon.ioare excluded.
Agent not reporting
- Verify the host appears in Digital Estate > Devices.
-
Check the service status:
sudo systemctl status senseon-seed.service -
Restart the service or reboot the instance if the above does not resolve the issue.
- For further help, see Troubleshooting or contact support@senseon.io.