Allxon Device Management - Tool Guide

From RidgeRun Developer Wiki

Allxon empowers businesses with cutting-edge remote management solutions for their connected devices, with a particular focus on smart city, smart retail, smart transportation, and other related areas.

With both software and hardware-based approaches, Allxon offers a comprehensive solution for edge AI devices, including seamless monitoring, OTA updates (BSP), power control, cloud serial console, and more. With their robust capabilities, clients can maintain operational continuity and effectively mitigate disruptions.

Getting Started

To start with the device management tool of Allxon create an account on the Allxon portal with your work email. Allxon will send an activation email to complete the account setup.

Install Allxon Agent in your Jetson device

You can install the Allxon agent using the following command:

sudo bash -c "$(wget -qO - https://get.allxon.net/linux)"

The Agent will automatically start and show the GUI once install. After successfully install the agent reboot your device.

Installation Options

  • Use --name to set the device name.
sudo bash -c "$(wget -qO - https://get.allxon.net/linux)" -s --name "Your device's name"
  • Use --profile to set the device information.
sudo bash -c "$(wget -qO - https://get.allxon.net/linux)" -s --profile path/profile.json"

The json file uses the following syntax:

profile={
    "store": "My Store",
    "phone": "12345678",
    "asset": "ASSET123",
    "address": "123 Main St",
    "city": "Anytown",
    "state": "CA",
    "country": "USA",                #ISO 3166-1 alpha-2 format
    "zip": "12345",
    "note": "This is a note",
    "tags": [
        "tag1",
        "tag2"
    ]                               #Up to three tags, each up to 10 characters   
}

Dependecies

Tests were done in a recently flashed JetPack 5.1.2, and the dependencies are already install.

In case sometime goes wrong with the installation check the dependencies:

  • libc6
  • libstdc++6
  • zlib1g
  • coreutils
  • util-linux
  • network-manager (network tools for OOB pairing and network information)
  • dmidecode
  • tar
  • gnome-
  • screenshot
  • zip

Pair device to your Allxon portal

1. To pair the device to your portal first obtain the pairing code from the device.

To get the code there are two options: using gui or using cli.

Pairing code from GUI

Open Allxon Agent clicking in the application icon, this will start the agent and the following window will be displayed.

Allxon Agent

Then click the Get Paring Code, this will pop up the pairing code, the code will be available only for 10 minutes.

Pairing code from CLI

To get the paring code using CLI use the following command:

allxon-cli agent pairing-code

This command will print the pairing code and its expiration time.

nvidia@ubuntu:~$ allxon-cli agent pairing-code
Pairing Code: UF-9446
Expires in 09:59 (mm:ss)

2. With the paring code enter the Allxon Portal and click the + Add Device

3. Go to the paring code step and enter the device code.

Paring code step

Once the device is paired the device will show on your Allxon Portal.

Device on Portal

Add Subscription Code

If you have a subscription code to have unlimited actions you can redeem it to the desire devices.

On the Allxon Portal select the desire device and go to the Plan & Usage tab, click the + Redeem button and add your subscription code.

Device page

In the Allxon Portal you can find the devices tab where all the added devices are listed. You can filter the devices based on:

  • Device Status
  • OOB Status
  • Device OS

In this tab you can perform basic action such as renaming the device, which is useful to identify the devices.

To change the name of a device click the 3 dots button on the right of the device and select the option Edit Device Name.

Device tab actions

You can go to the device page clicking on the desire device name.

Device Information

In the device page, you can check the device information in the tabs Profile and Status.

  • Profile tab: This will show you information such as name, address, time zone, notes, etc. This information can be edit in order to identify the devices.
Device Profile
  • Status tab: This tab will indicate if the hardware is online or offline. Will also indicate the hardware, system and network information and state. This indicates useful basic information such as, networks IP, memory information and other.
Device Status

Allxon also allow to add plugins to the diferent devices such as Tegrastast plugin which can add more information about the CPU and GPU status.

Monitoring Device

In the device page, you can manage and monitor the device in the tab Monitoring, this tab allow to perform the following actions:

  • Reboot: Reboot OS using the Reboot option in the Actions button located on the upper right corner.
  • Send command: Perform one or more commands in the device. Note: The terminal working directory is on the root folder.
  • Take screenshot: Perform screenshot of current device display.
  • Get Device Logs: Get device logs. Save logs in the Allxon Portal (available for 30 days).
  • Software Watchdog Events: Monitors your applications and attend unexpected system crashes by remotely relaunching the application.
Device Monitoring

Obtain device logs

You can set up to 5 sets of log settings with 8 log paths each one. You can set the Agent to collect the logs periodically, or to collect the logs manually.

1. Go to the Group Settings at the left panel in your Allxon Portal in the Configuration Tab, select the Device Log option, then choose the preferred OS (Windows/Linux) tab, and click on the + button to add your first log setting.

2. Enter the log information:

  • Schedule: If needed to automatically retrieve logs at the same hour every day or every week.
  • Log Name: Name of the log.
  • Log Path: Path were the logs are saved in the device. You can enter up to 8 paths if needed.
Log Setting

3. To retrieve the logs, go to the Device page of which you want to retrieve the logs and select the Monitoring tab.

4. In the Device logs window drop-down the log and click the Get Now button. You can now download the tarball with the available logs.

Alerts

The group devices can set up real-time alerts about your device's connections and systems operations.

The available alerts are:

  • Connection
    • Abnormal Offline: When your network connection has been interrupted/abnormal for more than 5 minutes, the alert will be triggered.
    • Intermittent Connectivity: When intermittent connectivity has occurred 5 times or more within a 5-minute period, the alert will be triggered.

When the device reconnects and remains connected for 5 minutes, the alert will be automatically resolved.

  • System
    • High CPU Usage: Allxon Agent monitors CPU usage every 30 seconds, alerting for abnormal usage over a period of 5 minutes.
    • High Memory Usage: Allxon Agent will check whether the memory usage overs the threshold every 30 seconds, and the abnormal situation needs to continue over 5 minutes then the alert will be triggered.
    • High System Storage Usage: Allxon Agent will check whether system storage overs the threshold and trigger the alert. The system storage usage is estimated from the space where your OS resides. For other storage entities attached with system, their space will not be included in the estimation.
    • High System Temperature: Agent will check whether the system temperature overs the threshold every 30 seconds, and the abnormal situation needs to continue over 5 minutes then the alert will be triggered.

Activate Alerts

To receive devices alerts first is needed to set the notification methods to activate alerts.

The notification methods are:

  • Emails
  • LINE
  • Webhook: This can be added as a Slack channel.

1. Set up notifications methods in the Group Settings at the left panel in your Allxon Portal.

2. In the Alert tab, click on the Edit button to select at least one notification method for the options you wish to be alerted on in the upper right corner of each option.

Alert setting

Note: The LINE and Webhook channels need to be set up before setting the alerts. Go to LINE settings for LINE channel setup and Slack settings for Webhook channel setup.

3. System notification allow us to set up the wanted thresholds for each of the alert options.

System alerts

4. Once a notification method is setup the corresponding alert will be automatically selected in the checkbox and activated for the group devices.

Alert example

When an alert is trigger the alert will be send to the corresponding notification methods and the Device page in the Allxon portal will show the triggered alert in the alert tab.

Alert trigger

When the alert is resolved it will move to the Resolved tab.

You can also click the Act button to let your group teammates know that you acknowledged the alert an are working on it. When it is resolved it will automatically change to the Resolve tab.

Allxon portal will save the alerts history to check when this alert has happen and when it has been acknowledged and resolved.

Over-The-Air (OTA) Update

OTA artifacts, generated with Allxon CLI for Over-The-Air updates, are comprehensive packages that support mass updates of various media types, firmware, drivers, containers, and image files, etc.

To accomplish OTA updates you will need:

  • Allxon CLI: Is a command-line interface that enables communication with the installed Allxon Agent.

This package is install withing the Allxon agent installation, to confirm package installation use the command allxon-cli version

Example of expected output looks like:

nvidia@ubuntu:~$ allxon-cli version
Version: 3.11.1

Go to the Github Page for more information about Allxon CLI.

  • For testing the feature you can use the Allxon Hello OTA example. Details of the example in Github Page.
wget https://github.com/allxon/allxon-hello-ota-example/archive/refs/heads/main.zip

Generate OTA Artifact

Prepare OTA files in the desire directory. The directory must have an executable script called ota_deploy.sh with the respective execution commands of the OTA update and the necessary files for the update.

For example:

ota_image_update/
├── extlinux.conf
├── Image
├── install.sh
├── ota_deploy.sh
└── tegra194-p2888-0001-p2822-0000.dtb

0 directories, 5 files

With the OTA directory ready pack and generate the OTA artifact with the following command:

allxon-cli ota make -d <directory>

This command will generate the OTA Artifact with the following name structure [hash code]-[ota content folder name]-L-aarch64.tar.gz.

Trace OTA logs

Usually, the ota_deploy.sh script manages all the necessary steps. However, this script doesn't create clear messages or log files to track the process. If any step fails during deployment creating a log will help with the debug process.

To create a debug log of the script commands follow the next steps:

1. Copy your original ota_deploy.sh into a new file, for example install.sh

2. Create a directory to store the log files. For example /home/nvidia/otaLogs

3. Replace all instructions in ota_deploy.sh with the following line: ./install.sh > /home/nvidia/otaLogs/logfile 2>&1"

The logs can be retrieve using the Device Log feature in the device page.

Verify the generated OTA Artifact

It's recommended to verify the generated artifact locally before proceeding with upload and mass deployment.

You can test the artifact using the following command:

sudo allxon-cli ota test -f [name_of_your_artifact]

This action simulates an OTA deployment by unpacking the artifact and executing ota_deploy.sh. Verify if the deployment operations align with expectations as specified in the ota_deploy.sh script.

Upload OTA Artifact

With the OTA Artifiact ready you can uploaded to the Allxon Portal and Deploy it to the desired devices.

To upload the Artifact go to the OTA page at the left panel in your Allxon Portal.

Click the + Upload Artifact button and add the generated artifact [hash code]-[ota content folder name]-L-aarch64.tar.gz to start the uploading process.

Note: Only artifacts generated by Allxon Artifact Toolkit can be supported here

The uploaded Artifact will appear in the Artifacts tab and if the process was successful will have a Uploaded status.

OTA Artifacts

The status can vary between:

  • Uploaded: The artifact has successfully uploaded.
  • Failed: The artifact upload process failed. Check your internet connection / edge device storage and upload again. If problems still occur, please contact customer support.
  • Incomplete: The artifact upload process was interrupted and is incomplete. Please upload the artifact again.

Deploy OTA Artifact

Allxon OTA can deploy mass artifacts to different devices in matter of minutes.

Go to the desire artifact and click the deploy button. A window will pop up to select the desire devices to deploy the OTA artifact and select Next -> Deploy to complete the process.

OTA deploy process

In the Tab Deployment Activity will be shown all the deployments with information about status, devices, date and the operator who started the process.

Deploy Activity

Provisioning Playbook

This feature allow to apply a serial of plugins and artifacts to current devices and automatically to all new devices added in a respective order.

Plugins

Allxon offers plugins to facilitate use and applications in your devices, some of the plugins are:

  • VST Plugin: Allow to manage a series of cameras and monitor camera information, encoding settings (framerate, resolution, bitrate...), image setting information and storage. It also trigger alerts on connection lost, storage exceeds. It monitors perfromance of the Jetson while capturing. You can manage recording start and stop remotely.
    • Dependency: NVIDIA Video Storage Toolkit (VST)
  • Upterm Add-In: Allows to share terminal sessions instantly over internet via secure tunnels.
  • Tmate Add-In: Allows to create ssh session that can be connected to web browsers, linux and windows terminals.
  • Tegrastats: Monitor multiple general information such as performance monitoring, performance tuning, and alert configuration. You can set boundaries to performing stats an get alerts when this is not accomplish.

To apply a plugin to one of the devices go to the Plugins tab in the Allxon portal and select install, this will pop up a window to select to which devices you want to install the plugin.

Go to the Plugin Management section in the Allxon Guide to learn about the desire plugin.