Step by Step install Linux Agent + put it on startup

If you have information, script, utility, or idea that can be useful for HostMonitor community, you welcome to share information in this forum.
Post Reply
Rosetta_itgroup
Posts: 13
Joined: Sat Aug 09, 2014 6:44 pm

Step by Step install Linux Agent + put it on startup

Post by Rosetta_itgroup »

Hi guys, I've put together a step by step guide that I have assembled (parts from KS-soft knowledge base and parts from the web).
i was searching on the web for a full installation guide for this and i couldn't find any.
This works 100%. Tested on several Linux servers.

*note, - i have bolded the settings that needs to be changed in the script file below.

How to install Hostmonitor RMA Linux agent
1. Create a folder under the path: /usr/sbin/rma/ using the cli:
mkdir /usr/sbin/rma/

2. Type: cd /usr/sbin/rma/
3. Download hostmonitor RMA using cli:
wget http://www.hostmonitor.biz/download/rma ... in_x64.tgz
*note, if it doesn’t work just download wgent using cli: yum –y install wget
4. tar -xzf rma129_lin_x64.tgz
5. vi /usr/sbin/rma/rma.ini
6. type this code in:
; ==========================================================================
;
; RMA (Remote Monitoring Agent) for FreeBSD/Linux/Solaris
; Configuration file
;
; Note:
; - any line which starts with a ; (semi-colon) or a # (hash) is a comment
; and is ignored
; - parameters are case insensitive
;
; BTW:
; To configure single agent or huge arrays 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.
; http://www.ks-soft.net/hostmon.eng/rma- ... /index.htm
;
; ==========================================================================


;---------------------------------------------------------------------------

[Basic]

; RmaPath
; Obligatory parameter. Full path to the agent. UNIX does not have common
; method that allows to retrieve module name and path.
; Without this parameter agent will not be able to upgrade and restart itself.

RmaPath = /usr/sbin/rma/rma

; TmpDir
; 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 specified or specified directory doesn't
; exist, RMA uses current directory

TmpDir =/usr/sbin/rma

; Optional PID file
; 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.

; PidFile = /var/run/rma.pid

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

Comment=RMA for FreeBSD/Linux/Solaris

;------------------------- Connection parameters -------------------------

; Optional parameter. Can be useul when system has several network interfaces.

Host=

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

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

Timeout=5000

; Password - minimum six character 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.

Password=<your password here>

;-------------------------------- Logging --------------------------------

[Logging]

; 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 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 configuration file located.

LogSuccess=0
OkLogFile=log.txt

; Failure audit log
; 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 same directory where configuration file located.

LogFails=1
BadLogFile=log.txt

; Verbose Log
; This log is used when you start RMA with -v command line parameter. In
; this case RMA will store various information about each connection.

VerboseLogFile=log_verbose.txt

;--------------------------- Security settings ---------------------------

[IncomeFilter]

; Enable or disable accepting connections from any IP address
; 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 specified in by FilterList parameter (password is required as always).

FilterActive=0
FilterList=127.0.0.1 192.168.1.10 192.168.1.12 192.168.1.101 192.168.1.102
FilterMarks=11111


[RemoteManagment]

; Enable remote updates from address
; this option allows remote updates of the RMA code (e.g. when a new version
; is available) from the IP address being provided. To upgrade an array of
; remote agents you may use RMA Manager. Of course all operations with agents
; are encrypted and password protected but this option increases security
; even more.
; 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: "UpdateAddr=127.0.0.1, 192.168.13.10 - 192.168.13.99"

AllowUpdates=1
UpdateAddr=<your hostmonitor server ip address here or entire LAN>

; Enable remote management from address
; this option sets the IP address 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: "ManageAddr=127.0.0.1, 192.168.13.10 - 192.168.13.99"

AllowManage=1
UpdateAddr=<your hostmonitor server ip address here or entire LAN>


[EnabledTests]
; specifies the list of tests methods allowed for execution by this RMA.
; To enable the test assign 1 to the parameter, to disable the test assign 0
; to the parameter

Ping=1
TCP=1
UDP=1
UNC=1
FolderSize=1
CountFiles=1
FileExists=1
TextLog=1
FileCRC=1
CompareFiles=1
Process=1
CPUUsage=1
Script=1
External=1
ODBC=1
SNMP=1
ShellScript=1

[EnabledActions]
; specifies the list of action methods allowed for execution by this RMA.
; To enable the action assign '1' to the parameter, to disable the action
; assign '0' to the parameter

ExecuteAction=0
TcpUdpAction=1
SyslogAction=1

[Tests]
; Following parametrs 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 is located in the same directory where the agent is

; Provides the path to a script that returns current CPU Usage
CPUUsageScript=cpu.sh

; Provides the path to a script that returns current number of running
; instances of the specified process
ProcCntScript=proccnt.sh

; Provides the path to a script that returns list of started processes.
ProcListScript=proclist.sh

; ==========================================================================
; end of ini file



7. Save it using this cli: “:wq!”



Put Hostmonitor RMA linux agent on startup

1. Create a file under the path: /etc/init.d/rma using this cli:
vi /etc/init.d/rma

2. Past this code in the “rma” file:
#! /bin/bash
#
# Hostmonitor RMA Bring up/down
#
# chkconfig: 345 20 80
# description: Starts and stops the Hostmonitor RMA
#
# /etc/rc.d/init.d/rma
# See how we were called.

RMA_PWD="/usr/sbin/rma/"
RMA_BIN="${RMA_PWD}/rma"
RMA_INI="${RMA_PWD}/rma.ini"

case "${1}" in
start)
echo -n "Starting Hostmonitor RMA: "
${RMA_BIN} -d ${RMA_INI} &>/dev/null
echo "done"
;;
stop)
echo -n "Stopping Hostmonitor RMA: "
PID="$(ps ax | grep ${RMA_BIN} | grep -v grep | awk '{print $1}')"
if [ x"${PID}" != x"" ]; then
kill ${PID} &>/dev/null
sleep 1
kill -9 ${PID} &>/dev/null
fi
echo "done"
;;
restart)
${0} stop
sleep 1
${0} start
;;
*)
echo "Usage: `basename ${0}` <start|stop|restart>"
exit 1
;;
esac
exit 0

3. Save it using this cli: “:wq!
4. Make it runnable:

chmod +x /etc/init.d/rma
chown 744 /etc/init.d/rma
5. Put it on startup using: chkconfig --add rma
6. Type this : chkconfig --level 35 rma on
7. That’s it, the RMA will run on startup, You can also use the following
cli commands:
service rma (start|stop|restart)
Post Reply