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 ActiveMQ
- 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
WMSMonitor SENSORS INSTALLATION ON INSTANCES TO MONITOR
To be part of the preview, please
write to wms-support asking for the tarball.
Then follow instruction:
- Make sure you have your emi WMS / LB instance installed and you have root privileges on it
- $> cd /opt
- $> tar -xvzf WMSMonitor.tgz (--> untar the tarball we provided you with)
- $> cp /opt/WMSMonitor/sensors/bin/WMSMonitor.cron /etc/cron.d/
- Edit /etc/cron.d/WMSMonitor.cron uncommenting the WMS or LB line respectively (depending on the service hosted in your instance)
- IMPORTANT --> tell us the hostname of instance to be monitored
- Wait till first cron job to start and check whether a file like /tmp/WMSLOCKFILE_1312453801.45 exists
- go to INFN-CNAF WMSMonitor 3.0 monitor server with a valid user certificate and flash player in your browser and enjoy...
Note:
- WMSMonitor "user mapping" functionality requires wmproxy loglevel set a 6 in glite_wms.conf file
- Required package lsof.x86_64 installed on WMS/LB instance
WMSMonitor SERVER (Not Available for Download YET: WORK IN PROGRESS)
WMSMonitor Server Instance Installation
Requirements:
- Make sure you have your emi WMS / LB instances to monitor installed with new sensors as described in previous paragraph.
- 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.
- A fresh installation of SL5/x64. Suggested HW: Virtual Machine with 3GB RAM, 30GB disk, 1 Core
- If a certificate based web access restriction is needed, an x509 host certificate is required
- Install php package:
- $> yum install php
- Install mod_ssl package:
- $> yum install mod_ssl
- Install mysql server package:
- $> yum install mysql-server
- $> chkconfig mysqld on
- $> service mysqld start
- Install apache server package:
- $> yum install httpd
- $> chkconfig httpd on
- $> service httpd start
- Install Mysql python library:
- $ yum install MySQL-python
- Install Mysql php library:
- $ yum install php-mysql
Then follow instruction:
- $> cd /opt
- $> tar -xvzf WMSMonitor_server_3.XX.tgz (--> untar the tarball we provided you with)
- $> 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:
- $> wget http://repository.egi.eu/sw/production/cas/1/current/repo-files/egi-trustanchors.repo -O /etc/yum.repos.d/egi-trustanchors.repo
- $> 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
:
SSLRequireSSL
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
ServerName SERVER_HOST_NAME.YOUR_DOMAIN
RedirectMatch (/.*)$ https://SERVER_HOST_NAME.YOUR_DOMAIN/$1
</VirtualHost>
- $> service httpd restart
-
Database Initialization:
- ENTER mysql console as root
- mysql> CREATE USER 'wmsmon'@'%' IDENTIFIED BY 'mypass';
- mysql> CREATE database wmsmon;
- mysql> grant ALL on wmsmon.* TO 'wmsmon'@'%';
- mysql> flush privileges;
- mysql> exit;
- Back on shell import the sql dump file provided
- $> mysql -u root -p wmsmon < /opt/WMSMonitor/deployment/wmsmon3.0_dumpfile.sql
Sitedef editing:
- Edit file /opt/WMSMonitor/common/wmsmon_site-info.def filling following values:
- WMSMON_HOST = YOURSERVERWMSMonitor
- WMSMON_DB_PWD = yourwmsmon user passwd from above (eg. 'mypass') ----> NOTE: do not change USER!
- WMSMON_SEVER_CONTACT_EMAIL = siteemail@domain
Monitoring Instance Cluster Configuration:
Adding instances to monitor to WMSMonitor server
- Given an LB and a WMS instance to monitor:
- Enter Mysql database wmsmon:
- 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>);
- EX>>> call insertHostLabels('wms014.cnaf.infn.it','WMS','cms','MCproduction','production', 1,'cnaf');
- 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>);
- EX>>> call insertHostLabels('wms014.cnaf.infn.it','LB','cms','MCproduction','production', 1,'cnaf'); ---> NOTE do this also when wms/lb is cohosted
- mysql$> call insertLBHost();
- EX>>> call insertLBHost('lb013.cnaf.infn.it'); ---> NOTE do this only for LB is cohosted
- shell$> python /opt/WMSMonitor/collector/bin/data_collector_daemon.py stop
- shell$> FROM SHELL: python /opt/WMSMonitor/collector/bin/data_collector_daemon.py start
Configuring Load Balancing in WMSMonitor server
- Set the dns contact in /opt/WMSMonitor/common/wmsmon_site-info.def
- Set the passwd for dns contact in /opt/WMSMonitor/common/wmsmon_site-info.def
- Define aliases in the dns contact
- For each given ALIAS and WMS instance associated:
- Enter Mysql database wmsmon
- 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);
- EX>>> call insert_loadbalancing_ALIAS( 1, 2, 0, 'wms-prod');
- If needed: REMOVE ALIAS: mysql$> call remove_loadbalancing_ALIAS("alias_name")
- EX>>> call remove_loadbalancing_ALIAS( 'wms-prod'); Note that removing an alias will remove also wms association to that alias
- 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#);
- EX>>> call add_wmshost_to_ALIAS('wms002.cnaf.infn.it', 'wms-prod', 0, '');
- If needed: REMOVE HOST FROM ALIAS mysql$> call remove_wmshost_from_ALIAS( "hostnamewms", "alias_name")
-- DaniloDongiovanni - 2011-12-20