************************************************************* HOWTO: Setting up WP7-edg-iperf monitoring tool. ************************************************************* Description *********** Iperf is a tool to measure maximum TCP bandwidth, IperfER is a conversion of the PingER tool that makes use of Iperf to make regular TCP throughput tests. As they are based upon the same codebase, both IperfER and PingER have similar functionality: graphical and data display, PCP integration and the ability to push measurements into R-GMA. Software Requirements ********************* Suitable Version: Redhat 7.x to SL3 edg-pinger needs following dependencies: - perl5 package - wget package - tcsh package Building/Installing/configuring ******************************* Modify: 29 March 2005 Date: 30th November 2004 Build/Install/configure edg-iperf from source on Linux 1) Download edg-iperf-1.2.4.tar.gz in your source directory # > cd /usr/local/src # > wget http://marianne.in2p3.fr/egee/network/download/edg-iperf-1.2.4.tar.gz 2) Unpack the tar ball # > tar zxf edg-iperf-1.2.4.tar.gz 3) Enter the edg-iperf-1.2.4 directory # > cd edg-iperf-1.2.4 4) Configure the makefile # > ./configure --prefix=/opt/edg (/opt/edg will be the installation directory) 5) Build edg-iperf # > make 6) Install edg-iperf # > make install 7) Download iperf-1.6.2.tar.gz in your source directory # > cd /usr/local/src # > wget http://marianne.in2p3.fr/egee/network/download/iperf-1.6.2.tar.gz 8) Unpack the tar ball into the source directory # > tar zxf iperf-1.6.2.tar.gz 9) Enter the iperf-1.6.2 directory # > cd iperf-1.6.2 10) Configure the makefile in the iperf-1.6.2 directory # > ./configure --prefix=/opt/edg 11) Build iperf # > make 12) Install iperf # > make install Note that iperf executable is installed to /opt/edg/bin 13) Set the correct file permissions: # > chmod ug+x /opt/edg/bin/iperf 14) Open to your firewall the port number TCP 5001 or check that this port is not already used 15) IPerf SERVER SIDE: To run it as a daemon, download startup-edg-v1.2.tar.gz to install iperfd and follow the instructions. *** Iperf CLIENT SIDE will be runned automatically by PCPD through /opt/edg/sbin/edg-iperf-timeiperf.pl You can modify default option values directly in this script latter. Here are the default values: Command type : -c dest_ip -p dest_port -w buffer_size -t duration -fb -i interval -c: client option -p: port (default: 5001) -w: tcp window size (default: 1024*1024) -t: time for sending data(default: 5s) -f: letter specifying the format to print bandwidth number in (default: b for bits/sec) -i: periodic reporting interval in seconds for sending data (to be added) => Be aware of the limit of the tcp window size on your machine 16) If errors about libstdc++ appear, dowload the convenient library. 17) Send the name of your machine on which you're installing edg-iperf to: sophie.nicoud@urec.cnrs.fr and wait for reply. 18) After confirmation, you'll be able to download the list of hostnames that your iperf will monitor directly from the central monitoring server ccwp7.in2p3.fr # > /opt/edg/sbin/edg-iperf-get_config_file.csh ccwp7.in2p3.fr 19) IPERF SERVER sometimes CRASHES. To have iperf always up, run the following cron job: ----------------------------------------------------------------------------------------- */5 * * * * /etc/init.d/iperfd start > /opt/edg/var/edg-iperf/iperf_server.log 2>&1 ----------------------------------------------------------------------------------------- To do so: - write it on a single line in a file..call it "mycron" - run: # > crontab mycron - check if it has been set: # > crontab -l 20) For scheduling, you need to install the Probes Coordination Protocol (PCP) 21) To publish measurements into RGMA, install the glite-netmon2rgma. Optionnal ********** To visualize localy the edg-iperf monitoring datas through your www server: */etc/httpd/conf/httpd must be configured: - DocumentRoot "/opt/edg/lib/" - Alias /iperf "/opt/edg/lib/edg-iperf/html" - AddHandler cgi-script .pl - ScriptAlias /iperf-bin/ "/opt/edg/libexec/cgi-bin/edg-iperf/" (to indicate edg-iperf cgi-script's folder.) * files living in the cgi-bin directory should be set with the correct file permissions