1) smokewhat?
Smokeping(link) is a nice latency measurement tool, unfortunately it WAS only available for linux/unix…but after the jump, you’ll find how to make it work under Microsoft Windows!
SmokePing is a deluxe latency measurement tool. It can measure, store and display latency, latency distribution and packet loss. SmokePing uses RRDtool to maintain a longterm data-store and to draw pretty graphs, giving up to the minute information on the state of each network connection.
2) What you need
- Perl (choose Perl 5.8.xxx MSI package for Windows)Yeah Perl is cool and you can have a lot of fun using it
- RRDs module for PerlThis version works for sure, but feel free to download the latest
- fping for windows (thanks to Michael Parson)
- SmokepingThis version works for sure, but feel free to download the latest
- a text editorThere’s a lot of text editors out there… personally, I like pspad
- a web serverFeel free to download, install, configure apache with cgi yourself, or use WAMP (the one I use), or whatever bundled apache/cgi/php/mysql version you want
3) What you do not need
- Moneyall listed softwares are (at least) freeware
- A (linux/unix)-running computeryeah dude, windows rulez da w0rld
4) “Installation”
- Install Activestate Perl- Install RRDtool for windows (unzip, and launch install.cmd)- Unzip smokeping to C:\smokeping-2.0.8- Unzip fping for windows (make sure cygwin1.dll is in the same folder) to C:\smokeping-2.0.8\fping- Install WAMP to C:\wamp
5) Modifications
a) rename- C:\smokeping-2.0.8\bin\smokeping.dist into smokeping.pl- C:\smokeping-2.0.8\bin\tSmoke.dist into tSmoke.pl
b) edit- C:\smokeping- 2.0.8\bin\smokeping.pladd (after line 5): use lib qw(C:\smokeping-2.0.8\lib); change (line 9): Smokeping::main(”etc/config.dist”); into Smokeping::main(”C:/smokeping-2.0.8/etc/config.dist”);
- C:\smokeping-2.0.8\bin\tSmoke.plchange (line 63): my $cfgfile = “etc/config.dist”; into my $cfgfile = “C:\smokeping-2.0.8\etc\config.dist”;
- C:\smokeping- 2.0.8\lib\Smokeping.pmchange (line 14): use Sys::Syslog qw(:DEFAULT setlogsock); into #use Sys::Syslog qw(:DEFAULT setlogsock);change (line 21): $ENV{LC_NUMERIC}=’C'; into #$ENV{LC_NUMERIC}=’C'; change (line 22): POSIX::setlocale(&POSIX::LC_NUMERIC,”"); into #POSIX::setlocale(&POSIX::LC_NUMERIC,”");change (line 2984): daemonize_me $cfg->{General}{piddir}.”/smokeping.pid”; into #daemonize_me $cfg->{General}{piddir}.”/smokeping.pid”;
- C:\wamp\Apache2\conf\httpd.confchange (line 515): ScriptAlias /cgi-bin/ “C:/wamp/Apache2/cgi-bin/” into ScriptAlias /cgi-bin/ “c:/wamp/cgi/”change (line 521):
c) move and rename- Create folder c:\wamp\cgi- C:\smokeping-2.0.8\htdocs\smokeping.cgi.dist to c:\wamp\cgi\smokeping.pl
d) edit- c:\wamp\cgi\smokeping.plchange (line 1): #!/usr/sepp/bin/speedy -w into #!C:/Perl/bin/perl.exe -wchange (line 5): use lib qw(/home/oetiker/data/projects/AADJ-smokeping/dist/lib); into use lib qw(C:\smokeping-2.0.8\lib); change (line 10): Smokeping::cgi(”/home/oetiker/data/projects/AADJ-smokeping/dist/etc/config”); into Smokeping::cgi(”C:/smokeping-2.0.8/etc/config.dist”);
6) Configuration
- Create folders:C:\wamp\www\simgC:\smokeping- 2.0.8\var
- edit configuration file ( C:\smokeping- 2.0.8\etc\config.dist ) no line number here use search function instead :p
owner =contact =mailhost =#sendmail = /usr/lib/sendmail < == Comment this lineimgcache = C:/wamp/www/simgimgurl = ../simgdatadir = \smokeping-2.0.8/var # designate implicitly c:\smokeping-2.0.8\varpiddir = C:/smokeping-2.0.8/varcgiurl = http://127.0.0.1/cgi-bin/smokeping.plsmokemail = C:/smokeping-2.0.8/etc/smokemail.disttmail = C:/smokeping-2.0.8/etc/tmail.dist
# syslogfacility = local0 < = Comment this line!!!!
*** Alerts ***to =from =
template = C:/smokeping-2.0.8/etc/basepage.html.dist
+ FPingbinary = C:/smokeping-2.0.8/fping/fping.exe
title =remark =
# google is for demonstrational purpose only; please refer to smokeping help to set your own targets
menu = Googletitle =Google Connectivityalerts = bigloss,someloss,startlosshost = google.fr
7) Test it!
- open a cmd.exe window, and type C:\smokeping-2.0.8\bin\smokeping.plOk, no weird error messages (if not, please check 5-a, 5-b and 6 again)
- let it run for 10-15 min and try to open http://127.0.0.1/cgi-bin/smokeping.plOk, no error messages again (if not: for cgi error check 5-b, 5-c, 5-d and 6 again and 5-d and 6 for RRD errors)(note the 2 buggy images bottom left, we will fix this later)
Now close the cmd.exe windows (a little bit rebel)
8) Autostart under NT AUTHORITY\SYSTEM
- open Control Panel > Scheduled tasks and then click add scheduled tasksince I’m french, my Windows version is french tooadd scheduled task
Next
C:\smokeping-2.0.8\bin\smokeping.pl
When my computer starts
system
After that, click “Open advanced properties for this task when i click finish”
Check that “run as” is “NT AUTHORITY\SYSTEM”
Uncheck everything in parameters, and click OK
right click on the task, and Start, check if it doesn’t stop immediatly.
9) The two buggy png pics
Download them, and overwrite those in C:\wamp\www\simg
10) And you’re done
I’m not a native English speaker, so if you find some orthographical or grammatical mistakes, please report it!