Installing NetForest for Linux System
Overview
This is the installation manual for Cavisson Monitoring Agent (CMON) + NetForest (NF) agent for Linux environment.
Prerequisites
- JDK 1.8 or later is required. RPM installation auto detects Java and set JAVA_HOME.
- For RPM installation, user needs root / sudo access.
Installation using RPM
Install RPM using following command:
rpm -ivh “cmon-nf-4.1.8-20.x86_64.rpm”
By default, CMON+NF Agent is installed in ‘/opt/cavisson’ directory. To install in a different directory, use prefix argument of RPM:
rpm -ivh –prefix=/opt/cavisson ” cmon-nf-4.1.8-20.x86_64.rpm”
In this document, CAV_MON_HOME variable is used. It denotes the path where machine agent is installed. For example: /opt/cavisson/monitors
Validating the Installation
Step – 1: Check RPM Installed
rpm -qa | grep cmon-nf
Output of command
cmon-nf-4.1.8-20.x86_64
Step – 2: Check CMON and NF Instance Running
ps -ef | grep cmon
Output of command
The output after successful installation in displayed as below:
java -DPKG=cmon -DCAV_MON_HOME=/opt/cavisson/cavisson/monitors -Djffi.boot.library.path=/opt/cavisson/cavisson/monitors/nf/nfagent/vendor/jruby/lib/jni -Xbootclasspath/a:/opt/cavisson/cavisson/monitors/nf/nfagent/vendor/jruby/lib/jruby.jar -Djruby.home=/opt/cavisson/cavisson/monitors/nf/nfagent/vendor/jruby -Djruby.lib=/opt/cavisson/cavisson/monitors/nf/nfagent/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh -DCLASSPATH=:/opt/cavisson/cavisson/monitors/lib/jruby.jar: .:/opt/cavisson/cavisson/monitors/lib/java-getopt-1.0.9.jar: /opt/cavisson/cavisson/monitors/bin:/opt/cavisson/cavisson/monitors/custom: /opt/cavisson/cavisson/monitors/bin/CavMonAgent.jar: /opt/cavisson/cavisson/monitors/lib/CmonLib.jar: /opt/cavisson/cavisson/monitors/lib/gcviewer-1.29.jar: /opt/cavisson/cavisson/monitors/lib/asm-all-4.0.jar: /opt/cavisson/cavisson/monitors/lib/base64.jar: /opt/cavisson/cavisson/monitors/lib/json_simple-1.1.jar: /opt/cavisson/cavisson/monitors/lib/jedis-2.6.0.jar: /opt/cavisson/cavisson/monitors/lib/mongo-java-driver-3.4.2.jar: /opt/cavisson/cavisson/monitors/lib/bcprov-jdk15on-156.jar: /opt/cavisson/cavisson/monitors/lib/bcpkix-jdk15on-1.48.jar: /opt/cavisson/cavisson/monitors/lib/commons-net-3.0.1.jar: /opt/cavisson/cavisson/monitors/lib/mysql-connector-java-5.1.37.jar -DPATH=/opt/cavisson/cavisson/monitors/bin: /opt/cavisson/cavisson/monitors/custom:/usr/java/jdk1.8.0_131/bin: /sbin:/usr/sbin:/bin:/usr/bin -DJAVA_HOME=/usr/java/jdk1.8.0_131 CavMonAgent -d -F 1
Step – 3: Check CMON and NF Added in Service or Not
service cmon start/stop/restart/show/status OR /etc/init.d/cmon start/stop/restart/show/status
Output of start cmon command:
[root@netstorm bin]# service cmon start Starting cmon: cmon is started with pid(13372). UID PID PPID C STIME TTY TIME CMD root 13372 13307 8 18:59 pts/4 00:00:00 java -DPKG=cmon -DCAV_MON_HOME=/opt/cavisson/monitors -DCLASSPATH=/opt/cavisson
Output of stop command:
[root@netstorm bin]# service cmon stop Stoping cmon: Stopping CavMonAgent with pid(12586) cmon is stopped. Removing running_tests directory
Output of restart command:
[root@netstorm bin]# service cmon restart Restarting cmon: Stoping cmon: Stopping CavMonAgent with pid(13372) cmon is stopped. Removing running_tests directory Starting cmon: cmon is started with pid(13838). UID PID PPID C STIME TTY TIME CMD root 13838 13604 9 19:03 pts/4 00:00:00 java -DPKG=cmon -DCAV_MON_HOME=/opt/cavisson/monitors -DCLASSPATH=/opt/cavisson
Output of show command:
root@netstorm bin]# service cmon show cmon is running with pid(12586). UID PID PPID C STIME TTY TIME CMD root 12586 1 0 18:48 pts/4 00:00:00 java -DPKG=cmon -DCAV_MON_HOME=/opt/cavisson/monitors -DCLASSPATH=/opt/cavisson
Output of status command:
[root@netstorm bin]# service cmon status cmon is running with pid(12586). UID PID PPID C STIME TTY TIME CMD root 12586 1 0 18:48 pts/4 00:00:00 java -DPKG=cmon -DCAV_MON_HOME=/opt/cavisson/monitors -DCLASSPATH=/opt/cavisson
![]() | Starting/stopping/restarting of CMON also start/stop/restart NFAgent |
CMON + NF Agent Configuration
Make changes in the configuration details within the following file: $CAV_MON_HOME/sys/cmon.env
Auto Registration Configuration (Optional)
Tier Name: Configure Tier Name as following:
Tier=<Tier Name>
If the tier name is not defined, then the server will be the part of ‘Default’ tier.
JVM Configuration
Add following for Heap size setting and enabling JMX port of Machine Agent in CMON_OPTS.
"-Xms512m -Xmx512m -Dcom.sun.management.jmxremote.port=7991 -Dcom.sun.management.jmxremote.authenticate=false”
Sample cmon.env file contents
CMON_USER=cavisson JAVA_HOME=/apps/java/jdk1.8.0_131 CAV_MON_AGENT_OPTS="-F 1" CMON_OPTS="-Xms512m -Xmx512m -Dcom.sun.management.jmxremote.port=7991 -Dcom.sun.management.jmxremote.authenticate=false -Djffi.boot.library.path=/export/cavisson/monitors/nf/nfagent/vendor/jruby/lib/jni -Xbootclasspath/a:/export/cavisson/monitors/nf/nfagent/vendor/jruby/lib/jruby.jar -Djruby.home=/export/cavisson/monitors/nf/nfagent/vendor/jruby -Djruby.lib=/export/cavisson/monitors/nf/nfagent/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh" CLASSPATH=$CLASSPATH:/export/cavisson/monitors/lib/jruby.jar:. #NDE Controller Host and Port CONTROLLER=10.10.40.13:7891 #Tier and Server TIER=WebStore SERVER=<ip address or host name of server>
Sample nf.properties file contents
NFAgent considers the config directory provided in nf.properties file under nfConfigDir. Default is conf.d.journald, change it to conf.d.files where we are reading logs from log files.
With new version of NF, update 5.0.2 with new version.
Example nfEnv=nf/nfagent/lib/bootstrap/environment.rb nfVersion=--1.9 nfConfigDir=nf/nfagent/config/conf.d.journald/ nfRunner=nf/nfagent/logstash-core/lib/nfagent/runner.rb restart cmon
NetForest Configuration
Reading NFAgent Configuration (parser) from NFDB (Default)
To read configuration from NFDB, we have to provide NFDB URL in $CAV_MON_HOME/nf/nfagent/config/nfagent.yml file.
config.store.nfdb: true config.hosts: ["localhost:9200"]
Note:
- If store.nfdb is false, configuration are read from files (see below section).
- hosts can have comma separated host list in case of multinode clusters.
For example: config.hosts: [“localhost:9200”, “10.10.10.1:9200”]
Reading NFAgent Configuration (parser) From Files
config.store.nfdb: false
File configurations are stored in $CAV_MON_HOME/nf/nfagent/config/conf.d.files.
Note:
In case of failures i.e. NFAgent is unable to connect NFDB for configuration or configuration index is not present etc., it takes configurations from files as fallback.
Add environment specific information in $CAV_MON_HOME/sys/nf.env file.
SERVER=<server> DC=<dc> ENV=<env> INDEX_PREFIX=<prefix> # If it's false only OUTPUT_HOST1 and OUTPUT_PORT1 is considered OUTPUT_MULTINODE=false OUTPUT_HOST1=<host1> OUTPUT_PORT1=<port1>
Note:
- TIER is taken from cmon.env.
- In case of cloud installations, SERVER and ENV is taken from Journald not from nf.env.
- In case OUTPUT_MULTINODE is false (i.e. nfdb cluster has only one node), OUTPUT_HOST1 and OUTPUT_PORT1 is considered, and rest are ignored.
- Server is optional for cloud environment. It takes hostname as server.
Reload NFAgent
In case of any changes in nf.env or in NFDB configuration index, reload NFAgent config.
Use below steps to reload NFAgent:
- nc <ND Machine Agent ip> <ND Machine Agent port> (set port to 7891)
- START_SESSION
- NetForestCMD:RELOAD
- STOP_SESSION
This concludes the successful installation of CMON+NF Agent.