The Heex Agent is an out-of-the-box solution for deploying and running your implementations (i.e., Monitors and Recorders) alongside the Kernel executable on your production systems.

While our SDK aims to tackle the development of implementations to enable the monitoring and extraction of smart data, the installer tool suite seeks to facilitate and automate their deployment on our customers’ target machines.

In brief, the Heex Agent deploys the Monitors, Recorders and Kernel executables and runs them as services on the target system. An alternative to service is possible on linux (e.g. when not supported on dockers for example). After this first installation, any subsequent installation will offer to update the executables with their most recent version available in the installer.

Once all the implementations are developed, compiled, tested, and ready to be used in production for a system, you can use our installer tool to create the installer. It will bundle the environment into a self-extracting installer and manage which implementations to run.

And finally, once you have manually run the installer once, any future installation/update of your system can be done Over The Air, from any Dev Station.

How to create the Heex Agent

Prerequisites :

  • HeexSDK
  • Your implementations executables
  • A system configuration file of your production environment
  • HeexCLI

You will now package your custom implementations and the Kernelexecutable to facilitate their deployment to your new production system. This packaging process creates the Heex Agent.

📝 Note: Note

For information, the installer contains:

  • Kernel binaries
  • Your custom implementation binaries that you have included (Monitors and Recorders)
  • The target system’s systemConf.json configuration file (optional)
  • Configuration files

If you need a special configuration, check Configuration before going to the next step.

This is a two-step process:

Let’s do an example with implementations from get-started folder.

1. Copy your custom implementations’ executables into the /implementations folder of HeexSDK.

cd ~/Heex_SDK_version/get-started/cpp
cp GetStartedMonitor ../../implementations
cp GetStartedRecorder ../../implementations 

2. Create your installer using the HeexCLI.

  • Make sure to use the path of the systemConf.json of your production system, not your Dev Station.
  • Run the following command to generate the Agent installer:
./heex agent package --config-path <downloaded_path>/systemConf.json --path-to-sdk /path/to/sdk/folder

💡 Tip: 🎉 CONGRATULATIONS!

You have created your Heex Agent! It should have a naming as follow: Agent_<version>_<OS_and_Arch>_<system_id>_installer

Please refer to the extra configurations in the section below before going to the next step.

How to manually install Heex Agent onto your production system ?

We strongly recommend you to check the kernel configuration to set the running configuration for the heex kernel.
The previous package step generated an installer for your production system. We will perform the installation.

  1. Copy the installer file to the Production system.
  2. Install it by calling the installer (optionnally, arguments can be added by separating them from the installer with a --):
    ./Agent_<version>_<OS_and_Arch>_<system_id>_installer -- <optional arguments>.
    1. You shall see logs listing the Kernel executable and implementation names and IDs that are getting deployed and installed as services (or background processes if applicable)
    2. Once the installation is completed, all implementations shall be running.

Alternatively, you can directly install the Heex Agent from the SDK environment. More information can be found here.

📝 Note: execution mode

The default installation shall run your implementations as user services if systemctl is available on your system. If not, or if you want to have your executables running as background processes, you can add an option to the installer by adding --execution-mode background to your installation command. Please understand that when in background process mode, any system reboot will not automatically re-run your implementations.

💡 Tip: 🏆 CONGRATULATIONS!

You have installed the Heex Agent on your Production system!

📝 Note: Heex Agent uninstall

You can uninstall the Heex Agent by using the --uninstall option with the installer. More information can be found here on how to configure the installer.

You can also directly use the CLI agent uninstall command. More information can be found here.

How to update your Heex Agent onto your production system

Once you have installed an environment on your system, and you need to update it (ie add or remove new implementations, update the kernel …), you have 2 options:

  1. Manually installing it by re-applying the previous step
  2. Automatically install it Over The Air (recommended)