














|
ISP_Performance is a simple script that acquires ping response times from
your upstream services, which can include your firewall, cable modem and
ISP (as shown here).
ISP

Cable Modem

Firewall

Prerequisites
- Installed and operational web server - tested only with IIS on WinXP.
There is no reason you can't make this work with other configurations, as it
is basic technology.
Download the Needed files
- ISP_Performance.zip contains the script to capture the metrics.
- Perl is a
3rd party program language/compiler. I use the pre-built from
Active-State.
- MRTG
is a 3rd party tool that ISP_Performance uses. I recommend you get the
pre-built version for your OS. I use mrtg-2.11.1.zip for my XP
installation.
Installation and Configuration
- I assume you can get Perl and MRTG installed successfully, and more
help for that is available on their sites, not mine. I installed my
Perl to c:\Tools\Perl, and MRTG to c:\Tools\MRTG, which you'll see
later. If you installed yours elsewhere, you'll need to account for
that.
- Unzip ISP_Performance.zip and copy the ISP_Performance.pl and
ISP_Performance.cfg to a folder of your choice. In my case, it is
c:\Tools\ISP_Performance.
- Edit ISP_Performance.cfg. Here is a copy of my file, where I've
highlighted the items you need to change for your setup.
######################################################################
# Description: ISPPerformance
# Contact: Dave Smart (Smartware@Smart-Family.net)
# System Name: ISP Performance
# Location: My house
#.....................................................................
#
# Run with > mrtg ISP_Performance.cfg
WorkDir: <PATH TO YOUR
WEBSERVER>\ISP_Performance\Monitor
# Make it run all the time
RunAsDaemon: yes
Refresh: 300
# Common settings
YLegend[_]: mSec
ShortLegend[_]: mSec
Extension[_]: htm
MaxBytes[_]: 15000
#kilo[_]: 1000
Options[_]: gauge, unknaszero, growright, avgpeak, pngdate
WithPeak[_]: wmy
Colours[_]: GREEN#00C000,BLUE#0000ff,RED#FF0000,VIOLET#ff00ff
Legend1[_]: mSec
Legend2[_]: mSec
Legend3[_]: mSec
Legend4[_]: mSec
LegendI[_]: mSec
LegendO[_]: mSec
XSize[_]: 600
YSize[_]: 240
Background[_]: #E0E0E0
PageFoot[_]: For more information, contact <a
href="mailto:smartware@Smart-Family.net">
Dave Smart</a>.
PageTop[_]: <H1>Firewall Latency</H1>
This shows ping response time to your ISP and can be an indication of
quality of service
and additionally used as an uptime report.
Target[firewall]: `ISP_Performance.pl 192.168.1.1`;
Title[firewall]: Round Trip time to Firewall
Target[Cable]: `ISP_Performance.pl 192.168.100.1`;
Title[Cable]: Round Trip time to Cable Modem
Target[isp]: `ISP_Performance.pl www.mchsi.com`;
Title[isp]: Round Trip time to www.mchsi.com
As you see, there are only a very few changes to make. In my
case, I am monitoring 3 systems - my firewall, (which is then
connected to) my cable modem, (which is then connected to) my ISP. I
want to make sure I can isolate any problem to inside or outside the
house.
Testing and Deployment
- This is where it gets pretty easy. Open a command shell in the
folder c:\Tools\ISP_Performance and ping your ISP. The last line has
the metrics of interest.
C:\Tools\ISP_Performance>ping -n 3 -w 1000 www.mchsi.com
Pinging www.mchsi.com [66.201.42.86] with 32 bytes of data:
Reply from 66.201.42.86: bytes=32 time=68ms TTL=244
Reply from 66.201.42.86: bytes=32 time=67ms TTL=244
Request timed out.
Ping statistics for 66.201.42.86:
Packets: Sent = 3, Received = 2, Lost = 1 (33% loss),
Approximate round trip times in milli-seconds:
Minimum = 67ms, Maximum = 68ms, Average = 67ms
- Now, try the same thing with ISP_Performance.pl
C:\Tools\ISP_Performance>ISP_Performance.pl www.mchsi.com
67
69
a while
www.mchsi.com
67
69
a while
www.mchsi.com
- Now, you can run it with MRTG. You'll see on the last line that I
stopped with with ctrl-C. Note also that it pinged each system, my
firewall, my cable modem, and my ISP.
C:\Tools\ISP_Performance>c:\Tools\MRTG\bin\mrtg.pl ISP_Performance.cfg
Daemonizing MRTG ...
Do Not close this window. Or MRTG will die
67
72
a while
192.168.1.1
67
78
a while
192.168.100.1
66
85
a while
www.mchsi.com
^C
- At this stage, you can view the files it produced, which are in your
web server in the "WorkDir" as configured within the
configuration file. Also, if you didn't ctrl-c it, you have a shell
laying on your desktop that can be annoying and it will only run when
you're logged in. I used a couple of tools available from Microsoft's
resource kit for XP that allowed my to install this as a service, so
it will run with or without any active logon. This is quite important
if you are serious about your monitoring. With this configuration, I
do a ">net start ISP_Performance" and it loads and runs
in the background, for as long as the computer is powered. This keeps
the metrics up to date.
License Agreement
This program is Webware. You may install it, test it for a reasonable
period of time, and even modify it, but if you elect to keep it in use,
whether in original form or in a modified form, you are then obligated to pay
on a scale based on the value you receive from it. You are not allowed to
redistribute any modified copy.
As with other license agreement, this program is supplied as is, and is not
guaranteed free from defects. You assume all risk for problems you may incur
as a result of the use of this program.
|