pingER service

generic installation instructions

The perfSONAR-PS PingER service is an evolution of the PingER project (http://www-iepm.slac.stanford.edu/pinger/) with more than 10 years experience in collecting and analysising network performance across the world. The perfSONAR-PS PingER service is composed of both a storage backend (MA) and measurement frontend (MP) to conduct and store ping measurements and to make available such data for consumption by interested parties. Network characteristics supported include availability, latency and jitter, which provide a broad spectrum of determining end-to-end network performance.

perfSONAR-PS PingER is designed to be scalable enough in order to accommodate hundreds of monitored pairs of hosts and uses a relational database backend (MySQL, Postgres, SQLite) to efficiently store and retrieve such performance information.

perfSONAR-PS PingER also supports the registration of data through perfSONAR LS's to faciliate the dynamic discovery and querying of unknown deployments.

The MA provides a web service interface based on NMWG XML that allows queries on the PingER data and to be consumpted by perfSONAR client applications and services alike.

prerequisites

PingER is packaged as an RPM - a binary installation format that is geared towards use on Red Hat linux based systems. Examples include Fedora, Red Hat Enterprise Linux, CentOS, White Box, Scientific Linux, and possibly others.

These Linux distributions normally rely on "Package Management" tools to install and maintain software. Examples of these tools include up2Date, YUM, and APT-RPM. Internet2 has created a repository to house the perfSONAR-PS software, related performance tools, and hard to find prerequisites. We encourage adopters of these tools to install a simple RPM package that gives the necessary configuration information for the YUM and APT-RPM tools. The RPM can be found here:

wget -c http://software.internet2.edu/rpms/i386/main/RPMS/Internet2-repo-0.2-5.noarch.rpm

To install this RPM first import the signing key:

rpm --import http://software.internet2.edu/rpms/RPM-GPG-KEY-Internet2

Then install the RPM:

rpm -ivh Internet2-repo-0.2-5.noarch.rpm

There may be several prerequisites to install depending on the age of your system. To ensure that all are found, please be sure to install one of the alternative repositories above.



http://dries.ulyssis.org/rpm/
http://dag.wieers.com/rpm/

Each site provides configuration instructions and packages similar to the Internet2 repository.

If using a package management system is not an option, or if your system is not RedHat based (e.g. Debian, Gentoo, etc.) it is still possible to install this software and related requirements by hand. Please see the "Installation (Tar Package)" and "Installation (SVN)" sections for more details. This tool uses the following Perl libraries, libraries, and external tools to function:

  • Libraries
    • LibXML2
  • Tools
    • MySQL or SQLite
NOTE: For all following installation methods, the installation instructions require that you know the RELEASE NUMBER; it must be inserted where the text says releasenumber. An example would be "3.1-1".

Installation (YUM)

Installation using YUM lets the package manager do the work of finding and installing the dependencies. The following command is all that is needed:

yum install perl-perfSONAR_PS-PingER-server-releasenumber.pSPS.noarch.rpm

There may be several prerequisites to install depending on the age of your system. To ensure that all are found, please be sure to install one of the alternative repositories above.

installation (APT-RPM)

Like YUM, installation with APT-RPM also manages the task of finding dependencies. The following commands will install is needed:

apt-get update apt-get install perl-perfSONAR_PS-PingER-server-releasenumber.pSPS.noarch.rpm

There may be several prerequisites to install depending on the age of your system. To ensure that all are found, please be sure to install one of the alternative repositories above.

installation (Bare RPM)

If you do not wish to install the Internet2 Repository package, you may simply find the appropriate RPM for your architecture without using a package manger. For example if you are on an "i386" architecture:

wget -c http://software.internet2.edu/rpms/i386/main/RPMS/perfSONAR_PS-PingER-server-releasenumber.pSPS.noarch.rpm

or for 64bit machines:

wget -c http://software.internet2.edu/rpms/x86_64/main/RPMS/perfSONAR_PS-PingER-server-releasenumber.pSPS.noarch.rpm

or

wget -c
http://tukki.fnal.gov/downloads/perfSONAR_PS-PingER-server-releasenumber.pSPS.noarch.rpm


To install without package manager help:

rpm -ivh perfSONAR_PS-PingER-server-releasenumber.pSPS.noarch.rpm

Note that this RPM may need other packages to install correctly: if these packages are not found on your system, you will need to manually download and install them before proceeding. An alternate method is to still use a package manager in a "local" way (YUM only):

yum localinstall perl-perfSONAR_PS-PingER-server-releasenumber.pSPS.noarch.rpm

This will search the available repositories for any necessary packages.

In addition to perl requirements, there are other software requirements that should be installed. These are not controlled via the dependency scripts due to differences in package mangement. The tools are listed below:

  • MySQL
    • Package management names:
      • Debian/Ubuntu: mysql-server-5.0, mysql-client-5.0, libdbd-mysql-perl, libdbd-mysql
      • RedHat Systems: mysql-server, mysql, mysql-devel, libdbi-dbd-mysql, perl-DBD-MySQL
  • SQLite
    • Package management names:
      • Debian/Ubuntu: sqlite3, libsqlite3-0, libsqlite3-dev, libdbd-sqlite3-perl, libdbd-sqlite3
      • RedHat Systems: sqlite, sqlite-devel, perl-DBD-SQLite
  • LibXML2
    • Package management names:
      • Debian/Ubuntu: libxml2, libxml2-dev, libxml2-utils
      • RedHat Systems: libxml2, libxml2-devel

installation (Tar Package)

All RPM packages are also available in "source" packages that may be installed and used in the typical Unix/Linux fashion. There are helper scripts included that may be used to download the necessary prerequisite software packages:

wget -c http://software.internet2.edu/source/perfSONAR_PS-PingER-server-releasenumber.tar.gz
tar -zxfv perfSONAR_PS-PingER-server-releasenumber.tar.gz
cd perfSONAR_PS-PingER-server-releasenumber
make install
cd scripts
./install_dependencies.sh
./prepare_environment.sh


The last three steps need to be run as root or via sudo. The latter two steps will configure the machine's users and startup scripts as well as contact CPAN for any necessary perl libraries.

In addition to perl requirements, there are other software requirements that should be installed. These are not controlled via the dependency scripts due to differences in package mangement. The tools are listed below:

  • Oracle DB XML
  • LibXML2
    • Package management names:
      • Debian/Ubuntu: libxml2, libxml2-dev, libxml2-utils
      • RedHat Systems: libxml2, libxml2-devel

installation (SVN)

Software may be downloaded directly from our anonymous subversion server. This installation method allows for easy upgrades between versions and access to bugfixes immediately. There are two ways to download from our server, one that retrieves all software and another that retrieves only selective services.

To download the entire release:

svn checkout http://anonsvn.internet2.edu/svn/perfSONAR-PS/tags/RELEASE_3.1 perfSONAR-PS

The instructions are the same here as for the Tar package. Note that installation may require pre-requisite software. Read the preceding sections for necessary items and suggestions on how to install and configure them. When you wish to update the checkout (to retrieve new development or bugfixes):

cd perfSONAR-PS
svn update


If a single service is all that is required, a similar method is used but also note that the service must have access to a "Shared" directory that contains perfSONAR-PS libraries:

svn checkout http://anonsvn.internet2.edu/svn/perfSONAR-PS/tags/RELEASE_3.1/perfSONAR_PS-PingER/
svn checkout http://anonsvn.internet2.edu/svn/perfSONAR-PS/tags/RELEASE_3.1/Shared


The instructions are also the same as above:

cd Shared
svn update


and

cd perfSONAR_PS-PingER-server
svn update