HostMonitor's Main Page Remote Monitoring Agent for Linux, FreeBSD, NetBSD, OpenBSD, macOS
Version 1.30
Copyright (c) 2004-2017 Advanced Network Software
Current language: English
Switch language to: German
  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 Lite, Standard 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 4.0+ 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.

Why you may need RMA? Here are just several reasons:

network monitoring package

  1. RMA increases security of the network. When you have to run the tests such as CPU Usage test or Performance Counters tests on a remote Windows system, HostMonitor must be able to log in to that system with administrators privileges. Instead you may now use an agent installed on that remote system. In this case HostMonitor will not have to log on to that system at all. HostMonitor needs just one TCP port to communicate with the RMA agent (by default it uses #1055 port, however you may set an agent to use any other port).
    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.

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

  3. Remote Monitoring Agent simplifies network administration. You no longer need to share local drives/folders to perform tests such as File Integrity, Folder/File Size, File Availability, Count Files, etc

  4. RMA for Linux / BSD / Solaris allows you to perform tests that HostMonitor cannot perform. For example HostMonitor cannot monitor processes that are running 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

Since the version 6.00 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 BSD, Linux and Solaris platforms can perform 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

Remote Monitoring Agent for Windows platform is included into Advanced Host Monitor package. For more information, please, refer to RMA for Windows section of this document.


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

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);
  • "Drive Free Space" test does not have sense for UNIX-like system because there are no drives, use UNC test instead (e.g. you can check free space for file system "/home")

System requirements

Now UNIX version of RMA available for the following systems:
  • Linux
(Intel)
  • FreeBSD
(Intel)
  • OpenBSD
(Intel)
  • NetBSD
(Intel)
  • Solaris
(Intel)
  • Solaris
(SPARC)
  • Mac OS
(Intel)

Remote Monitoring Agent for Linux:

Necessary libsTested by us onReported to Work onTheoretically should work on
libstdc++ (5)
libm.so (6)
libgcc_s (1)
libpthread (0)
libc (6)
ld-linux (2)
- Mandrake Linux 8.2
- Mandrake Linux 9.2
- Red Hat Linux 9
- Fedora Linux 13
- Fedora Linux 17
- CentOS 5.3
Debian Linux 2.4
Debian Linux 3.1
Debian Linux 4.0
RedHat ES 3
RedHat ES 4
RedHat ES 6.4
Gentoo Linux 2.6.15
SuSE Linux ES 9
SuSE Linux ES 10
SuSE Linux ES 11
- Slackware Linux 7.1+
- Mandrake Linux 7.1+
- Red Hat Linux 6.2+
- SuSE Linux 6.4+
- Debian Linux 2.2+

If you have tested RMA on another version of the system, please, inform us (support@ks-soft.net). This information will be useful for community.

Remote Monitoring Agent for FreeBSD:

Necessary libsTested by us onReported to Work onTheoretically should work on
libstdc++ (5)
limb (4)
libpthread (2)
libc (6)
- FreeBSD 4.5
- FreeBSD 6.0
- FreeBSD 6.1
- FreeBSD 7.0
- FreeBSD 5.1
- FreeBSD 5.4
- FreeBSD 6.2
- FreeBSD 6.3
- FreeBSD 4.4+

If you have tested RMA on another version of the system, please, inform us (support@ks-soft.net). This information will be useful for community.

Remote Monitoring Agent for NetBSD:

Necessary libsTested by us onReported to Work onTheoretically should work on
libstdc++ (5)
libm387 (0)
libm (0)
libgcc_s (1)
libpthread (0)
libc (12)
- NetBSD 3.0.1
- NetBSD 4.0.1
- NetBSD 5.1.2
no reports so far - NetBSD 2.0+

Remote Monitoring Agent for OpenBSD:

Necessary libsTested by us onReported to Work onTheoretically should work on
libstdc++ (42)
libm (2.1)
libpthread (6.2)
libc (39)
- OpenBSD 3.9
- OpenBSD 5.1
no reports so far - OpenBSD 3.3+

If you have tested RMA on another version of the system, please, inform us (support@ks-soft.net). This information will be useful for community.

Remote Monitoring Agent for Solaris (SunOS):

Necessary libsTested by us onReported to Work onTheoretically should work on
libsocket.so
libnsl.so
libpthread.so
libm.so
libc.so
libdl.so
libmp.so
libthread.so
- Solaris 9 (SunOS 5.9) - Solaris 10 GA (SunOS 5.10) - Solaris 8 (SunOS 2.8)

RMA for Solaris (SPARC) package contains 2 binary modules (you may use any of these 2 modules):

  • "rma" module linked (static) with libstdc++ and libgcc
  • "rma_s" module uses run-time linking with libstdc++ and libgcc libraries. This means that you need 2 additional libraries: libgcc and libstdc++ that are available at sunfreeware.com. Since these files constitute a part of the gcc package, you may not need to install it if you already have gcc 3.3 installed.

If you have tested RMA on another version of the system, please, inform us (support@ks-soft.net). This information will be useful for community.


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