Specifications

If a tree falls in the woods and no one is there to hear it,
does it make a sound? This the classic query designed to place
your mind into the Zen-like state known as the silent mind.
Whether or not you want to hear a tree fall, if you run a net-
work, you probably want to hear a server when it goes down.
Many organizations utilize the long-established Simple
Network Management Protocol (SNMP) as a way to monitor
their networks proactively and listen for things going down.
At a rudimentary level, SNMP requires only two items
to work: a management server and a managed device (or
devices). The management server pulls status and health infor-
mation at regular intervals from the managed devices and
stores the information in a table. Managed devices use local
SNMP agents to notify the management server when defined
behavior occurs (such as errors or “traps”), which are stored in
the same table on the server. The result is an accurate, real-
time reporting mechanism for outages. However, SNMP as a
protocol does not stipulate how the data in these tables is to
be presented and managed for the end user. That’s where a
promising new open-source network-monitoring software
called Zenoss (pronounced Zeen-ohss) comes in.
Available for most Linux distributions, Zenoss builds on the
basic operation of SNMP and uses a comprehensive interface
to manage even the largest and most diverse environment.
The Core version of Zenoss used in this article is freely avail-
able under the GPLv2. An Enterprise version also is available
with additional features and support. In this article, we install
Zenoss on a CentOS 5.1 system to observe its usefulness in a
network-monitoring role. From there, we create a simulated
multisystem server network using the following systems: a
Fedora-based Postfix e-mail server, an Ubuntu server running
Apache and a Windows server running File and Print services.
To conserve space, only the CentOS installation is discussed in
detail here. For the managed systems, only SNMP installation
and configuration are covered.
Building the Zenoss Server
Begin by selecting your hardware. Zenoss lacks specific hardware
requirements, but it relies heavily MySQL, so you can use MySQL
requirements as a rough guideline. I recommend using the
fastest processor available, 1GB of memory, fast enough hard
disks to provide acceptable MySQL performance and Gigabit
Ethernet for the network. I ran several test configurations, and
this configuration seemed adequate enough for a medium-
size network (100+ nodes/devices). To keep configuration
simple, all firewalls and SELinux instances were disabled in
the test environment. If you use firewalls in your environment,
open ports 161 (SNMP), 8080 (Zenoss Management Page) and
514 (if you integrate syslog with Zenoss).
Install CentOS 5.1 on the server using your own prefer-
ences. I used a bare install with no X Window System or
desktop manager. Assign a static IP address and any other
pertinent network information (DNS servers and so forth).
After the OS install is complete, install the following packages
using the yum command below:
yum install mysql mysql-server net-snmp net-snmp-utils gmp httpd
If the mysqld or the httpd service has not started after
yum installs it, start it and set it to run for your configured
runlevel. Next, download the latest Zenoss Core .rpm from
Sourceforge.net (2.1.3 at the time of this writing), and install
it using rpm from the command line. To start all the Zenoss-
related dæmons after the .rpm has been installed, type the
following at a command prompt:
service zenoss start
Launch a Web browser from any machine, and type the IP
address of the Zenoss server using port 8080 (for example,
http://192.168.142.6:8080). Log in to the site using the
default account admin with a password of zenoss. This brings
up the main dashboard. The dashboard is a compartmental-
ized view of the state of your managed devices. If you don’t
like the default display, you can arrange your dashboard
any way you want using the various drop-down lists on the
portlets (windows). I recommend setting the Production States
portlet to display Production, so we can see our test systems
after they are added.
Almost everything related to managed devices in Zenoss
revolves around classes. With classes, you can create an infi-
nite number of systems, processes or service classifications to
monitor. To begin adding devices, we need to set our SNMP
community strings at the top-level /Devices class. SNMP com-
munity strings are like passphrases used to authenticate traffic
between devices. If one device wants to communicate with
72 | august 2008 www.linuxjournal.com
INDEPTH
Zenoss and the Art of
Network Monitoring
If a server goes down, do you want to hear it? JERAMIAH BOWLING
Available for most Linux distributions,
Zenoss builds on the basic operation
of SNMP and uses a comprehensive
interface to manage even the largest
and most diverse environment.