Exercises

In this exercise you will install Smokeping and get it to monitor various devices in the class network.

Since most of the tasks in this exercise require you to be "root", the first thing you should do is to connect to your PC and start a root shell.

$ sudo -s
#

1. Install Smokeping

smokeping relies on sendmail but we can install both at the same time.

# apt-get install sendmail 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://pcN.ws.nsrc.org/smokeping/smokeping.cgi

(replace "pcN" with your own PC) to check that it is running.

2. Initial Configuration

# cd /etc/smokeping/config.d
# ls -l

-rwxr-xr-x 1 root root  578 2010-02-26 01:55 Alerts
-rwxr-xr-x 1 root root  237 2010-02-26 01:55 Database
-rwxr-xr-x 1 root root  413 2010-02-26 05:40 General
-rwxr-xr-x 1 root root  271 2010-02-26 01:55 pathnames
-rwxr-xr-x 1 root root  859 2010-02-26 01:55 Presentation
-rwxr-xr-x 1 root root  116 2010-02-26 01:55 Probes
-rwxr-xr-x 1 root root  155 2010-02-26 01:55 Slaves
-rwxr-xr-x 1 root root 8990 2010-02-26 06:30 Targets

The files that you'll need to change, at a minimum, are:

Now open the General file (note the first capital letter)

# editor General

Change the following lines:

owner    = NOC
contact  = sysadm@localhost
mailhost = localhost
cgiurl   = http://localhost/smokeping/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 stop
# service smokeping start

A quicker way to do this is:

# service smokeping restart

We'll use this for the rest of the exercises, or we'll just use the "reload" directive as this is all you need for Smokeping to see configuration file changes.

3. Configure monitoring of devices

The majority of your time and work configuring Smokeping will be done in the file /etc/smokeping/config.d/Targets.

For this class please do the following:

Use the default FPing probe to check:

You can use the classroom Network Diagram on the classroom wiki to figure out addresses for each item, etc.

Create some hierarchy to the Smokeping menu for your checks. For example, the Targets file is already partially preconfigured. To start we are going to add some entries to this file. Start with:

# cd /etc/smokeping/config.d
# editor Targets

You can take the section from *** Targets *** to the end of the LocalMachine and make it look something like this. Feel free to use your own "remark", "menu" text and titles. Note that we remove the commented lines #parents = owner:/Test/James location:/, and the "Alerts" line.

NOTE: We strongly recommend that you COPY and PASTE text from these exercises directly in to the Targets file. Typing all this by hand will take too long.

*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Smokeping Latency Grapher for Network Monitoring \
         and Management Workshop.

+Local

menu = Local Network Monitoring and Management
title = Local Network

++LocalMachine

menu = Local Machine
title = This host
host = localhost

Now, below the "localhost" we start with the configuration of items for our class. We can start simple and add just the first 4 PCs that are in Group 1 as well as an entry for our classroom NOC.

#
# ********* Classroom Servers **********
#

+Servers

menu = Servers
title = Network Management Servers

++noc

menu = noc
title = Workshop NOC
host = noc.ws.nsrc.org

#
# ******** Student Machines (VMs) ***********
#

+PCs

menu = Lab PCs
title = Virtual PCs Network Management

++pc1

menu = pc1
title = Virtual Machine 1
host = pc1.ws.nsrc.org


++pc2

menu = pc2
title = Virtual Machine 2
host = pc2.ws.nsrc.org


++pc3

menu = pc3
title = Virtual Machine 3
host = pc3.ws.nsrc.org


++pc4

menu = pc4
title = Virtual Machine 4
host = pc4.ws.nsrc.org

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://pcN.ws.nsrc.org/cgi-bin/smokeping.cgi

When you are ready you can edit the Targets file again and continue to add machines. At the bottom of the file you can add the next group of PCs:

++pc5

menu = pc5
title = Virtual Machine 5
host = pc5.ws.nsrc.org


++pc6

menu = pc6
title = Virtual Machine 6
host = pc6.ws.nsrc.org


++pc7

menu = pc7
title = Virtual Machine 7
host = pc7.ws.nsrc.org


++pc8

menu = pc8
title = Virtual Machine 8
host = pc8.ws.nsrc.org

Add as many PCs as you want, then Save and exit from the Targets file and verify that the changes you have made are working:

# service smokeping reload

You can continue to view the updated results of your changes on the Smokeping web page. It may take up to 5 minutes before graphs begin to appear.

http://pcN.ws.nsrc.org/cgi-bin/smokeping.cgi

4. Configure monitoring of routers and switches

Once you have configured as many PCs as you want to configure, then it's time to add in some entries for the classroom routers and switch(es).

# cd /etc/smokeping/config.d        (just to be sure :-))
# editor Targets

Go to the bottom of the file and add in some entries for routers and switches:

#
# ********** Classroom Backbone Switch *********
#

+Switches

menu = Switches
title = Switches Network Management

++sw

menu = sw
title = Backbone Switch
host = sw.ws.nsrc.org

#
# ********** Virtual Routers: Cisco 7200 images *********
#

+Routers

menu = Routers
title = Virtual and Physical Routers Network Management

++gw

menu = gw
title = Gateway Router
host = gw.ws.nsrc.org

++router1

menu = router1
title = Virtual Router 1
host = rtr1.ws.nsrc.org

++router2

menu = router2
title = Virtual Router 2
host = rtr2.ws.nsrc.org

++router3

menu = router3
title = Virtual Router 3
host = rtr3.ws.nsrc.org

If you wish you can continue and add in entries for routers 4 to 6, or up to 9 if there are that many in your class. When you are ready Save and Exit from the Targets file and verify your work:

# service smokeping reload

If you want you might consider adding the Wireless Access Point:

# editor Targets
#
# Classrom Wireless Access Point
#

++ap1

menu = ap1
title = Wireless Access Point 1
host = ap1.ws.nsrc.org

Save and Exit from the file and reload the Smokeping service:

# service smokeping reload