Recently I was troubleshooting a network where concerned Admin complained that they frequently lost connectivity with multiple local server’s and also sometimes with the Internet. Sometimes pings replies works okay but latency gets high or timeout / breaks occurs. So I decided to setup mrtg base ping graph to monitor ping latency. The custom made mrtg ping probe worked fine and can provide an overview on target ping / rtt and Downtime in a nice manner, its sample can be viewed at http://www.billing.onmypc.net/mrtg/ . . .



BUT . . . . . . . . . . . . . . . . . . .
I was thinking far ahead , I was thinking for much more advanced latency and quality graphs which can show ping latency / rtt / loss in much more detailed way. I recalled my memory from old days when I used to monitor my old network with variety of tools and scripts and suddenly a name popped in my mind ” SMOKEPING ” , yes this was the tool I was looking for.
SmokePing generates graphs that can reveal the quality (packet loss and latency variability) & reachability of your IP address from several distributed locations. SmokePing is a network latency monitor. It measures network latency to a configurable set of destinations on the network, and displays its findings in easy-to-read Web pages. It uses RRDtool as its logging and graphing back-end, making the system very efficient. The presentation of the data on the Web is done through a CGI with some AJAX capabilities for interactive graph exploration.
In this article I will show you howto install smokeping on FEDORA 10.
HOWTO INSTALL SMOKEPING on FEDORA 10
Installing Smokeping is relatively simple. Just issue this command as root.
1
| yum -y install smokeping |
NOTE: selinux is the Problem. By default its enabled in Fedora installation. Disable it by editing
1
| nano /etc/selinux/config |
1
| SELINUX=disable |
After installation completes, You can access it via
You will see something similar as shown in the following screenshot.

NOTE: If you get “Access Denied: You don’t have permission to access this Folder” error, edit the following line.
1
| nano /etc/httpd/conf.d/smokeping.conf |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <Directory "/usr/share/smokeping">order deny,allowallow from 127.0.0.1allow from all</Directory><Directory "/var/lib/smokeping">order deny,allowallow from 127.0.0.1allow from all</Directory>ScriptAlias /smokeping/sm.cgi /usr/share/smokeping/cgi/smokeping.cgiScriptAlias /smokeping/tr.cgi /usr/share/smokeping/cgi/tr.cgiAlias /smokeping/images /var/lib/smokeping/imagesAlias /smokeping /usr/share/smokeping/htdocs |
1
| service httpd restart |
Now It’s time to add your target in Smokeping for monitoring. The default location for the Smokeping config file is /etc/smokeping/config, Now just for example, we will edit this file.
1
| nano /etc/smokeping/config |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
| *** General ***owner = Syed Jahanzaibcontact = aacable@hotmail.commailhost = smtp.ptcl.comsendmail = /usr/sbin/sendmailimgcache = /var/lib/smokeping/imagesimgurl = /smokeping/imagesdatadir = /var/lib/smokeping/rrdpiddir = /var/run/smokepingsmokemail = /etc/smokeping/smokemailtmail = /etc/smokeping/tmailsyslogfacility = local0*** Alerts ***to = root@localhostfrom = root@localhost+somelosstype = losspattern = >0%,*12*,>0%,*12*,>0%comment = loss 3 times in a row*** Database ***step = 300pings = 20# consfn mrhb steps totalAVERAGE 0.5 1 1008AVERAGE 0.5 12 4320MIN 0.5 12 4320MAX 0.5 12 4320AVERAGE 0.5 144 720MAX 0.5 144 720MIN 0.5 144 720*** Presentation ***template = /etc/smokeping/basepage.html+ chartsmenu = Chartstitle = The most interesting destinations++ stddevsorter = StdDev(entries=>4)title = Top Standard Deviationmenu = Std Deviationformat = Standard Deviation %f++ maxsorter = Max(entries=>5)title = Top Max Roundtrip Timemenu = by Maxformat = Max Roundtrip Time %f seconds++ losssorter = Loss(entries=>5)title = Top Packet Lossmenu = Lossformat = Packets Lost %f++ mediansorter = Median(entries=>5)title = Top Median Roundtrip Timemenu = by Medianformat = Median RTT %f seconds+ overviewwidth = 600height = 50range = 10h+ detailwidth = 600height = 200unison_tolerance = 2"Last 3 Hours" 3h"Last 30 Hours" 30h"Last 10 Days" 10d"Last 400 Days" 400d*** Probes ***+ FPingbinary = /usr/sbin/fping*** Slaves ***secrets=/etc/smokeping/smokeping_secrets+boomerdisplay_name=boomercolor=0000ff+slave2display_name=anothercolor=00ff00*** Targets ***probe = FPingmenu = Toptitle = Network Latency Grapherremark = Welcome to the SmokePing website of <b>GLASSLINE (Pvt) Ltd.</b> <br> Here you will learn all about the latency of our network.<br><br><br><br><br> This page is maintained by Glassline. (Pvt) ltd . <br><br>Support Email: aacable@hotmail.com<br>Web: https://aacable.wordpress.com### YOU CAN CHANGE THE FOLLOWING ACCORDING TO YOUR NETWORK ###+ Pingmenu = WAN Connectivitytitle = WAS Side Network++ yahoomenu = yahootitle = yahoo ping reporthost = yahoo.com++ googlemenu = googletitle = Google ping reporthost = google.com### YOU CAN CHANGE FOLLOWING ACCORDING TO YOUR NETWORK ###+ Ping2menu = LAN Connectivitytitle = LAN Side Network++ Mikrotikmenu = Mikrotiktitle = Mikrotik PPP ping reporthost = 10.10.0.1++ Proxymenu = Proxytitle = Proxy Server ping reporthost = 10.10.0.2++ Billingmenu = Billingtitle = Radius billing Server ping reporthost = 10.10.0.2 |
1
| /etc/init.d/smokeping restart |
Now click on LAN connectivity to open graphs. You will see something similar as shown in the following screenshot.

Now, Click on WAN Connectivity
Now click on the Yahoo Ping Graph showing on Right to get more detailed graph report.
To get more detailed view, click on Last 3 hours graphs, It will open this graph in NAVIGATOR mode. Now here you can select any specific area to zoom to troubleshoot at exact which time the latency problems occurs. For example in the following screenshot you can see the blue dots which shows that ping timeout occurs at specific time.
PULL DATA FROM SPECIFIC TIME
A client complained that the internet worked very slow in the morning at 10:30am. So you can pull data from smokeping graph to validate the complain or to troubleshoot what exactly happened at 10:30am :)
There are so many interesting things you can do with SMOKE-PING.
For some more examples , please visit the author web site @
Take Care, n ALLAH HAFIZ
Regard’s
Syed Jahanzaib
aacable@hotmail.com
aacable@hotmail.com


Comment by Pinochio~:) — November 13, 2011 @ 8:26 AM
Comment by Oronti Adewale — November 22, 2011 @ 6:45 AM