Installer Mode
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 Kernel
executable 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
andRecorders
) - 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.
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:
💡 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.
- Copy the installer file to the Production system.
- 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>
.- 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) - Once the installation is completed, all implementations shall be running.
- You shall see logs listing the
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:
- Manually installing it by re-applying the previous step
- Automatically install it Over The Air (recommended)