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. In this lab am going to show to configure smokeping to monitor latency for your network. Below are steps;
i. Prerequisite
This installation will require web service to be installed, for me am going to use Apache,but also it will need mail service for sending the email am going to use sendmail, run the following command to install web and mail service
$ sudo apt-get update
$ sudo apt-get install apache2
$ sudo apt-get install sendmail
ii. Install Smokeping
$ sudo -s
#
# apt-get install smokeping
For Ubuntu 14.04: you need to install a symlink to the apache2 config
# ln -s /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf
# a2enconf smokeping
Also, the CGI module needs to be enabled in Apache:
# a2enmod cgi
Finally, reload the Apache configuration:
# service apache2 reload
Then point your web browser at
http://X.X.X.X/smokeping/smokeping.cgi
where X.X.X.X is your server IP
iii. Initial Configuration
# cd /etc/smokeping/config.d
# ls -l
Output:
total 40K
drwxr-xr-x 2 root root 4.0K Oct 1 13:12 .
drwxr-xr-x 3 root root 4.0K Oct 1 13:12 ..
-rw-r--r-- 1 root root 177 Jan 28 2014 Alerts
-rw-r--r-- 1 root root 237 Jan 28 2014 Database
-rw-r--r-- 1 root root 489 Jan 28 2014 General
-rw-r--r-- 1 root root 225 Jan 28 2014 pathnames
-rw-r--r-- 1 root root 876 Jan 28 2014 Presentation
-rw-r--r-- 1 root root 50 Jan 28 2014 Probes
-rw-r--r-- 1 root root 147 Jan 28 2014 Slaves
-rw-r--r-- 1 root root 380 Jan 28 2014 Targets
The files that you'll need to change, at a minimum, are:
-Alerts
-General
-Probes
-Targets
a. Now open the General file with your favoirite editor (note the first capital letter)
# vim General
Change the following lines;
owner = NOC
contact = sysadmin@localhost
mailhost = localhost
cgiurl = http://localhost/smokeping.cgi
# specify this to get syslog logging
syslogfacility = local5
Save the file and exit. Now let's restart the Smokeping service to verify that no mistakes have been made before going any further:
# service smokeping restart
b. Now open the Alerts file (note the first capital letter)
# vi Alerts
Change the following lines:
to = root@localhost
from = smokeping-alert@localhost
Save the file and exit. Restart Smokeping:
# service smokeping reload
Note: When you do some changes there is not need of restarting smokeping, just reload it for it to see configuration.
iv. Configuring monitoring of devices
For device configuration, most of configuration is done on
/etc/smokeping/config.d/Targets file.
As an example am going to configure some few devices where am going to have two groups Local devices and Public Servers,
# vi /etc/smokeping/config.d/Targets
Add the following to creates two groups:
+ LocalDevices
menu = LocalDevices
title = Local Network Devices
+ PublicServers
menu = PublicServers
title = PublicServers
Then add devices on those two groups :
+ LocalDevices
menu = LocalDevices
title = Local Network Devices
++MyGateway
menu = Gateway
title = Gateway
host = 192.168.0.1
++PrintServer
menu = PServer
title = PServer
host = 192.168.0.41
+ PublicServers
menu = PublicServers
title = PublicServers
++Google
menu = Google
title = Google
host = google.com
++Yahoo
menu = Yahoo
title = Yahoo
host = yahoo.com
++Facebook
menu = Facebook
title = Facebook
host = facebook.com
Finally the file will look like below:
*** Targets ***
probe = FPing
menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of JARASYOLA Company. \
Here you will learn all about the latency of our network.
+ Local
menu = Local
title = Local Network
#parents = owner:/Test/James location:/
#************************
# Local device monitoring
#************************
++ LocalMachine
menu = Local Machine
title = NOCServer
host = localhost
#alerts = someloss
+ LocalDevices
menu = LocalDevices
title = Local Network Devices
++MyGateway
menu = Gateway
title = Gateway
host = 192.168.0.1
++PrintServer
menu = PServer
title = PServer
host = 192.168.0.41
#**************************
#Public Server Monitoring
#**************************
+ PublicServers
menu = PublicServers
title = PublicServers
++Google
menu = Google
title = Google
host = google.com
++Yahoo
menu = Yahoo
title = Yahoo
host = yahoo.com
++Facebook
menu = Facebook
title = Facebook
host = facebook.com
OK. Let's see if we can get Smokeping to stop and start with the changes we have made, so far. Save and exit from the Targets file. Now try doing:
# service smokeping reload
If you see error messages, then read them closely and try to correct the problem in the Targets file. In addition, Smokeping is now sending log message to the file /var/log/syslog. You can view what Smokeping is saying by typing:
# tail /var/log/syslog
If you want to see all smokeping related messages in the file /var/log/syslog you can do this:
# grep smokeping /var/log/syslog
If there are no errors you can view the results of your changes by going to:
http://X.X.X.X/smokeping/smokeping.cgi
where X.X.X.X is your server IP
Your graph will look good as below;
From there you can add more devices and monitor their latency, i will explain more advanced features of smokeping on part two of this lab.
Happy monitoring.!!!