...
PingER2 at SLAC resides under /afs/slac/package/pinger/pinger2/share/pinger/. This directory contains all the scripts, needed by PingER2 except for wget, ping, ping6,dig, and other similar standard Linux binaries. The directory contains:
...
- These files contain the configuration values for pinger2. They are created atomically every 6 hours from the Oracle NODEDETAILS database as a result of running write_offsitenodes.pl from the pinger@pinger.slac.stanford.edu trscronjob. There are actually two files:
- For the SLAC monitoring host: /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger/pinger.xml
- For other (non-SLAC) monitoring hosts: http://www-iepm.slac.stanford.edu/pinger/pinger.xml
- Non-SLAC hosts by default update their beacons every 30 days.
- The last update time can be found by:
cottrell@pinger $ ls -l /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger/pinger.xml
-rw-r--r-- 1 fahad sg 233552 Dec 27 09:51 /afs/slac.stanford.edu/package/pinger/pinger2/share/pinger/pinger.xml
- 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 hostlisthost list, any value that is not in there for a host , is picked up from here.
- It is advised that DNS Caching Caching be turned off, to cause PingER2 to do a new dns DNS request every time.
PingER2 throws all the error messages at the same time , when the time to the 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 "%message\n-----------------\n" >> /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 <MaxProcessCount>25</MaxProcessCount> <PingV4Cmd>/bin/ping \-n \-w %deadline \-c %count \-i %interval \-s %packetsize %destination</PingV4Cmd> <PingV6Cmd>/bin/ping6 \-n \-w %deadline \-c %count \-i %interval \-s %packetsize %destination</PingV6Cmd> <SrcName>pinger.slac.stanford.edu</SrcName> <Version>2.0.1</Version> <dnsV4Cmd>/afs/slac/package/pinger/pinger2/share/pinger/dnsV4Cmd.pl %destination</dnsV4Cmd> <dnsV6Cmd>/usr/bin/dig \-t aaaa \+short %destination</dnsV6Cmd> <doRandomWait>false</doRandomWait> <modifiedTime>Tue Feb 9 17:17:31 2010</modifiedTime> <waitInterval>30</waitInterval>
...
[slaconly]pinger_startup.pl
This script , alleviates the need to pass multiple arguments to PingER2 everytime every time it needs to be run. It verifies that the pinger2.pl script exists, that pinger.xml is > 100Bytes, and that pinger2.pl is not still running. It has some default values, that make the cronjob and the whole running a clean process. It also has various options to assist in debugging etc.
With out Without this script a typical run would look like this:
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; |
...
dnsV4Cmd.pl
This Command utilises utilizes the Perl utility gethostbyname() to determine, the ip address of a host, given a hostname.
...