PingPartner

About: PingPartner is a program that allows server administrators to check on their machines' uptime as viewed from remote machines around the world. The program sends a simple "ping" to check to see if the server responds. It can use a FQDN (Fully Qualifed Domain Name) or IP address as the name of the machine to check.

The program saves the information and generates a web page, graphing the results. For an example, see http://pingpartner.com/64.72.228.17-hour.html

You can use this program to monitor your upstream connection, but for best results, you will partner with someone on a different Tier1 provider to check the availability of your servers on a different backbone. You might want to find a couple of different people on many different backbones.

For example, I wrote the program to monitor my upstream provider. My Tier1 is Teleglobe (by way of 2 intermediate Tier2's). I'd like to watch my availability to people on, say, Sprint, UUNET, and Savis. I'll try and find someone on those networks to run the program PingPartner, with my server names and I'll run PingPartner to check their server names (Hence the "Partner" part of the name). They don't have to be directly connected to the Tier1 (just like I'm not).

The idea is that, through co-operation, we can all get better info on how our servers are seen by people around the world. I want to check that pingpartner.com, www.pingpartner.com, ftp.pingpartner.com, mail.pingpartner.com or 205.210.140.30 are all visible to people everywhere. I could also check on router status or anything else that has an IP address or FQDN.

Requirements: The program is written in VisualBasic5 and is 82kB (when running in NT4 it takes 3.4MB of RAM). There is a VB5 config program that is 86kB, which is used to visually manage the config file, but you can hand edit it with a text editor instead. When running, the program uses a timer to check on what sites to ping every minute. At that point, each site is pinged, the result logged to a txt file (for each of the time intervals: hour, day...), calculations are made for statistics, and a web page is created. The more sites that are to be worked on, the bigger the load. I haven't done any major load testing yet, but it appears to run at a 3% load (P3/450 writing to a drive across the network) for 1 sec, with 10 sites checked every minute.

Tested on:
Windows 2KPro
Windows 2KServer
Windows NT4W w/sp6a

Windows NT4S w/sp6a
Windows 98 

Features: Can ping many sites, at varying intervals (minimum, 1 minute). Can output graphs for the past hour, day and week (month and year coming later). Output can be placed in any directory on the local network, for each site. The data for the charts never grows in size (there are txt files for each site for each time interval: hour, day,...).

Cost: Postcard-ware! If you like the program and find it useful, send me a postcard from your town. Dean Brown, 48 Devondale Ave, Toronto, ON, M2R 2E2, Canada 
I have many plans for the software and the site, and will charge for it at one point (with a low end version always for free).

Current Version
PingPartner 1.0.0 (full install) 2.29MB
Latest Config Program (fixes 2 bugs - May 23/02)

Sample config file
Sample config file with explanations

Running:
Run the config program first (or manually edit the file). Then run the main program. This will place an icon in the taskbar. You can right-click on the icon to Show the running program, edit the configuration or exit the program.

When looking for a partner:

  • List your Tier1 Backbone (you can use tracert from the command prompt to try and figure it out, or ask your upstream provider)
  • List the Tier1 provider(s) that you want
  • Your connection speed
  • Number of sites to ping
  • Your email contact
Don't forget: you should reciprocate by hosting the other user's sites.

Feature Request/Bugs/Comments: Email
How many people would be interested in a Perl or PHP version?

Known Bugs/features not implemented:
Bug: Occasionally in the data files for hour, there will be a large negative number. Any number < 0 is "no Response" so it doesn't affect the chart, but the number should be a -1, not a large negative number. This error causes the large negative numbers to be carried over into the day and week files too, also with no effect on the charts.

Feature n/i: charts/data collection for month and year not implemented yet

Feature n/i: multiple charts on the same page not implemented yet

Feature n/i: IP charts not implemented yet

Updates:
May 23/02: PingPartnerConfig: Fixed crash when running on Win2K, fixed error adding extra line in config file.

This last page updated: May 23/2002