...
Detailed description can be found at http://maggie.niit.edu.pk/newwebsite/federation_projectdesc2.html
Installation
Note |
---|
perhaps you should develop an automated installation script rather than document all of this. |
SelectConvSrcDest1.pm
- Modify the following path to point to the bin directory containing the PingERtoSmokeping.pm
Code Block use lib qw(/home/bin);
- Change following paths according to local system. Point this path to the pinger data files directory
Code Block my $some_dir="/home/pinger/pingerdata/hep/data";
- Point this path to the directory SRCDEST_FILE
Code Block my $srcdest="/home/SRCDEST_FILE";
PingERtoSmokeping.pm
- When installing PingERtoSmokeping, this file has to be adjusted to fit your local system. Two paths have to be changed. These path is located at the begining of PingERtoSmokeping:The $main_path should point to the source folder which contains the PingER files
Code Block my $main_path='/home/PingER_Data_Storage/';
- The $pathofrrdcache should point to the folder RRDCache, which will contain the RRDs
Form.cgiCode Block my $pathofrrdcache="/home/RRDCache";
- Change the mainpath to point to the srcdest.txt file
Code Block my $mainpath="/home/SRCDEST_FILE/srcdest.txt";
- Change this path to point to the folder contaning the pinger.new.cf file:
mon-libCode Block $base_dir="/home/pinger";
- Add following lines to the current mon-lib, rigth above the if ($type =~ /HISTO/) or use the mon-lib file available with the distribution
pingtable.plCode Block if ($type =\~ /SMOKE/) { $site = "$table\[$i\]\[$nodecolumn-5\]"; if($FORM{'by'}=~/node/) {$more = "&by=node";} if($FORM{'by'}=~/site/) {$more = "&by=site";} $label = ""; $min = ""; $max=""; $data = ""; }
- Add the following line into pingtable.pl
Code Block $config{URLCOLUMN0} = "SMOKE http://www.<server>.com/OtherParams2.cgi?src_regexp= ";
- This is to be added above the following line:
Graph.cgiCode Block $config{URLCOLUMN1} = "COLLECTION http://www.hep.net/cgi-bin/graph_pings.pl?src_regexp= ";
- Change the following path to point to 'rrdtool' installation
Code Block use lib qw( /usr/local/rrdtool-1.2.12/lib/perl );
- Change following link(present on line 36,242) to point to installation of Graph.cgi:
Code Block http://www.<path-of-server>.com/cgi-bin/graph.cgi
- also modify the following relative path to GraphCache from folder containg Graph.cgi
Code Block my $imgsrc='../GraphCache'; It is used in: line (IMG SRC=\'$imgsrc/$destlink1.png\') And line (IMG SRC=\'$imgsrc/$destlink1"."_mini.png\')
Performance Analysis
In order to get list of unique Source Destination pairs (links) SelectSrcDest1.pm used to traverses through all the raw pinger files for the last 120 days and generated the list. This was extremely expensive in terms of time consumed so we needed to reduce this. This was reduced to one day which made the code 120 times more faster.
...
Code Block |
---|
CreateRRD took:38 wallclock secs (19.76 usr 3.99 sys \+ 2.57 cusr 0.82 csys = 27.14 CPU) CreateRRD took:38 wallclock secs (20.06 usr 3.39 sys \+ 2.46 cusr 0.84 csys = 26.75 CPU) CreateRRD took:67 wallclock secs (21.25 usr 9.75 sys \+ 2.49 cusr 1.03 csys = 34.52 CPU) CreateRRD took:66 wallclock secs (21.19 usr 9.06 sys \+ 2.73 cusr 0.90 csys = 33.88 CPU) CreateRRD took:68 wallclock secs (20.97 usr 9.47 sys \+ 2.78 cusr 0.74 csys = 33.96 CPU) CreateRRD took:68 wallclock secs (20.80 usr 9.40 sys \+ 2.44 cusr 0.96 csys = 33.60 CPU) CreateRRD took:23 wallclock secs (19.19 usr 0.86 sys \+ 2.27 cusr 0.91 csys = 23.23 CPU) CreateRRD took:23 wallclock secs (19.09 usr 1.13 sys \+ 2.55 cusr 0.92 csys = 23.69 CPU) CreateRRD took:66 wallclock secs (21.13 usr 8.45 sys \+ 2.53 cusr 0.93 csys = 33.04 CPU) CreateRRD took:67 wallclock secs (21.24 usr 9.61 sys \+ 2.23 cusr 0.91 csys = 33.99 CPU) |
I created the same 10 RRD files on local disk, clearly its less expensive to write to local disk.
...