HostMonitor's Main Page Active RMA for Linux / FreeBSD Current language: English
Switch language to: Spanish
Copyright (c) 2010-2024 Advanced Network Software
  What's New What's New    Copyright/License/Warranty Copyright/License/Warranty    Download HostMonitor Download    Registration Information Buy Now   

network monitoring package Remote Monitoring Agent (RMA) is an auxiliary application for HostMonitor. It is included into Advanced Host Monitor package. Enterprise license for Advanced Host Monitor already includes license for 10 installations of the agent. Holders of a Starter or Professional licenses may buy an additional license for Remote Monitoring Agent separately.

Supported tests    How to install    GUI version    Console version    How to use    Price

HostMonitor can monitor remote networks using Remote Monitoring Agents (RMA). RMA is small application that accepts requests from HostMonitor, performs test and action and provides information about test result back to HostMonitor. Usually single RMA agent allows to monitor many systems in the remote network.
The following diagram illustrates how our network monitoring software may work in distributed network
RMA for Linux can be started as daemon or console application (rma_active module) or GUI application (rma_active_x module).

remote monitoring agentrma_active_x console versionrma_active

HostMonitor can monitor hundreds or thousands hosts without any additional software (without RMA agents). Then why you may need RMA? Here are just several reasons:

  1. RMA increases security of the network. When you have to check remote system using CPU Usage or Performance Counters tests, HostMonitor must be able to log in to that system using "Performance Monitor" user account. Instead you may use an agent installed on that remote system. In this case HostMonitor will not have to log on to the system at all. HostMonitor needs just one TCP port to communicate with the RMA agent (by default Passive RMA utilizes TCP port 1055, Active RMA uses port 5056; however you may set an agent to use any other port).

  2. Remote Monitoring Agent is also a very useful tool when you have to monitor two (or many) separated networks (connected through Internet). In this case installing just one instance of RMA behind the firewall in network "A" will allow to monitor entire network "A" using the HostMonitor located in the network "B" with just one open TCP port.

  3. RMA decreases the network traffic. E.g. frequent use of "File Integrity" or "Compare Files" tests in an array of remote systems may apply significant load on the network. The more and the bigger files you test the more traffic increase you get. RMA runs locally and sends only the test results to the HostMonitor thus decreasing the amount of network traffic.

  4. Remote Monitoring Agent simplifies network administration. You no longer need to share drives to perform tests like Folder/File Size, File Availability, Count Files, etc

  5. RMA agent allows you to execute actions on remote systems. E.g. agent can launch some application or restart service on a system behind firewall.

  6. Remote Monitoring Agent for Linux allows you to perform tests that HostMonitor cannot perform. For example HostMonitor cannot monitor number of user sessions on Linux systems. RMA can do that.
  • All traffic between Remote Monitoring Agent and HostMonitor is encrypted.
  • It is possible to customize the list of enabled tests and actions for each of the agents (e.g. enable only Count Files and Drive Free Space tests).
  • With RMA Manager you may configure, restart and even upgrade agent(s) remotely.

Backup Agent

HostMonitor allows you to setup primary and backup agents. Using this feature, HostMonitor is able to balance load between agents and use the backup agent when primary one does not respond. Yes, RMA is pretty stable software however system may not respond due to some hardware or network error.
See "Agent Connection Parameters" for details.

Active RMA agents available for Windows, Linux and FreeBSD. Passive RMA agents available for Windows, Linux, FreeBSD, AIX, macOS and Solaris platforms.
Related links:
Active RMA for Windows
Passive RMA for Windows
Passive RMA for UNIX

RMA for Linux can be started as daemon or console application (rma_active module) or GUI application (rma_active_x module) and perform the following tests and actions:
  Tests  Actions
LAN Files Custom - Execute external command    
- TCP/UDP send
- Syslog
- SNMP Set
- SNMP Trap
Cisco F5 Big-IP
Juniper Citrix Netscaler
UPS Synology
IPMI SonicWall

Passive RMA versus Active RMA

Passive RMA opens specified TCP port for listening and waits for connection requests from HostMonitor and RMA Manager, then RMA performs test (or action) and provides information about test result back to HostMonitor.

Active RMA - agent that is not waiting for TCP connection from HostMonitor, it connects to HostMonitor and RMA Manager. This allows you to install RMA inside private network protected by firewall without necessity to open any TCP port remote side (Passive RMA requires 1 open TCP port). Also Active RMA allows you to monitor system that does not have fixed IP address, e.g. system that is connecting to the network using temporary dial-up connection.
Several procedures help to monitor networks over unreliable connections:

  • Active RMA may store test results when network connection unexpectedly brakes off, it will try to reconnect to HostMonitor and send test results upon connection;
  • HostMonitor uses more flexible schedule for the tests that should be performed by Active RMA, e.g. if test has to be performed immediately but Active RMA is not connected while it was connected several minutes ago, HostMonitor may wait for another connection up to 4 min before assigning Unknown status to the tests. Note: if you select the test item and click Refresh button, HostMonitor will not wait for connection, it will set Unknown status right away;
  • For each active agent you may setup Backup Active RMA. Using this feature, HostMonitor is able to balance load between agents and use the backup agent when the primary one cannot establish communication channel.

How to install RMA

Simply download and unzip Active RMA for Linux into some folder like /opt/rma/. You will see 3 files: rma_active, rma_active_x, rma.ini.

You may configure agent using GUI or console application:
  • start rma_active_x GUI application and open configuration window (normally agent will detect new installation and open configuration window automatically);
  • start rma_active console application, agent will detect new installation and prompt for several important parameters (agent name, HostMonitor system address, password). Then you may adjust logging settings, enable or disable test methods and actions remotely using RMA Manager.
    Also you may adjust such options using your favorite text editor - check the following sections of rma.ini file
    [Active_Logging] - logging options
    [Active_EnabledTests] - test methods (set 0 when you need to disable test method; set 1 to enable)
    [Active_EnabledActions] - actions (set 0 when you need to disable action; set 1 to enable)

You may place rma.ini file into different folder, then start agent using -ini command line parameter. E.g.
  ./rma_active -i -ini /etc/rma/rma.ini
  ./rma_active_x -ini /etc/rma/rma.ini
Note: you should assign unique name to each Active RMA. If you assign the same name to several agents, HostMonitor will accept connection from 1st started agent and reject connections from other agents with the same name. See details below.

Service (systemd)
If your system uses systemd init system, you may install RMA service using rma_active_x GUI application (click Install button in Setup window) or using console application with -installservice parameter (sudo ./rma_active -installservice)
Then you may start, stop, restart, disable or check service status using systemctl command (e.g. systemctl status rma_active).

Service (System V init)
How to install "service" on computers with System V style init system:
  • place the following script into /etc/rc.d folder (/etc/rc.d/init.d or /etc/init.d - depends on your system);
  • modify the script if necessary: set chkconfig options, set correct path to rma folder and rma.ini file;
  • add link to the script into /etc/rc3.d folder (you may use chkconfig, setup, servicevonf commands)
# rma_active  This shell starts/stops the HostMonitor Remote Monitoring Agent
# chkconfig: 2345 60 50
# description: RMA is Remote Monitoring Agent for Advanced Host Monitor. \
#              Allows HostMonitor to remotely and securely execute test \
#              on remote UNIX systems
# processname: rma_active
# config: /opt/rma/rma.ini
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x /opt/rma/rma_active ] || exit 0
start() {
        # Start daemon
        echo -n $"Starting Remote Monitoring Agent: "
        /opt/rma/rma_active -ini /opt/rma/rma.ini
        [ $RETVAL -eq 0 ] && {
           touch /var/lock/subsys/$prog
           success $"$prog $site"
        return $RETVAL
stop() {
        # Stop daemon
        echo -n $"Shutting down Remote Monitoring Agent: "
        killproc $prog
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
        return $RETVAL
case "$1" in
        if [ -f /var/lock/subsys/$prog ]; then
        status $prog
        echo $"Usage: $0 {start|stop|restart|condrestart|status}"
        exit 1
exit $RETVAL

Please note: some test methods require additional capabilities. Setcap allows to set capabilities, so you don't need to start RMA agent under root account
  • SNMP Trap
    If you plan to use SNMP Trap test and receive SNMP Trap messages on standard UDP port 162, then you need to add CAP_NET_BIND_SERVICE capability (this capability required when application needs to listen on any port below 1024). You may execute the following command
    sudo setcap   CAP_NET_BIND_SERVICE=+eip rma_active   CAP_NET_BIND_SERVICE=+eip rma_active_x
  • Ping
    This test requires CAP_NET_RAW capability. sudo setcap cap_net_raw+ep rma_active

How to configure Active RMA using GUI (rma_active_x)
Start rma_active_x and click on "Settings" button on the tool bar.

Agent identification
remote monitoring agent setup

  • Name
    Unique name that identifies an agent. You should not assign the same name to several agents. If you do so, HostMonitor will accept connection from 1st started agent and reject connection from other agents with the same name
  • Password
    Minimum six-character length password. An empty password using is not permitted. Several RMA agents may use the same password. The password is required for every communication session between RMA and HostMonitor or RMA and RMA Manager. All traffic between RMA and HostMonitor or RMA and RMA Manager is encrypted and the password itself is never transmitted through the network without encryption.

Note: when you setup agent record using HostMonitor or RMA Manager GUI, you should use exactly the same name and password that were used when you setup Active RMA on remote system using rma_cfg utility.

HostMonitor parameters
  • Host
  • Port

These parameters specify where HostMonitor is running and what TCP port should be used for connection.

Allow remote management
  • Host
  • Port

If you enable remote management, you should specify IP address or hostname of the system where RMA Manager is running. RMA Manager and HostMonitor can be started on the same system. In this case you should use different TCP ports for connection. Default settings: HostMonitor listens for incoming connections from RMA on TCP port 5056, while RMA Manager utilizes port 5057.
Note1: It is not necessary to have RMA Manager running all the time. If RMA cannot connect to RMA Manager it will try to establish communication every 30 sec.
Note2: If you start RMA Manager on the same system where HostMonitor is running, HostMonitor tells all connected RMA to establish connection with RMA Manager immediately (if "Full management" option is enabled for the agent).


  • Enable the following tests
    specifies the list of tests methods allowed for execution by this RMA. To enable a test mark the corresponding check box, to disable a test unmark the box near it.

  • Enable the following actions
    specifies the list of actions allowed for execution by the agent. To enable a action mark the corresponding check box, to disable a action unmark the box near it.


  • Successful audit log to
    here you may specify a log file where agent will store information about successfully accepted connections. This log has no use when everything works well (it then just takes space on the hard drive), but you may found it really helpful when a sophisticated network problem has to be fixed. If you specify just the name of the file (without a full path), an agent will store a log in the same directory where it was started from.

  • Failure audit log to
    you may specify another log file where an agent will store information about rejected requests. E.g.: connections from an IP addresses that are not allowed or connections with invalid password, etc. Log file is a simple text file that contains date of the event, remote IP address from which an attempt of connection has occurred and information about the error. If you specify just the file name (without path), an agent will store it in the directory where it was started from.

The lower part of the configuration window mostly contains information about an agent. Those fields (from the top to the bottom of the window) are joined into three groups: Agent information, Statistics and Agent status.

Agent information:
  • You are not able to change information shown in grey fields: agent version, OS platform, developer information
  • Comment: Here you may provide any text that will help you to identify agent (useful when you are monitoring 100 LANs using 100 RMA agents). HostMonitor and RMA Manager will display the content of these fields when they work with remote agents.

Agent status

Here you may check is systemd detected; is rma_active installed as service; is service running (active). You may install service or reinstall service if rma_active module and/or ini files were moved to different location. Also here you can check the state of currently edited agent configuration i.e.: are the changes for the current configuration already saved or not.
remote monitoring agent setup

Starting console agent

You can start agent as daemon or as regular console utility.
Usage: rma_active   [-d|-i]   [-ini <path\to\ini\file\inifile>]   [-installservice]
    -d - daemon mode (default)
    -i - interactive mode
    -installservice - install rma service and exit (if systemd used)
    -ini - you may specify path to config(ini) file. by default RMA checks for rma.ini file in startup folder
   ./rma_active   -i
   ./rma_active   -i   -ini /opt/rma/rma.ini
   ./rma_active   -installservice
   ./rma_active   -installservice   -ini /opt/rma/rma.ini

Note: SIGHUP signal
You can use SIGHUP to signal the agent that it should reread configuration file. E.g. "kill -HUP <agent_pid>"
(to retrieve agent pid you can use command "ps -A|grep rma_active" on Linux systems or "ps -x|grep rma_active" on FreeBSD systems).
PS: of course you can use RMA Manager for the same purpose.

If you installed rma service on Linux machine with systemd init system, you may start, stop, restart, disable, enable or check service status using systemctl command, e.g.
  sudo systemctl enable rma_active
  sudo systemctl stop rma_active
  sudo systemctl start rma_active
  sudo systemctl status rma_active

If you moved rma modules to different folder you may reinstall service using the following commands
  sudo rma_active -installservice
  sudo systemctl restart rma_active

RMA Manager
To configure set of remote agents installed in different networks you may use RMA Manager. It allows you to change settings for hundreds of agents installed on remote systems at one time and from one comfortable location.

How to use

O.k., now when you have your agents installed in different networks, how to use them?
HostMonitor since version 4.0 supports a list of remote agents and can perform tests not only by itself but also may send a request to the agent which will then execute the test. Every test in HostMonitor has now an additional property: "Test by". By default it has the value "HostMonitor"; it means that the test will be executed by HostMonitor. Alternatively you may choose an agent from drop down list and the test will be performed by that agent.

How to check status of the agent

When you use single agent to perform various tests, you may want to setup Master test to check agent status. In such case HostMonitor may send single alert informing you about disconnected agent and hold dependent test items (so you will receive single alert instead of hundred warnings for all tests performed by this agent).
What test can you use as Master test?

- Passive RMA: It's pretty easy to check Passive RMA status when you do not use Backup RMA. You may use TCP test to check is RMA receives connections on specified TCP port or use Ping test performed by the agent to check localhost ( Such Ping test will always return "Host is alive" status when successfully authenticated connection to the agent can be established.
If there is backup agent in use, you may setup Ping test performed by Passive RMA using rma itself string as target host name. In such case HostMonitor will check agent status without using backup agent even if such backup agent was specified for selected RMA

- Active RMA: Things a little more tricky when you need to check Active RMA status. Yes, you may setup the same "Ping localhost" test to check agent status. However this may lead to some delay in reaction as HostMonitor will not perform test if agent was connected but lost connection just a moment ago. HostMonitor may wait up to several minutes for new connection before changing test status to "Unknown". Dependent test items will be delayed as well so such delay is not a big problem, you will not receive a lot of alerts. However if for some reason you need to receive alert immediately, there is solution: setup Ping test using Active RMA and type rma itself string instead of localhost or target host name. In such case HostMonitor will display agent status immediately. HostMonitor will not use backup agent (if any) when specified agent is not connected; also HostMonitor will not wait for agent re-connection.

How much does it cost?

When you purchase an Advanced Host Monitor ENTERPRISE edition you will get the license for 10 installations of the agent at no cost. Otherwise you may buy licenses in sets of 10 ($250 per 10 licenses) or in sets of 100 licenses ($900 per one set of 100). You may order Remote Monitoring Agent using credit card, Switch and Solo debit cards, check/money order or wire transfer.