HostMonitor's Main Page RMA for Linux, BSD, MacOS, Solaris, AIX Current language: English
Switch language to: Spanish
Version 1.36
Copyright (c) 2004-2019 Advanced Network Software
  What's New What's New    Copyright/License/Warranty Copyright/License/Warranty    Download HostMonitor Download    Registration Information Buy Now   

network monitoring software Remote Monitoring Agent (RMA) is an auxiliary application for HostMonitor. 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.


 Introduction
 Installation and configuration
     How to install the agent
     How to configure the agent
     RMA Manager
 Starting the agent
 How to use agent to perform tests
 System requirements
 Price
 Copyright/License/Warranty

HostMonitor can monitor remote networks using Remote Monitoring Agents (RMA). RMA is small application that accepts requests from HostMonitor, performs test and provides information about test result back to HostMonitor.

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:
network monitoring package

  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 Agents and HostMonitor is encrypted.
  • It is possible to customize the list of enabled tests for each of the agents (e.g. living only Count Files and UNC tests only).
  • You can restrict incoming TCP connections with the list of acceptable addresses.
  • 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.


RMA for AIX, FreeBSD, Linux, macOS and Solaris platforms can perform the following tests and actions:
  Tests   Actions
- TCP
- UDP
- UNC
- Folder/File Size
- Count Files
- File/Folder Availability
- File Integrity
- Text Log
- Compare Files
- Process
- CPU Usage
- Shell Script
- External
  - Execute external command    
- TCP/UDP send
- Syslog

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 Linux/FreeBSD
Active RMA for Windows
Passive RMA for Windows
Note: Active RMA for Linux and FreeBSD supports more test methods.


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 and configure RMA

To install an agent on FreeBSD/Linux/NetBSD/OpenBSD/Solaris system download appropriate package from download page, unzip and untar the files (e.g. using command "tar   -xzf   rma_lin.tgz"). Check, and modify if necessary, settings in the rma.ini file using any text editor.

RMA settings

In the rma.ini file you will find comments that describe each parameter, so configuration should be easy

Basic settings

  • RmaPath
    Obligatory parameter - full path to the agent. UNIX-like systems do not have common method that allows the program to retrieve its module name and path. Without this parameter agent will not be able to upgrade and restart itself.
    Example: RmaPath = /usr/sbin/rma

  • TmpDir
    This parameter is optional. For some tests (CPU, Process and Shell Script) agent creates temporary files. RMA searches for temporary directory in the following order:
    • directory that specified by this option (TMPDIR)
    • directory that specified by "TMPDIR" environment variable
    • directory that specified by "TMP" environment variable
    • if non of these parameters are specified or specified directories do not exist, RMA uses current directory
    Example: TmpDir = /usr/tmp/rma

  • PidFile
    Another optional parameter. A PID-File is a file containing the process identification number (pid) that allows other programs to find out the pid of a running agent. RMA started in interactive mode ignores this parameter.
    Example: PidFile = /var/run/rma.pid

  • Comment
    Comment is optional parameter, here you may specify a comment (actually you may type any text here, it could be a simple recognizable name or an identifier for this agent). This helps to identify agents easier.
    Example: Comment=RMA on Primary Web Server (FreeBSD)

  • Host
    Optional parameter that defines host name or IP address of the local network interface (RMA should listen on). Useful when system has several network interfaces.

  • Port
    Obligatory parameter - specifies the TCP port number which RMA utilizes to listen for incoming connections. Default setting is #1055.

  • Timeout
    The maximum amount of time (in milliseconds) that agent will keep waiting for the complete request packet from HostMonitor (after initial TCP connection established) before dropping the connection.

  • Password
    minimum six characters length password. Using of an empty password is not permitted. 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.


Logging settings

  • LogSuccess

  • OkLogFile
    Successful audit log. 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 helpful when a sophisticated network problem has to be fixed.
    First option enables or disables the logging (LogSuccess=0 - logging is disabled; LogSuccess=1 - logging is enabled), second parameter specifies path to the log file. If you specify just the name of the file (without a full path), an agent will store a log in the same directory where configuration file is located.
    Example:
    LogSuccess=0
    OkLogFile=log_ok.txt


  • LogFails

  • BadLogFile
    Failure audit log. Here you may specify another log file where an agent will store information about rejected requests and errors. 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.
    First option enables or disables the logging (LogFails=0 - logging is disabled; LogFails=1 - logging is enabled), second parameter specifies path to the log file. If you specify just the file name (without path), an agent will store it in the directory where configuration file is located.
    Example:
    LogFails=1
    BadLogFile=log_err.txt


  • VerboseLogFile
    Use this parameter to provide the path to a "Verbose" log file. Unlike "Successful" and "Failure" logs this log file can be enabled by command line parameter only. You should start RMA with '-v' command line parameter (e.g. "./rma -i -v rma.ini"). In this case RMA will store various information about each incoming connection in the log file specified.
    Example: VerboseLogFile=log_verbose.txt


Security settings

  • FilterActive
    Enables or disables IP filtering "FilterActive=0" will allow RMA to accept control commands from any IP address (as long as the incoming connection provides correct password). Set "FilterActive=1" and RMA will accept connections only from the addresses that are specified in by FilterList parameter (password is required as always).

  • FilterList
    Provides list of IP addresses. After enabling IP filtering (FilterActive=1) RMA will accept remote connections only from the addresses in this list (password is required as always). Usually you have to add just one address to this list, namely the one for the system where HostMonitor is running. If you want to specify several IP addresses, separate them by spaces.

  • FilterMarks
    This additional option works as switch for the addresses that are specified by "FilterList" parameter. E.g. if you have 4 addresses in the list, and you want to turn on (enable) 1st, 2nd, and 4th address and turn off (disable) 3rd address in the list, type "1101" in this field.
    Example:
    FilterActive=1
    FilterList=127.0.0.1   194.168.1.10   194.168.1.12
    FilterMarks=101


  • AllowManage

  • ManageAddr
    These options control remote management function. AllowManage=0 - disables remote management feature, AllowManage=1 - enables remote management. ManageAddr option sets the IP address(es) from which it is allowed to control and manage RMA. Using RMA Manager installed on the system with that IP address you will be able to change agent's settings remotely, also you will be able to restart and terminate an agent.
    Note: Instead of single IP address you may specify a list and/or a range of IP addresses. IP addresses in the list should be separated by comma. Dash is used to define a range of addresses.
    Example:
    AllowManage=1
    ManageAddr=192.168.1.100 - 192.168.1.105,  192.168.1.12,  127.0.0.1


  • AllowUpdates

  • UpdateAddr
    AllowUpdates option allows or restricts remote updates of the RMA (e.g. when a new version is available). AllowUpdates=0 - restricts updating, AllowUpdates=1 - allows updating. UpdateAddr option sets the IP address(s) from which it is allowed to perform upgrade. To upgrade a single agent or an array of remote agents, you may use RMA Manager.
    Note: Instead of single IP address you may specify a list and/or a range of IP addresses. IP addresses in the list should be separated by comma. Dash is used to define a range of addresses.
    Example:
    AllowUpdates=1
    UpdateAddr=192.168.1.100 - 192.168.1.105,  192.168.1.12,  127.0.0.1


  • [EnabledTests]
    Specifies the list of tests methods allowed for execution by the agent. To enable the test, assign '1' to the parameter. To disable the test, assign '0' to the parameter.
    Example:
    TCP=1
    UDP=0
    UNC=1
    FolderSize=0


  • [Tests]
    Following parameters provide the path to specialized scripts that RMA needs to perform some tests (such as CPU Usage and Process tests). These tests were implemented as external scripts to simplify customization for various systems. You may easily modify scripts using any text editor.
    If you specify just the name of the file (without a full path), an agent will assume that script shares the same directory with the agent.

    CPUUsageScript
    Provides the path to a script that returns current CPU Usage

    ProcCntScript
    Provides the path to a script that returns current number of running instances of the specified process

    ProcListScript
    Provides the path to a script that returns list of started processes.


RMA Manager

To configure single agent or huge array 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.


Starting an agent

You can start agent as daemon or as regular console utility.
Usage: rma   [-d|-i]   [-v]   [-p <port>]   <cfg_file>
    -d - daemon mode (default)
    -i - interactive mode
    -v - verbose mode
    -p <port> - overrides TCP port number specified in cfg_file
    cfg_file - obligatory parameter, path to configuration file
Examples:
   ./rma   -i   -v   -p 1055   /etc/rma/rma.ini
   ./rma   -d   /home/ks/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" (on Linux systems) or "ps -x|grep rma" on FreeBSD systems).
PS: of course you can use RMA Manager for the same purpose.


How to use

O.k., now when you have agents installed in different networks, how to use them?
HostMonitor 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.

Peculiarities of tests' settings for UNIX-like systems
When you setup file-related tests (UNC, Folder/File Size, Count Files, File Integrity, etc) using an agent installed on UNIX-like system you should have in mind:

  • on Windows system file masks '*' and '*.*' represent any file. On UNIX-like system only '*' represents any file; '*.*' can be used for any file that has dot (.) in the name;
  • use slash (/) in the path (instead of backslash (\) that you are using on Windows systems);
  • on UNIX-like systems name of the file is case sensitive (so "/etc/RMA" and "/etc/rma" are different files);
Note: Active RMA for Linux/FreeBSD supports more test methods


System requirements

UNIX version of RMA available for the following systems:
  • Linux
(Intel)
  • Linux
(ARM)
  • Linux
(PPC)
  • IBM AIX
(PPC)
  • FreeBSD
(Intel)
  • OpenBSD
(Intel)
  • NetBSD
(Intel)
  • Solaris
(Intel)
  • Mac OS
(Intel)

Intel - Intel and AMD processors, i386 and x86-64 (x64) instruction set
PPC - IBM POWER processors (POWER7, POWER8, POWER9)
Linux - RedHat, Fedora, CentOS, Debian, Ubuntu, SuSE, etc


How much does it cost?

When you purchase an Advanced Host Monitor ENTERPRISE edition you will get the license that allows you to work with up to 10 agents. 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).
There is no difference what agent you want to use (for Windows, Linux, or FreeBSD platform). E.g. if you have license for 20 RMA, you may install 5 agents on Windows systems and 15 agents on Linux systems. In case you need to install 10 agents on Windows systems and 10 RMA on Linux, you can do it without changing your license (5+15=20 and 10+10=20).
You may order license for Advanced Host Monitor using credit card, Switch and Solo debit cards, check/money order or wire transfer.
Details..