Active RMA for Linux Version 5.00 Copyright (c) 2010-2020 Advanced Network Software Current language: Switch language to:

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).

 rma_active_x rma_active

HostMonitor can monitor hundreds or thousands hosts without any additional software. 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.
Features:
• 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 and Linux. Passive RMA agents available for Windows, Linux, FreeBSD, AIX, macOS, NetBSD, OpenBSD and Solaris platforms.
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 Ping Trace TCP UDP NTP DNS DHCP RADIUS DICOM SMTP Files Custom Shell Script External - Execute external command     - TCP/UDP send - Syslog - SNMP Set - SNMP Trap SNMP UNIX Cisco F5 Big-IP Juniper Citrix Netscaler QNAP NetApp UPS Synology

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 for each Active RMA. If you assign the same name for 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)
#!/bin/sh
#
# 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 excecute 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 RETVAL=0 prog="rma_active" start() { # Start daemon echo -n$"Starting Remote Monitoring Agent: "
/opt/rma/rma_active -ini /opt/rma/rma.ini
RETVAL=$? [$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=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL } case "$1" in
start)
start
;;
stop)
stop
;;
stop
start
RETVAL=$? ;; condrestart) if [ -f /var/lock/subsys/$prog ]; then
stop
start
RETVAL=$? fi ;; status) status$prog
RETVAL=$? ;; *) echo$"Usage: $0 {start|stop|restart|condrestart|status}" exit 1 esac exit$RETVAL

Capabilities
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)

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
Examples:
./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 dependant 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 (127.0.0.1). 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". Dependant 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. If you are concerned about submitting your order and/or credit card information online, you may order the license via phone, fax or postal mail.
Details..