Remote agents allow to separate some of the application’s functions to let them work in a distributed way. EasyDCIM acts as a master application, whereas the remote agent checks, in equal time intervals, if there are any tasks to carry out. If the remote agent finds any, then it attempts to accomplish that task. The task accomplishment status can be verified in the main application - EasyDCIM.
Here are the only requirements for remote agents:
- Supported operating system: Debian 9 “Stretch”
- EasyDCIM (master) must be accessible from a remote (slave) agent in order to synchronize the data
- Open ports on the remote agent server: 8080
Each agent contains three fundamental components, these are:
- DHCP Server – the DHCP protocol allows devices to automatically provide a pool of IP addresses that are fetched by the DHCP server and later on assigned to each DHCP key when entering the network.
- TFTP Server – TFTP is a protocol for transferring files through a network to other computers (PXE), used primarily for handling boot images.
- Samba Server – a file and print server designed for Linux/Unix and closely cooperating with Windows that allows to operate on the same exact files, regardless of the previously mentioned platforms.
Remote agents management
Add and configure remote agents
In order to add a new remote agent, follow to the side menu in your EasyDCIM → Settings → Remote Agents. In the top menu find and press “Add Remote Agent”.
Start with entering any name of your choice of the new remote agent and then press “Save Changes” button to continue. Next, you will be redirected to the Basic Information page of the newly created agent. You will find there any details on the installation, updates and synchronization between the remote agent and EasyDCIM.
The remote agent can be installed on an external server with the right operating system. The list of supported operating systems can be found at the top of this article in Requirements section. When you have a ready server, use any system device to connect with the server via SSH. The whole installation is extremely easy, after you are correctly logged into the server, you must run just one installation command. You can find this command on the Basic Information page of the remote agent. That is how an exemplary installation command may look like:
sudo wget http://EASYDCIM_IP_ADDRESS/remote/download/installer.sh -O /opt/installer.sh && bash /opt/installer.sh && /opt/easydcim_remote/artisan system:sync AGENT_ID http://EASYDCIM_IP_ADDRESS AGENT_APIKEY
The above command will be used to download the installation script. Then it will be automatically run and all dependencies and system packages installed. After the installation process has been successfully finished, the process of synchronizing the remote agent witn the main EasyDCIM application will begin. In case of the synchronization failure, you will need to execute the synchronization command that can be found in the Basic Information page of the remote agent. That is how an exemplary synchronization command may look like:
php /opt/easydcim_remote/artisan system:sync AGENT_ID http://EASYDCIM_IP_ADDRESS AGENT_APIKEY
EasyDCIM is continuously monitoring the connection status which is also shown in the Synchronization section at the remote agent Basic Information page.
Remote Agent Update
Remote Agents are added independently of the master application - EasyDCIM, that is why, whenever there is a new version of the agent available, you must remember to update it. There is a command that should be used for the update purposes. It can be found at the Basic Information page of the remote agent. That is how an exemplary update command may look like:
sudo wget http://EASYDCIM_IP_ADDRESS/remote/download/updater.sh -O /opt/updater.sh && bash /opt/updater.sh
Information on the remote agent condition
Agent Information section includes any information on the agent’s current condition. You will find there the details on:
- Synchronization Status - synchronization status between the remote agent and EasyDCIM
- Connected Agent - remote agent that is currently synchronized
- Agent Version - remote agent current version number
- Network Interfaces - a list of net interfaces configured on the remote agent together with master IP addresses
- Password Protected Samba Share - a password to Samba resources on the remote agent server
Here you may also find any information on the status of the services such as: DHCP, TFTP server or Samba server.
Cron tasks are automatically added to the master application - EasyDCIM. The remote agent checks if there are any tasks to execute, if yes, then it attempts to carry out such tasks. The current status of added tasks can be found in Jobs section. You will find there all the information on the task name, current status and a response sent by the agent.
Remote Agent configuration with the OS Installation module
Remote agents may be frequently used to automatically install an operating system in subnets which are independent from the master application’s net. Information on how to connect a remote agent with the OS Installation module can be found in the following article: Remote Provisioning Module