ISP-Check v1.0 - By JD Durick (jdurick@mitre.org)
Inital Release - August 6th, 2003
Purpose/Overview:
The ISP-Check scripts were originally written to monitor my ISP's connectivity. Gatehouse networks which originates in Delaware is anything but reliable and since I am
spending $70 for service and 4 static ips, I feel it necessary to keep track of my uptime and notify them anytime it does go down.
The ISP-Check program uses 2 main perl scripts, isp-check.pl and isp-report.pl (dependant perl scripts listed below). These scripts will:
To view a running copy of ISP-CHECK, visit HERE
1. monitor your internet connection and check the connectivity of your ISP
2. Log all downtimes and write to a file
3. Calculate the percentage of downtime on a daily/monthly basis
4. Create a static web page featuring the results listed above
5. Calculates percentage of downtime per hour as part of the hourly breakdown statistics
6. Create archived yearly data which will show how much downtime you had in the year.
7. Graph the archived data via horizontal bars.
Current packages required:
1. Net::Ping - required for the pinging your gateway (or upstream router)
2. Getopt::Long - used for command line options
3. Time::HiRes - used for more granular time precision
4. Date::Calc - used to get the weekdays from a given date in time
5. GD::Graph::bars - used for plotting of bars for archived year data
Installation:
1. Unzip the file: isp-check.tar.gz (tar zxvf isp-check.tar.gz) - linux style.
2. OK, open up the isp-report.pl file and you will see this down about 20 lines in the perl code, make changes to the $SRC_DIR, $OUTPUT, $mainlog, and $servername variables.
# MAKE CONFIGURATION CHANGES HERE - All of these vars should be modified to meet the configuration of your system # SRC_DIR and OUTPUT are global vars and travel throughout the other functions #============================================================ $SRC_DIR="/usr/local/apache/htdocs/PING"; # location of where you will put the source code perl scripts $OUTPUT="/usr/local/apache/htdocs/PING/output"; # location of the .html files (where the html files will be viewed from) my $mainlog = "$OUTPUT/mainlog.txt"; # location and name of file that will be logged to by isp-check.pl my $servername = "denMail.labgeek.net"; # name of server (ie. webserver) #=============================================================