Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Prerequisite:

Depends on rrdtool version 1.2.12 or newer version of it. Therefore it must be installed. The RRD tool is already installed on PingER machine.

Security Checks

 The perl taint option -T is used in order to taint the input which the cgi will get from the user also "strict" is used.

CGI Scripts

Graph.cgi

Configuration Steps:

  • I changed the following path to point to 'rrdtool' installation. The path should go up to the 'perl' directory as follows:
Code Block
use lib "/afs/slac.stanford.edu/package/netmon/rrdtool/lib/perl/5.8.8";
use lib "/afs/slac.stanford.edu/package/netmon/rrdtool/lib/perl/5.8.8/i386_linux24";

PingER it worked fine. The problem was due to the fact that Flora is a 64 bit machine.

Code Block
my $imgsrc="$HOME/pinger_smokeping/html/GraphCache where $HOME is my home directory where the project is placed.

SaveImage.cgi

* *I have written saveimage.cgi which is called from graph.cgi and it prints the image data to the browser. The image is created temporarily and is deleted after it is show to the user.

The image is created in /tmp/ directory

Form.cgi

Displays the SourceSite_DestinationSite_PacketsSize_NumberOfPings(maximum) RRDs(data) available for the monitoring site or node slected from pingtable.pl by user.

Configuration Steps:

  • I changed the mainpath to point to the srcdest.txt file:
    Code Block
    my $mainpath="$HOME/pinger_smokeping/SRCDEST_FILE/srcdest.txt";
    

where $HOME is  home directory where the project is placed.

  • I changed this path to point to the folder contaning the pinger.new.cf file: my $base_dir="$HOME/pinger_smokeping";
  • I also had to put <HTML> nad <BODY> tags to see the output correctly in the browser which otherwise gave error. This script takes two parameters as

1. src_regexp (Monitoring Site)
2. by site | node

Pingtable.pl

  • I used the version provided with the distribution. I added this link to form.cgi Line 504:
Code Block
$config
{URLCOLUMN0}

= "SMOKE [http://www-dev.slac.stanford.edu/cgi-wrap/smokeping_form.cgi?src_regexp=]";
  • I also had to chage require statement at line 96 to point it to new pinger.new.cf
Code Block
require "$base_dir/pinger.new.cf";

where

Code Block
$base_dir="/afs/slac/u/sg/shahryar/pinger_smokeping";
  • Also the path of mon-lib.pl was changed in pinger.new.cf to point to the new mon-lib.pl 

These three scripts are deployed at Test server (/afs/slac.stanford.edu/g/www/cgi-wrap-bin/net/shahryar)

which I guess is not accessable from outside world. These scripts are deployed at:

http://www-dev.slac.stanford.edu/cgi-wrap/pingtable_test.pl

http://www-dev.slac.stanford.edu/cgi-wrap/smokeping_form.cgi

http://www-dev.slac.stanford.edu/cgi-wrap/smokeping_graph.cgi