Introduction
These instructions on the installation, configuration and usage of
MonaLisa are for the STAR Monitoring Group.
A complete guide on how to install and configure MonALISA can be
found in the MonALISA Users Guide at the
MonALISA web site.
MonALISA Monitoring Service Installation
General Requirements
On the host that you plan to run the MonALISA Monitoring Service you need
J2SDK version 1.4.2 or higher. JAVA_HOME must be defined and $JAVA_HOME/bin
must be in your PATH:
export JAVA_HOME=/usr/java/j2sdk1.4.2_01
export PATH=$JAVA_HOME/bin:$PATH
Firewall Requirements
If you plan to run the Monitoring Service behind a firewall, three sequential
TCP ports must be opened. The exact ports are set in a configuration file
(ml.properties, see below).
Default ports are 9000 through 9002. Also, if you plan to use the
Monitoring service to monitor interconnection bandwitch with other
MonALISA Services, UDP port 9000 must also be open.
Finally, if you plan to deploy the ML Web Service you must also open
TCP port 6004 (The port number for the Web Service is also configurable
in ml.properties. For more info look in
The MonALISA Web Service).
Installation
You can download the MonALISA service from the
MonALISA web site.
Under the Download tag select Monitoring Service and get the
tar file MonALISA.tar.gz.
Untar the MonALISA.tar.gz file. Set MonaLisa_HOME to the directory where
you untarred:
export MonaLisa_HOME=$HOME/MonaLisa.v1.0.1
Initial Configuration
There are two parts in the configuration of the MonaLisa Monitoring Service:
The Global configuration part and the Farm configuration part.
For the Global configuration you need to
edit $MonaLisa_HOME/Service/CMD/ml_env to set some configuration parameters:
- MONALISA_USER is the user that will run the Monitoring Service,
example: MONALISE_USER="stratos"
- JAVA_HOME where J2SDK is installed, example:
JAVA_HOME=/usr/java/j2sdk1.4.2_01
- SHOULD_UPDATE will check for the latest versions for ML service,
example: SHOULD_UPDATE="true"
- MonaLisa_HOME MonALISA installation directory, example
MonaLisa_HOME="${HOME}/MonaLisa.v1.0.1"
- FARM_HOME your FARM directory. This is where you will put
the configuration/log/data files for your Monitoring Service. For example,
I have created a directory $MonaLisa_HOME/Service/STAR and set
FARM_HOME="${MonaLisa_HOME}/Service/STAR"
- FARM_CONF_FILE The configuration file for your FARM. In this file
you set what you will monitor, which modules will use etc. Example:
FARM_CONF_FILE="${FARM_HOME}/star.conf"
- FARM_NAME A name for your FARM. Use a short name for for farm,
example: FARM_NAME="Star"
- JAVA_OPTS Other params to java. For example, if you plan to
do automatic updates
(see the SHOULD_UPDATE parameter above) and your Site is using an HTTP
proxy you can set:
JAVA_OPTS="-Dhttp.proxyHost=xxx.xxx.xxx.xxx -Dhttp.proxyPort=xxxx"
For the Farm configuration part:
Go to $MonaLisa_Home/Service and create the directory for you Farm (it
should match what you have set the parameter FARM_HOME above):
cd $MonaLisa_HOME/Service
mkdir STAR
In your FARM_HOME directory you will need three configuration files:
one is the FARM_CONF_FILE that you set above
(FARM_CONF_FILE="${FARM_HOME}/star.conf") the db.conf.embedded and the
ml.properties. You can copy these three files from the TEST directory
$MonaLisa_Home/Service/TEST. For the initial configuration I left
db.conf.embedded unchanged and I renamed test.conf to star.conf.
In file ml.properties you specify the JINI lookup Services
and the group that your Monitoring Service will join. The MonALISA developers
have set up a group for STAR, so set your lia.Monitor.group parameter to
star:
lia.Monitor.group="star"
Here you also set the port range for the firewall
(see above Firewall Requirements)
lia.Monitor.MIN_BIND_PORT=9000
lia.Monitor.MAX_BIND_PORT=9002
You must set the parameter lia.Monitor.useIPaddress to your host IP. Otherwise
your service will show up as localhost in the Global Client:
lia.Monitor.useIPaddress=130.199.xxx.xxx
You may also set the following parameters:
MonaLisa.ContactName=Your Name
MonaLisa.ContactEmail=Your Email
MonaLisa.Location=Your Town
MonaLisa.Country=Your Country
MonaLisa.LAT=Lattitude
MonaLisa.LONG=Longitude
Running the Monitoring Service
After the above initial configuration you should be able to start the
Monitoring Service:
cd $MonaLisa_HOME/Service/CMD
./ML_SER start
You can also stop or restart the Monitoring Service using the same ML_SER
script:
./ML_SER restart
./ML_SER stop
Monitoring Modules
monProc Modules
The monProc modules
provide information that can be obtained from the /proc
virtual filesystem of the host that runs the MonaLisa Service (localhost).
I came across the following monProc modules:
- monProcLoad. It provides load5, load10 and load15
- monProcIO. It provides eth0_IN, eth0_OUT, eth1_IN, eth0_OUT ... etc
depending on how many network interfaces you have on your
localhost.
- monProcStat. It provides Cpu_usr, Cpu_nice, Cpu_sys, Cpu_idle,
Page_in, Page_out, Swap_in, Swap_out.
- monProcStat1. A short version on monProcStat. It only provides
Cpu_usr, Cpu_sys, Cpu_idle.
Again, this modules will provide info from the /proc filesystem and thus
can only be used on the host where MonaLisa is running.
Examples:
*Master
>localhost
monProcLoad%10
monProcIO%10
monProcStat%10
The %10 indicates that these modules will be invoked every 10 seconds.
Other Modules
- monPing. The monPing module provides ping measurements
between the localhost (where the MonaLisa service runs) and
other host in the Farm Unit.
It provides: PingBandwidth, LostPackages and RTT.
- monABPing. This module is used to perform simple
network measurements
using small UDP packets. Must be used in the following format:
*ABPing{monABPing, stargrid02.rcf.bnl.gov, " "}
The second parameter in the curly braces is the host name where the
MonaLisa service is running.
The monABPing module will behave
like an Ping server. The UDP port 9000 must be open
on the firewall (see above firewall requirements). The monABPing
module provides measurements for the following parameters: RTime,
RTT, Jitter and PacketLoss. The difference between monPing and
ABPing is that the first provides ping info within the Farm Unit,
while monABPing provides ping info between different Farm Units.
If you plan to use the monABPing you must conduct the developers
to add your site in a list of Ping servers so that other ping
server are aware of your existance.
For debugging purposes you may use the following to get the
configuration file:
wget http://monalisa.cern.ch/ABPingFarmConfig
- monIGangliaTCP and monMcatGanglia (version V1.0.1)
Both modules provide
interfaces to the
Ganglia monitoring tool. As of version v1.0.1 these modules
are available with the monitoring service distribution jar files
and thus there is no need to be configured as a custom module.
More info is provided in the
Interface to Ganglia page.
Stratos Efstathiadis - page was last modified