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

Introduction

PingER2 in slac resides under /afs/slac/package/pinger/pinger2/share/pinger/. This directory contains all the scripts, needed by PingER2 except for lynx, ping,ping6,dig and other similar binaries. The directory contains:

pinger.xml

  • These files contain the configuration values for pinger2. They are created atomically every 6 hours from the NODEDETAILS database as a result of running write_offsitenodes.pl from the pinger@pinger.slac.stanford.edu cronjob. There are actually two files:
  • This file has four parts:
    • Beacon List, containing a list of all the beacon sites.
    • Beacon List Config, containing configuration values for the beacon list. This includes:
      • BeaconListURL: Location of beacon.txt file
      • HttpGetBin: Location of lynx
      • RefreshInterval: Used to determine, when the list should be refreshed.
    • DataDirectory: Indicating where the data gathered by PingER2 should reside.
    • DefaultHost: Values here determine what a default host looks like. For the hostlist, any value that is not in there for a host, is picked up from here.
      • It is advised that DNS Caching  be turned off, to cause PingER2 to do a new dns request every time.
      • PingER2 throws all the error messages at the same time, when the time to notification is achieved. The default value is 12 hours. If you wish to store this information instead, in a log file, replace the
        Code Block
         <AlarmCmd>echo &quot;%message\n-----------------\n&quot; &gt;&gt; /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger/pinger.log </AlarmCmd>
    • HostList: List of hosts, PingER2 gathers data from.
    • Final Configuration values:
      Code Block
      xml
      xml
      &nbsp; <MaxProcessCount>25</MaxProcessCount>
      &nbsp; <PingV4Cmd>/bin/ping \-n \-w %deadline \-c %count \-i %interval \-s %packetsize %destination</PingV4Cmd>
      &nbsp; <PingV6Cmd>/bin/ping6 \-n \-w %deadline \-c %count \-i %interval \-s %packetsize %destination</PingV6Cmd>
      &nbsp; <SrcName>pinger.slac.stanford.edu</SrcName>
      &nbsp; <Version>2.0.1</Version>
      &nbsp; <dnsV4Cmd>/afs/slac/package/pinger/pinger2/share/pinger/dnsV4Cmd.pl %destination</dnsV4Cmd>
      &nbsp; <dnsV6Cmd>/usr/bin/dig \-t aaaa \+short %destination</dnsV6Cmd>
      &nbsp; <doRandomWait>false</doRandomWait>
      &nbsp; <modifiedTime>Tue Feb&nbsp; 9 17:17:31 2010</modifiedTime>
      &nbsp; <waitInterval>30</waitInterval>
      

pinger2.pl

      The main, perl script to do all the PingER2 tasks, including ping.

Logs

There are logs at:

  • /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger/pinger.log
  • /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger/pingerCronStat.stderr
  • /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger/pingerCronStat.stdout

[slaconly]pinger_startup.pl

       This script, alleviates the need to pass multiple arguments to PingER2 everytime it needs to be run. It has some default values, that make the cronjob and the whole running a clean process.

       With out this script a typical run would look like:

Code Block
cd /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger ;
perl /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger/pinger2.pl >
 /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger/pingerCronStat.stdout;

       However using pinger_startup.pl, this becomes:

Code Block
 /afs/slac/package/pinger/pinger2/share/pinger/pinger_startup.pl

dnsV4Cmd.pl

      This Command Utilises, Perl utility gethostbyname() to determine, the ip address of a host, given a hostname.

Include Page
PingER2 Data Flow
PingER2 Data Flow