Logo EGEE
home > e2emonit > e2emonit Installation

e2emonit Installation

Overview

The installation methods for e2emonit make use of rpms which have been built for Scientific Linux 3. These may either be installed manually or by using YAIM, which is the recommended procedure.

To present meaningful results the e2emonit measurement tools should be installed on machines that use a network path as close as possible to that used by user level tools, for instance if a private network is used for file transfers then e2emonit should be installed on machines connected to this network, and configured accordingly.

It is also important to note that some care has to be taken with the configuration of e2emonit so as to prevent the chance of conflicting measurements happening at the same time. Tools are provided to aid the configuration of e2emonit when it is being deployed on a star topology, as in the case of the LHC Tier0-Tier1 configuration.


Prerequisites

e2emonit has the following prerequisites:

  • Access to a working R-GMA server - this should be in the same domain as the e2emonit host, but doesn't have to necessarily be the same machine. You will also need access to an R-GMA registry and schema server.
  • An X.509 host certificate from a certificate authority that is trusted by the R-GMA server.
  • A working Java - currently version 1.4.2 of Sun's JRE is recommended.
  • The opening of specific ports used by the measurement tools in any firewalls, as shown in this table:
    Tool Direction Source Port Destination Port Protocol
    Iperf server Incoming >1024 5001 TCP
    Iperf client Outgoing >1024 5001 TCP
    UDPMon Server Incoming >1024 14233 UDP
    UDPMon Client Outgoing >1024 14233 UDP
    PingER,traceroute Both - - ICMP
    R-GMA Both >1024 8088,8443 TCP

    A sample iptables configuration for these ports is available in this file, although you may want to add further customisations based on the hosts you are running the tests against.

Manual Installation Procedure

To install e2emonit manually follow this procedure:

  1. Configure any firewalls according to the table above.
  2. Get a host certificate from your national CA. The member list for your regional PMA can be found from the IGTF.
  3. Install a gLite R-GMA Server if required:
    Download and configure the latest R-GMA Server as described on the JRA1-UK R-GMA Server Installation page. It is important to note that the latest release of R-GMA is gLite 3.0, not gLite 1.5 as currently stated at the JRA1-UK R-GMA Server Installation page.
    Note that you only want to configure R-GMA as 'Producer/Consumer' and 'Browser', but not as 'Registry' or 'Schema' (unless you are setting up a complete infrastucture from scratch, in which case one R-GMA server has to act as the schema and registry server). For additional information please consult the R-GMA Server User Guide, section 2.2.
    During configuration, you should use the following values:
    • Consumer=https://<your rgma host>:8443/R-GMA/ConsumerServlet
    • StreamProducer=https://<your rgma host>:8443/R-GMA/StreamProducerServlet
    • PrimaryProducer=https://<your rgma host>:8443/R-GMA/PrimaryProducerServlet
    • SecondaryProducer=https://<your rgma host>:8443/R-GMA/SecondaryProducerServlet
    • OnDemandProducer=https://<your rgma host>:8443/R-GMA/OnDemandProducerServlet
    • Registry=https://<rgma registry and schema host>:8443/R-GMA/RegistryServlet
    • Schema=https://<rgma registry and schema host>:8443/R-GMA/SchemaServlet
  4. Install the current NPM e2emonit software:
  5. Install the current gLite R-GMA Client package as described in the installation guide

YAIM Installation procedure

YAIM (Yet another installation method) aims to simplify the process of installing different kinds of LCG/EGEE nodes for large sites. It is based on bash and provides a set of functions that can easily be added to when needed, in conjuctions with a configuration file, site-info.def. It breaks the installation process into two steps, download/installation of packages and then configuration. Instructions on using YAIM are available in the gLite Generic Installation Guide. The instructions on this page are for e2emonit installation.

These instructions will install and configure an LCG node type called MON_e2emonit, consisting of an R-GMA server and e2emonit. Note that you also need to open the necessary ports in the firewall as described in the port table.

  1. Install YAIM. YAIM is provided as an RPM. The packages are available from the CERN grid deployment pages. Download and install the latest package:
    wget http://www.cern.ch/grid-deployment/gis/yaim/glite-yaim-x.x.x-x.noarch.rpm
    rpm -ivh glite-yaim-x.x.x-x.noarch.rpm
    
    This will install YAIM into /opt/glite/yaim.
  2. Configure site-info.def. This file contains several variables which are used by YAIM during installation and configuration. Many are only relevant for specific node types. e2emonit has been setup as an addon to a MON node, so some MON variables are used. An example template can be found in /opt/glite/examples/site-info.def. Copy this to somewhere safe before editing. Variables relevant to an e2emonit installation are:
    MY_DOMAIN=epcc.ed.ac.uk        # Network domain.
    MON_HOST=egee1.$MY_DOMAIN      # Host name of MON box, used in setup of R-GMA
                                   # server and client.
    REG_HOST=egee.$MY_DOMAIN       # Location of R-GMA registry and schema server.
                                   # Usually only one of these per grid.
                                   # If the same as MON_HOST then R-GMA server
                                   # setup will configure registry and schema also.
    JAVA_LOCATION="/usr/java/j2sdk1.4.2_10"     # Different on SL4 and SL3
    E2EMONIT_LOCATION=www.egee-npm.org/e2emonit # e2emonit config download site.
    E2EMONIT_SITEID=site1A         # Used when generating e2emonit cron scripts.
    
    The E2EMONIT variables depend on where you are installing e2emonit and you should have been told the relevant values for your site. The settings for the EGEE Pre-Production Service are available here. Also relevant for a MON box are the $SITE_* variables, which are published by R-GMA.
  3. Download the packages. YAIM installs packages using either apt (default) or yum. The relevant repositories have to be defined in site-info.def. By default the gLite production repository is used. To use the Pre-Production Service (PPS) repository then set
    LCG_REPOSITORY="'rpm http://grid-it.cnaf.infn.it/apt/glite/i386/3.0.2 . externals Release3.0 updates'"
    
    To install the packages run
    /opt/glite/yaim/scripts/install_node site-info.def glite-MON_e2emonit
    
    This will download and install all the required packages for the glite-MON_e2emonit node type, including dependencies if the repositories have been correctly configured, along with the CA rpms.
  4. Configure R-GMA and e2emonit using YAIM. Once the packages have been downloaded they need to be configured. It is recommended to do this in two steps, first for the MON node type and then for E2EMONIT. This consists of running
    /opt/glite/yaim/scripts/configure_node site-info.def MON
    /opt/glite/yaim/scripts/configure_node site-info.def E2EMONIT
    
    This uses a configuration file in
    /opt/glite/yaim/scripts/node-info.def
    
    to decide which YAIM functions to run to configure various components. For e2emonit the steps performed are to
    • Turn on the following daemons using chkconfig:
      • glite-netmon2rgmad
      • glite-udpmond
      • glite-iperfd
    • Download site configuration file from $E2EMONIT_LOCATION using /opt/glite/etc/cron_scripts/glite-e2emonit-config-update
    • Configure a cron job to do this download on a 2-hourly basis (minutes randomly selected)
    • Runs /opt/glite/sbin/glite-e2emonit-gencron to generate cron jobs for e2emonit tools, based on $E2EMONIT_SITEID
  5. Turn off unwanted services. If you are only interested in e2emonit then you can turn off various services configured by the MON profile. These are:
    • edg-fmon-server
    • edg-fmon-agent
    • globus-mds
    • gridice-mds
    • rgma-gin
    • rgma-publish-site

That's it! You should now have a functioning e2emonit installation, which does the following:

  • Runs iperf and udpmon servers as init.d services, allowing other machines to run network tests against your machine.
  • Runs regular ping, iperf and udpmon tests against other machines according to the schedule in the cron job, and publishes these measurements to R-GMA.
  • Regularly checks for, and downloads configuration updates according to the cron job schedule.

Verification Procedure

To verify that your installation is working you can: