en-US

Cloud Agent for Docker


User roles required for this deployment

Admin Co-admin Asset Manager Viewer
Agents Add
Edit   (Agent Name Blocked)
Delete
Probing Distributions Add
Edit
Delete


Overview

The SEI Cloud Agent is a Docker container image built on Ubuntu Server and engineered for deployment on virtual machines (VMs) with modern container runtimes in any Linux environment.

Service Experience Insights neither supplies nor maintains the VMs running the agent. The host VM’s owner or their chosen managed service provider is responsible for maintaining host VMs, including applying patches and updating security.

For users familiar with container runtime deployments, installing the SEI Cloud Agent to a VM with a container runtime is as simple as fetching the SEI Cloud Agent container image, configuring the image, and deploying the container.

The following article outlines the steps for deploying the SEI Cloud Agent on VMs hosted in major public cloud environments. While it focuses on public clouds due to their common use, the deployment steps broadly apply to any VM with a container runtime in a Linux environment.


Confirm Host Environment

Prepare VMs to support SEI Cloud Agent containers

OS Image

Ubuntu Server 22.04 LTS is a verified and recommended running environment of the SEI Agent.

Also view the official Ubuntu documentation for details of cloud images. Canonical provides commercial support for Ubuntu OS and may provide “Pro” OS images maintained by Canonical.

Required VM Spec (Instance Types)

SEI Agents consume few resources when performing network probing tests. However, agents responding to many inbound Speed Tests* can consume more resources. Please select an appropriate instance type on your cloud environment according to the following recommended resource requirements below:

  • (v)CPU: 2 Cores
  • RAM: 1GB
  • Storage: 10GB

Note: When an SEI Agent is used as a speed test target, it requires enough bandwidth to handle possible concurrent requests from multiple agents. Resource planning is required before deploying speed test agents. Estimate the number of agents originating speed test requests and the internet speed being tested. Then, consult the Speed Test Data Usage section of the Data Usage Estimation article to estimate the resources required for the deployment.

Network Configuration

The VM must have Internet access to reach the SEI Cloud Controller. See Firewall Settings for the required firewall rules.


Create agent record in SEI dashboard

Create an agent for each host device

Click the Add Agents button on the Agents page

Following are agent configurations for this deployment. See the Agents article for more information about agent configuration.

Input Input Type Options Instructions Required
Name Text -- Enter a display name for the agent:
  • Choose an agent name that logically represents the agent's role in the network.
  • Logical naming conventions often include the host's name, location or role in the network.
Required
Group Single select dropdown Select an existing group
  • If a new group is needed, complete the agent creation process in progress.
  • After the agent is added, create a new group in the Groups tab of the Agents page.
  • Select the newly created agent from the Pending tab.
  • Click the actions ellipsis to open the agent edit modal.
  • Assign the agent to the newly created group and save.
Tags Multiselect dropdown Select an existing tag or add a new tag
  • Type a tag name to search existing tags.
  • If the search text does not match an existing tag, a new tag is created and assigned to the agent.
Type Single select dropdown
  • Static Agent
  • Mobile Agent
  • Cloud Agent
  • Select Cloud Agent.
  • Mobile and Static Agents are not supported.
Required
Enable As Target Checkbox Unchecked (default)
  • Static Agents support target functionality.
  • With target functionality enabled, static agents become managed target agents and will respond to probing from other agents.
IP Type Single select dropdown
  • External IP (default)
  • Internal IP
  • External IP allows the agent to accept probing from agents outside of the network.
  • Internal IP allows agent-to-agent probing within a network.
Required for target-enabled agents only
IP Version Single select dropdown
  • IPv4 (default)
  • IPv6
  • Select IPv4 or IPv6.
Required for target-enabled agents only
Target Protocol Multiselect dropdown
  • ICMP
  • HTTP
  • UDP
  • Speed Test
Select one or more target protocols for this managed target agent. Required for target-enabled agents only
UDP Port Text 5001 (default) Enter UDP Port. Required for target-enabled agents only
Speed Test port Text 8080 (default) Enter Speed Test port. Required for target-enabled agents only
Activation Method Single select dropdown
  • Individual Token
  • Shared Token
  • Serial Number
  • Individual Tokens are unique single-use tokens for each agent.
  • Shared Tokens enable a single token to activate multiple agents. Shared Tokens are provided by the NTT support team assigned to your project.
  • Serial number activation is not supported for Cloud Agents.
Required
Location Preference Single select dropdown
  • Prefer Discovered Location
  • Prefer Primary Location (default)
  • Prefer Primary Location Only
  • Select the "Prefer Primary Location Only" option
  • While location preferences that use IP lookup are supported, this option is the most accurate and strongly recommended for cloud agents where the cloud region is well-known and unlikely to change.
Required
Location Text --
  • Enter the partial or complete address.
  • Latitude/longitude can be entered and will automatically resolve the written address/location when the agent is created.
Required for:
  • Prefer Primary Location
  • Prefer Primary Location Only
Contact Name Text -- Enter the contact name of the person responsible for agent software activation.
Email Text -- Enter the email address of the person responsible for installing and maintaining the agent software. Required
Email Language Single select dropdown
  • English
  • Japanese
  • Defaults to Language preference set in Regions setting
Choose the language for the agent activation email Required when Individual Token selected
Skip Activation Email Checkbox Unchecked (default) Unless checked, Individual Tokens are automatically emailed to the email address in the client record.


SEI Agent Container

Installing The Docker Engine

The SEI Agent is provided as a Docker container image and the Docker Engine is required to run the agent on the VM.

Ubuntu Server 22.04 LTS does not come with the Docker Engine by default. It must be installed following the instructions of the official installation documentation provided by Docker Inc.

Fetch Activation Token

  • Shared Token
    • Shared tokens provide the option of using a single token to activate multiple agents.

    • Shared tokens allow the reuse of the same Docker instructions for each agent deployment.

    • Shared tokens are not shown in the SEI Dashboard as a security measure.

    • Contact your NTT representative to request a shared token. They will provide the shared token by a secure communication method established between NTT and your company.

  • Individual Token
    • Go to Agents > Pending tab to search for the newly created agent.

    • Click the agent’s name to view the agent.

Click to expand
  • Click the Agent tab on the agent page and copy the individual activation token.

Click to expand


Running a SEI Agent Container

To run an SEI Agent container, you can use the docker run command. Like other applications, the SEI Agent requires some host volumes to be mounted to the container and some parameters passed as environment variables. The name of the SEI Agent container image is cloudwan/watchdogagent:latest.

The following example works in most environments by replacing <ACTIVATION_TOKEN> with the activation token fetched in the previous step.


docker run -d --rm --privileged \
  --name watchdogagent \
  --network host \
  -v /opt/watchdog:/etc/watchdog \
  -v /lib/modules:/lib/modules \
  -v /usr/src:/usr/src \
  -e "ACTIVATION_TOKEN=<ACTIVATION_TOKEN>" \
  -e "CONTROLLER_DOMAIN=apis.edgelq.com" \
  cloudwan/watchdogagent:latest

Notes:

  • The -d option makes the container run like a daemon process in the background.
  • The --rm option makes the container removed right after you stop the container. This is useful not to leave unused containers behind.
  • The --privileged option is required to run the container as root to conduct some network operations.
  • The --name watchdogagent option specifies the container name. This name can be used later for operations on the container.
  • The --network host option makes the container use the host network.
  • Credential files and configuration files will be stored in /opt/watchdog.

The image file will be pulled (downloaded) automatically when it’s not stored locally.

Checking The SEI Agent Container Status

The docker ps shows the list of containers running on the VM. Note that stopped containers are not included in the output from this command. To see stopped containers, add the -a option to the command.

Click to expand

Logs of The SEI Agent Container

The docker logs command shows you the log from a container process. To see the log from the SEI agent container created above, run docker logs watchdogagent. The -f option is useful to follow the log file for new lines.


$ docker logs watchdogagent
2023-06-29 22:04:01,868 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
2023-06-29 22:04:01,870 INFO RPC interface 'supervisor' initialized
2023-06-29 22:04:01,871 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2023-06-29 22:04:01,871 INFO supervisord started with pid 1
2023-06-29 22:04:02,874 INFO spawned: 'watchdogagent' with pid 8
2023-06-29 22:04:02,878 INFO spawned: 'watchdogupdater' with pid 9

Stopping the SEI Agent Container

The docker stop command stops a container, and docker stop watchdogagent stops the SEI Agent container. Appending --rm to the command removes the container after it stops.


$ docker stop watchdogagent
watchdogagent


Updating the SEI Agent Container

The SEI Agent supports two methods of updates:

  • SEI Binary File Update (Internal):
    • By default, the SEI agent container is set to automatically update the internal binary files to the latest version, regardless of the Docker image version.

    • Most SEI Agent releases update automatically, and no action is required.

    • Should you prefer to maintain a static version (i.e. external image version not equal to the internal binary version, ) disable automatic updates by setting the environment variable to DISABLE_AUTO_UPDATE=true.

  • Docker Image Update (External):
    • New Docker images are released with each SEI version.

    • While these images infrequently require user action due to our internal update mechanism, certain scenarios, such as end-of-life (EOL) base images or adding new commands to the SEI Agent, require a manual Docker image update.

    • When such a release is announced, execute docker pull cloudwan/watchdogagent:latest to update to the latest version.


Backward compatibility:

  • Best efforts are made to maintain backward compatibility for SEI Agent version.
  • Should backward compatibility be lost in the future, best efforts will be made to provide advance notice.
  • However, it is highly recommended to use the latest version.


Agent Release Notification

  • All agent releases are announced in the SEI Agent Release Notes.
  • Updates that require manual updates are communicated via NTT contacts and explicitly mentioned in the release notes.
  • Quickly identify older cloud agent versions by filtering the Agent List. page by version.


Removing the SEI Agent Container Image

Use the docker rmi command to emove the SEI Agent container and SEI Agent container image. Run docker rmi cloudwan/watchdogagent:latest to delete the image file. Note that this command files when there’s a running container using the image.


Confirm successful deployment

Wait five minutes and check the SEI dashboard to confirm successful activation.

  • Return to Agents > Activated tab
  • Search for the agent
  • A green dot in the first column of the agent row indicates that the agent is active.
  • Metrics will be visible if the agent is in an agent group in an existing probing distribution.
    • Set the time selector to one hour.
    • Click the agent name to view current metrics and the time-series data collected since activation.

Click to expand

Click to expand





In This Article