You are here: TWiki> WMSMonitor Web>WebDownload3 (revision 10)

NEW Installation for emi-WMS/LB, WMSMonitor 3.0

A completely new version of WMSMonitor is made available, for Pre-View testing.
For the moment being we only deploy sensors in a tarball, and you can use the WMSMonitor server Instance available at INFN-CNAF to visualize your instance data.
Notice that this new version can be installed on emiWMS/LB only on SL5/64 platform.

Here some of the novelties introduced with this new version:

  • New web Interface with separate frames for WMS and LB instances
  • Data collection is now asynchronous, in fact a cron job executes sensors on monitored WMS/LB instances and send data to WMSMonitor server consumer
  • Messaging is now based on Active MQ
  • WMS job workload management rates are now derived exploiting LB api
  • Handling of several LB instances for each WMS
  • both globus and emi-cream JSS case is now handled
  • globus JSS error statistics available


To be part of the preview, please write to wms-support asking for the tarball. Then follow instruction:

  1. Make sure you have your emi WMS / LB instance installed and you have root privileges on it
  2. $> cd /opt
  3. $> tar -xvzf WMSMonitor.tgz (--> untar the tarball we provided you with)
  4. $> cp /opt/WMSMonitor/sensors/bin/WMSMonitor.cron /etc/cron.d/
  5. Edit /etc/cron.d/WMSMonitor.cron uncommenting the WMS or LB line respectively (depending on the service hosted in your instance)
  6. IMPORTANT --> tell us the hostname of instance to be monitored
  7. Wait till first cron job to start and check whether a file like /tmp/WMSLOCKFILE_1312453801.45 exists
  8. go to INFN-CNAF WMSMonitor 3.0 monitor server with a valid user certificate and flash player in your browser and enjoy...


  1. WMSMonitor "user mapping" functionality requires wmproxy loglevel set a 6 in glite_wms.conf file
  2. Required package lsof.x86_64 installed on WMS/LB instance

WMSMonitor SERVER (Not Available for Download YET: WORK IN PROGRESS)

WMSMonitor Server Instance Installation


  1. Make sure you have your emi WMS / LB instances to monitor installed with new sensors as described in previous paragraph.
  2. By default the exploited ActiveMQ broker is the one provided by CERN for development purposes. If you use the default broker/topic you can ignore this step. To use your own ActiveMQ server you need to install one and setup a proper topic on it. This HOWTO does not cover the issue.
  3. A fresh installation of SL5/x64. Suggested HW: Virtual Machine with 3GB RAM, 30GB disk, 1 Core
  4. If a certificate based web access restriction is needed, an x509 host certificate is required
  5. Install php package:
    1. $> yum install php
  6. Install mod_ssl package:
    1. $> yum install mod_ssl
  7. Install mysql server package:
    1. $> yum install mysql-server
    2. $> chkconfig mysqld on
    3. $> service mysqld start
  8. Install apache server package:
    1. $> yum install httpd
    2. $> chkconfig httpd on
    3. $> service httpd start

Then follow instruction:

  1. $> cd /opt
  2. $> tar -xvzf WMSMonitor_server_3.XX.tgz (--> untar the tarball we provided you with)
  3. $> cp /opt/WMSMonitor/deployment/*cron /etc/cron.d/

WMSMonitor Server Instance Configuration

Web Access Configuration:

  • Increased php available memory
In order to increase php performance it is advisable that you increase the php allocable memory.
Modify the /etc/php.ini to have the folloving line (at least 128) :
memory_limit = 128M

  • Secure http enabled (required for enabling user stats web access)
The WMSMON server needs a valid host certificate stored in a HOST_CERTIFICATE_DIR (i.e. /etc/grid-security)

Install the accepted ca packages, i.e. you can execute the following:

  1. $> wget -O /etc/yum.repos.d/egi-trustanchors.repo
  2. $> yum install ca-policy-egi-core

Edit the /etc/httpd/conf/httpd.conf and add the following inside the <Directory /var/www/html> section the following lines :

         SSLVerifyClient      require
         SSLVerifyDepth 10

Edit the /etc/httpd/conf.d/ssl.conf and:

- set the SSLCertificateFile variable to HOST_CERTIFICATE_DIR/hostcert.pem and comment any other line that set this variable.

- set the SSLCertificateKeyFile variable to HOST_CERTIFICATE_DIR/hostkey.pem and comment any other line that set this variable. _ _

- set the SSLCACertificatePath variable to the name of the directory containing the CA file (i.e. /etc/grid-security/certificates if you installed the lcg_CA metapackage) and comment any other line that set this variable.

\If you want to change the default https port (443) you should change in the /etc/httpd/conf.d/ssl.conf file the line:
Listen <port_number> (i.e. Listen 8443)

_Oprtional redirect - If you want to automatically redirect http requests to https pages you should add to the /etc/httpd/conf/httpd.conf file the following section (using the proper values for the variables_ SERVER_HOST_IP,SERVER_HOST_NAME and YOUR_DOMAIN):

<VirtualHost SERVER_HOST_IP:80>
   DocumentRoot /var/www/html
   RedirectMatch (/.*)$ https://SERVER_HOST_NAME.YOUR_DOMAIN/$1

  1. $> service httpd restart

  • Database Initialization:

    1. ENTER mysql console as root
      1. mysql> CREATE USER 'wmsmon'@'%' IDENTIFIED BY 'mypass';
      2. mysql> CREATE database wmsmon;
      3. mysql> grant ALL on wmsmon.* TO 'wmsmon'@'%';
      4. mysql> flush privileges;
      5. mysql> exit;
    2. Back on shell import the sql dump file provided
      1. $> mysql -u root -p wmsmon < /opt/WMSMonitor/deployment/wmsmon3.0_dumpfile.sql

    Sitedef editing:

    1. Edit file /opt/WMSMonitor/common/wmsmon_site-info.def filling following values:
      2. WMSMON_DB_PWD = yourwmsmon user passwd from above (eg. 'mypass') ----> NOTE: do not change USER!
      3. WMSMON_SEVER_CONTACT_EMAIL = siteemail@domain

    Monitoring Instance Cluster Configuration:

    Adding instances to monitor to WMSMonitor server
    1. Given an LB and a WMS instance to monitor:
      1. Enter Mysql database wmsmon:
      2. mysql$>call insertHostLabels(<WMS-HOSTANME-WITH-DOMAIN>, 'WMS', <VO(for multi-vo services set 'multi')>, <VO_GROUP(ex. 'analysis','mc_production',etc.)>, <SERVICE_USAGE(ex. 'production','test',etc.)>, 1 (1 monitored and shown in the web page, 0 not monitored and hided from the web page), <HOST-SITENAME>);
        1. EX>>> call insertHostLabels('','WMS','cms','MCproduction','production', 1,'cnaf');
      3. mysql$>call insertHostLabels(<LB-HOSTANME-WITH-DOMAIN>, 'LB', <VO(for multi-vo services set 'multi')>, <VO_GROUP(ex. 'analysis','mc_production',etc.)>, <SERVICE_USAGE(ex. 'production','test',etc.)>, 1 (1 monitored and shown in the web page, 0 not monitored and hided from the web page), <HOST-SITENAME>);
        1. EX>>> call insertHostLabels('','LB','cms','MCproduction','production', 1,'cnaf'); ---> NOTE do this also when wms/lb is cohosted
      4. mysql$> call insertLBHost();
        1. EX>>> call insertLBHost(''); ---> NOTE do this only for LB is cohosted
      5. shell$> python /opt/WMSMonitor/collector/bin/ stop
      6. shell$> FROM SHELL: python /opt/WMSMonitor/collector/bin/ start

    Configuring Load Balancing in WMSMonitor server
    1. Set the dns contact in /opt/WMSMonitor/common/wmsmon_site-info.def
    2. Set the passwd for dns contact in /opt/WMSMonitor/common/wmsmon_site-info.def
    3. Define aliases in the dns contact
      1. For each given ALIAS and WMS instance associated:
        1. Enter Mysql database wmsmon
        2. ADD ALIAS: mysql$> call insert_loadbalancing_ALIAS(enable_flag #is the alias in use#, numout #number of instances to leave out of alias per period#, subtest_enable #IS a submission test to be used in status metric#, alias_name #without domain#) (to be executed only the first time a new alias is created);
          1. EX>>> call insert_loadbalancing_ALIAS( 1, 2, 0, 'wms-prod');
        3. If needed: REMOVE ALIAS: mysql$> call remove_loadbalancing_ALIAS("alias_name")
          1. EX>>> call remove_loadbalancing_ALIAS( 'wms-prod'); Note that removing an alias will remove also wms association to that alias
        4. ADD HOST TO ALIAS mysql$> call add_wmshost_to_ALIAS(WMS_HOSTNAME_WITH_DOMAIN, ALIAS_NAME_WITHOUT_DOMAIN, SPARE_LABEL #1 if wms associated but not used#, test_urlIN #URL of the submission test used if enabled#);
          1. EX>>> call add_wmshost_to_ALIAS('', 'wms-prod', 0, '');
        5. If needed: REMOVE HOST FROM ALIAS mysql$> remove_wmshost_from_ALIAS( "hostnamewms", "alias_name")

    -- DaniloDongiovanni - 2011-12-20

Edit | Attach | Print version | History: r20 | r12 < r11 < r10 < r9 | Backlinks | Raw View | More topic actions...
Topic revision: r10 - 2012-01-13 - DaniloDongiovanni
Edit Attach

This site is powered by the TWiki collaboration platformCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback