Zenoss Core Network and System Monitoring

  Zenoss Core Network and System Monitoring

A step-by-step guide to configuring, using, and adapting

the free open-source network monitoring system Michael Badger BIRMINGHAM - MUMBAI

  Zenoss Core Network and System Monitoring

  Copyright © 2008 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: June 2008 Production Reference: 1060608 Published by Packt Publishing Ltd.

  32 Lincoln Road Olton Birmingham, B27 6PA, UK.

  ISBN 978-1-847194-28-2

  www.packtpub.com

  Cover Image by Nilesh R. Mohite ( nilpreet2000@yahoo.co.in )

  

Credits

Author Project Coordinator

  Michael Badger Zenab Kapasi Reviewers Indexer

  Mark Turner Monica Ajmera Matt Ray Mark Hinkle Proofreader Erik Dahl Camille Guy

  

Acquisition Editor Production Coordinator

Bansari Barot Shantanu Zagade

  Technical Editor Cover Work Usha Iyer Shantanu Zagade

  Editorial Team Leader Akshara Aware

  Project Manager Abhijeet Deobhakta

  Foreword

  As the world becomes more connected, the complexity of information technology is expanding. Information workers rely on an expanding number of technologies to collaborate: email, instant messaging, web forums, and wikis. Organizations that at one time relied solely on paper are becoming more dependent on information systems. In addition there is an increase in network-enabled devices including security systems, building environmental controls, power meters, and more. IT administrative staffers are responsible for a growing number of services and the IT fabric used by organizations is continuing to become more intricate.

  The way we develop technology is also changing. Highly skilled programmers once wrote their code secretly behind closed doors. This is the old way of doing things Today millions of people develop, distribute, and use open-source software that is produced collaboratively over the Internet. The new model thrives on user input and collaboration. It enables the users of software to take control and become produces of technology the barrier for participation has been lowered.

  The trends of open source software use and a growing complexity in information technology have lead to the perfect storm for the adoption of open source systems management. It's no longer good enough to have tools that are purpose-built. It's just as important to have management tools that are easy to deploy, easy to use, and easy to integrate with existing systems. This presents an opportunity for system and network administrators to deploy open source systems management tools that can be adapted to an ever-changing environment. Zenoss Core was developed to be both adaptable and scalable yet easy enough for even the smallest organizations to use. Released under the GNU Public License (version 2.0) Zenoss has been downloaded over 500,000 times and used by thousands of IT professionals every day to monitor and manage IT infrastructure. The Zenoss community that supports and contributes to Zenoss has grown to over 33,000 members who consistently help improve and expand Zenoss' capabilities.

  The open-source development and distribution model is the key factor that allows users of the software to have full access, not just to run the program, but also to modify and redistribute it. This freedom is one reason that Zenoss' popularity has risen so quickly. Zenoss Core presents a unique opportunity for systems management professionals, as it is enterprise-grade software but also free and open source.

  In true open-source fashion, this book was not written by Zenoss project members or Zenoss Inc. employees. It was authored by one of our community members who was passionate about our software and took it upon himself to share his knowledge. We are very proud that our software generates that kind of enthusiasm and hope that our efforts and the efforts of our community of users are evident as you use Zenoss Core.

  M

  ark R. Hinkle VP of Community Zenoss Inc.

  http://community.zenoss.com

  About the Author Michael Badger is a technical writer with a BS in Technical and Professional

  Communication from the Pennsylvania College of Technology/Penn State. He has been helping users understand, troubleshoot, and use technology for the better part of 15 years. In the 1990's, he rose through the ranks at the industry leading internet service provider, MindSpring, to manage a technical support call center in Dallas, TX. He later found himself supporting and writing about Win4Lin, a Windows virtualization solution for Linux. Today, he prefers to fill a generalist's role with a focus on automated web application testing and writing—always looking to learn the next cool application or technology. For fun, he prefers to be outside in the wilds of Central Pennsylvania fishing, hiking, and hunting.

  Acknowledgement

  I'd like to thank Mark Hinkle for connecting me with Packt Publishing and helping me get this book started. You believe in my writing and my work ethic, and for that, I can only say thank you. I am honored to call you my friend. Thank you, Zenoss, Inc., for providing me with support in the way of training and resources. Chet Luther, your superb training and support accelerated my Zenoss learning curve dramatically. Thank you, Drew Bray, for providing some documentation to help me get started in my research.

  Bill Karpovich and Erik Dahl, I enjoyed our conversations. Of course, without Erik I wouldn't have a software application to write about. Thank you. I owe a special thank you to my primary reviewers, Mark Turner and Kells Kearney. I appreciate every last comment you provided to me, and have no doubt that your work has improved the quality of this book. Mark, it has been a pleasure to work with you again, and I hope that we can collaborate on future projects. Kells, thank you for accepting my invitation to review, and I look forward to working with you in the future. I'd like to thank my writing mentor, Charles Kemnitz, for preparing me to write my first book. Your guidance and disciplined advice gave me the confidence to know that once I started writing, I would finish. Christie, my dear wife, I owe you so much. Perhaps there were better times to write a book, but now is my opportunity. You encouraged me to take it. Now we can pause to take an inventory of our accomplishments: We're settled in a new house, we finished the baby's room, Cameron was born, and I wrote a book. I'd say that was a productive six months.

  About the Reviewer Mark Turner has worked with open source since 1994 in IT management, sales

  engineering, and client services roles. His focus has been on Linux, asterisk, OpenLDAP, and network management solutions. His last role was with Zenoss as a client services engineer where he provided consulting, support, and training for Zenoss customers.

  Table of Contents

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  Table of Contents

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

[ ]

  Table of Contents [ ]

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

Chapter 7: Event Management

  Table of Contents [ ]

  

  

  

  

  

  

  

  

  

Chapter 8: System Reports

  

  

  

  

  

  

  

  

  

  Table of Contents

  

  

  

  

  

Chapter 9:

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

[ ]

  Table of Contents

  

  

  

  

Chapter 11: Technical Support 237 Troubleshoot Zenoss

  

  

  

  

  

  

  

  

  

  

  

[ ]

  Preface

  Regardless of the size of your organization, information technology (IT) plays an increasingly important role in day-to-day business, which implies we have incentives to manage the servers, routers, workstations, printers, and other systems attached to our networks. Zenoss Core Network and System Monitoring: A Step-by-Step Guide for provides a narrowly focused guide that helps users set up an environment

  Beginners

  to manage their IT assets regardless of systems administration background or lack thereof. We use step-by-step examples with ample screen captures to demonstrate Zenoss Core's capabilities that you can easily apply to your environment. The book keeps the emphasis on using Zenoss Core through its web interface. Advanced users will be able to identify ways in which they can customize the system to do more, while less advanced users will appreciate the ease of use Zenoss provides. If you work through each chapter in sequence, you will start with installation and finish with monitoring solution that can be deployed on your network. Each chapter builds on the knowledge gained from the previous chapter. However, each chapter can stand on its own, allowing you to pick and choose the features you want to explore.

  What This Book Covers

  Introduction: Provides an overview of Zenoss Core's network and

  Chapter 1— systems management capabilities. System Architecture: Discusses the underlying components and how they Chapter 2— fit together to form Zenoss Core.

Chapter 3— Installation and Setup: Details step-by-step instructions for each of the three

  installation methods—As a virtual appliance, from a binary installer, or compiled from source. Information on how to prepare servers to be monitored is also covered.

  Preface

  Chapter 4— Zenoss Dashboard: Introduces the web interface's navigation and

  organization properties. The dashboard holds the key to the rest of the book. From Chapter 4 onwards, the emphasis is on using the dashboard.

  Chapter 5— Device Management: Walks through the process of discovering and

  modeling devices to build an inventory of the network. In Zenoss, everything is viewed as a device, and without devices, we have nothing to monitor.

  Chapter 6— Status and Performance Monitors: Describes how to set up monitoring

  so that we know the operational status of our devices and components, such as file systems, interfaces, and processes.

  Event Management: Provides an in-depth review of how Zenoss Core

  Chapter 7— generates events and how we can manage them from the Event Console. System Reports: Takes us on a tour of Zenoss Core's included reporting Chapter 8—

  features. The reports aggregate system-wide data to provide real-time and historical status views about devices, events, and performance.

  Chapter 9— Settings and Administration: Documents how to manage users, define

  alerting rules, and customize event views. Includes information about general Zenoss Core administration, including backups and updates.

  

Chapter 10— Extend Zenoss: Extend Zenoss Core with ZenPacks, Nagios plugins, and

command line utilities. Chapter 11— Technical Support: The place to start when things go wrong. Outlines

  the vibrant community support resources and provides a synopsis of how to troubleshoot Zenoss Core.

  Event Attributes: A table of available event fields that are used to

  Appendix A— describe and process events.

  TALES and Device Attributes: Provides a list of the device and

  Appendix B—

  event attributes available to the Templating Attribute Language Expression Syntax (TALES).

  What You Need for This Book Hardware

  Actual server specifications may very depending on the amount and frequency of the data you collect. Zenoss Inc. recommends the following hardware specifications for a production monitoring server:

  

[ ]

  Preface [ ]

  • ° ° °

  Network with up to 250 devices

  4 GB RAM Core 2 Duo E6300 1.86/1066 RTL

  75 GB disk storage Network with more than 250 devices

  • ° ° °

  8 GB RAM

  XEON 5120 DC 1.86/1066/4MB Four 75 GB drives in two RAID-1 pairs The following table shows the available installation options.

  Installation Type Platform Virtual Appliance Windows Linux Binary Installer Red Hat Enterprise Linux 5 Fedora Core 6

  SUSE Source Ubuntu FreeBSD Solaris 10 Mac 0S X Other Linux environments

  Virtual appliance users do not need to install any dependencies because they are included in the image. For all other installations, you need to install the following software packages prior to installing Zenoss:

  MySQL 5.0.22 or higher MySQL development environment Python 2.3.5 or 2.4 Python development environment

  If you plan to build a Zenoss installation from source code, you need to install the following: SWIG Autoconf GNU build environment We also need SNMP.

  Preface Who Is This Book For

  This book is for anyone who would like to proactively monitor their network resource, including Windows and Linux systems administrators. Readers should have a basic knowledge of networking concepts and be able to administer the systems they plan to monitor. Some Linux knowledge is helpful but not required. This book does not assume any existing system and network monitoring experience.

  Conventions

  In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning. Code words in text are shown as follows: “We can include other contexts through the

  include

  use of the directive.' A block of code will be set as follows:

  #Setup Zenoss environment export ZENHOME=/usr/local/zenoss export PYTHONPATH=$ZENHOME/lib/python export PATH=$ZENHOME/bin:$PATH

  Any command-line input and output is written as follows:

  zentestcommand --device=Fox –datasource=checkCpu

New terms and important words are introduced in a bold-type font. Words that you

  see on the screen, in menus or dialog boxes for example, appear in our text like this: “clicking the Next button moves you to the next screen'.

  Important notes appear in a box like this.

  Tips and tricks appear like this.

  

[ ]

  Preface Reader Feedback

  Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of. To send us general feedback, simply drop an email to feedback@packtpub.com , making sure to mention the book title in the subject of your message.

  If there is a book that you need and would like to see us publish, please send

  www.packtpub.com

  us a note in the SUGGEST A TITLE form on or email suggest@packtpub.com . If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors .

  Customer Support

  Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

  Downloading the Example Code for the Book

  Visit http://www.packtpub.com/files/code/4282_Code.zip to directly download the example code. The downloadable files contain instructions on how to use them.

  Errata

  Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this, you can save other readers from frustration, and help to improve subsequent versions of

  http://www.packtpub.

  this book. If you find any errata, report them by visiting

  com/support , selecting your book, clicking on the let us know link, and entering

  the details of your errata. Once your errata are verified, your submission will be accepted and the errata are added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support .

  

[ ]

  Preface Questions

  You can contact us at questions@packtpub.com if you are having a problem with some aspect of the book, and we will do our best to address it.

  

[ ]

  Introduction

  If you have ever arrived at work to answer voice mails and emails about a down web server, print server, or mail server, then you must be familiar with the customer-driven monitoring solution. It's cheap to implement but unreliable, and sometimes the monitor gets an attitude and for good reason. Our customers should not bear the responsibility of monitoring our networks for problems. Unfortunately, commercial monitoring tools lie beyond the budget of many organizations, and the available open-source tools require several packages to be "glued" together by users to get a complete solution.

  Zenoss Core replaces prohibitive costs and incomplete solutions with a capable, feature-rich network and systems monitoring package.

  What is Zenoss?

  Zenoss Core challenges the systems-monitoring landscape with an open-source enterprise management solution that provides a single, web-based point of access to configure, manage, monitor, and report on our IT assets. We get a "single pane of glass" view of our IT assets including routers, servers, and environment. With Zenoss, the question changes from, "Should I monitor my IT resources?" to "How can I afford not to monitor my network?"

  Introduction

  Zenoss Core is a web-based application which installs to a central server on the network and uses the Zope application server. It is written in Python. It's a Linux-based application, but we do not need to be Linux administrators to install and use Zenoss Core. Zenoss Inc. releases a virtual appliance that requires no Linux knowledge or setup and enables Mac, Windows, and Linux users to install Zenoss Core inside VMware Player or VMware Server.

  The Zenoss Core native Linux installers continue to improve and support a broader range of distributions, which means the Linux skills required to install Zenoss Core natively continue to decrease. Starting with the Zenoss Core 2.2 release, we will have the option of using point and click installers built on BitRock installers; but don't worry, we can still install from source if we so choose. Chapter 3 outlines several installation options.

  Administrators access Zenoss Core via a web interface that allows us to do:

  • Device Management •

  Availability and Performance Monitoring

  • Event Management •

  System Reports Generation

  • User and Alert Management We can do all this from a web portal, which we will look at first.

  Web Portal

  The web portal is the face of the Zenoss system and is the place where we spend most of our time. It's an AJAX enabled interface that provides a single access point to the monitoring system and requires no operating-system-specific knowledge to use. The web interface features drag-and-drop dashboard portlets that display a customized view of our network's health at any given time. The following screen capture shows the web portal.

  

[ ]

Chapter 1 Device Management A t the heart of the device management, Zenoss places a configuration management

  database (CMDB), which stores a model of the IT environment and its change history. Zenoss supports adding devices to the CMDB one at a time or by auto-discovering active devices by walking the routing tables. Devices are then modeled via simple network management protocol (SNMP), SSH, or port scans.

  

[ ]

  Introduction Zenoss allows us to organize devices by user-defined locations, groups, and systems.

  One of the Zenoss's most powerful organizational concepts is classes, which allow us to define monitoring characteristics based on a hierarchical classification of devices. The following screen capture provides a look at a device status page.

  Availability and Performance Monitors

  By using ICMP and SNMP monitoring, Zenoss reports on the availability of the following:

  • Network devices
  • TCP/IP services and ports

  

[ ]

  • URL availability
  • Windows services and processes
  • Linux/UNIX processes

  Zenoss monitors are Level-3 network topology aware, which reduces the amount of alert chatter by creating an event about the problem device only and not about the devices that depend on the down device. Zenoss Core 2.1 introduces a Flash-based map of the network topology that displays a view of the network on a single page, which can be seen in the following screen capture.

  

[ ]

  Introduction

  Zenoss integrates Google Maps to provide a high level geographic status of the user-defined network locations at the city, state/province, or country level. The following screen capture shows a view of the Google Maps integration.

  [ ]

Chapter 1 Performance monitors collect time series data and provide us with a graphical

  analysis of the following components:

  • File system statistics
  • CPU and memory usage
  • JMX monitoring for J2EE servers
  • Nagios and Cacti plug-in support If a monitored device crosses a defined threshold, Zenoss generates an event.

  Event Management

  Zenoss monitors a variety of sources for signs of trouble, including syslogs, availability and performance monitors, SNMP traps, and Windows event logs. Core features of the event management system include:

  • Custom events
  • Automatic prioritization
  • Event deduplication
  • Up/down event correlation

  Zenoss processes events based on a customizable set of rules. In response to events, Zenoss can send email or pager alerts, run a script, or do nothing. We can configure how Zenoss responds to an event by defining alerting rules for users and groups.

  System Reports

  Zenoss packages a set of standard reports that allow us to view what is happening right now, as well as what has happened. The reports integrate with the device management, performance monitors, events and user functionalities of Zenoss. Advanced users can create custom reports as needed.

  Zenoss Inc.

  Zenoss Core is backed by the commercial company, Zenoss Inc., which was co-founded by Erik Dahl and Bill Karpovich in 2006. Prior to founding Zenoss Inc., Dahl began development of Zenoss in 2002 to address a need he saw in the enterprise-systems monitoring market. He did this by setting out to develop an affordable, functional, and easy to use solution for organizations of all sizes.

  

[ ]

  Introduction

  In addition to sponsoring the development of Zenoss Core, Zenoss Inc. provides consulting, training, paid support, and an enterprise edition of Zenoss. Zenoss Enterprise extends the functionality of Zenoss Core by offering an extended report library, synthetic web transactions, certified monitors (ZenPacks), and a global dashboard for multiple Zenoss installations. Today, Zenoss Inc. makes systems and network monitoring available to everyone under the GPL v2 license.

  Summary

  Now that we have an overview of Zenoss Core's network and systems management capabilities, we will examine the technical structure. Chapter 2 discusses the system architecture of Zenoss Core and introduces the major components that make the application work.

  

[ ] System Architecture

  Zenoss blends innovative development with several open-source software projects to create a robust network and systems management solution. Before we jump into installation, we can pause for a moment to take a peek under the hood and see what makes Zenoss work. Reviewing the system architecture now provides us with an understanding that can help troubleshoot problems that may arise later. Zenoss provides everything that we need to discover, collect, store, and manage our IT resources; and when we talk about the system architecture, it helps to conceptually segregate Zenoss into three layers:

  • User •

  Data

  • Collection The User Layer (refer to the following screenshot) allows us to connect to the Zenoss from any computer running Mozilla Firefox or Microsoft Internet Explorer. From the User Layer, we manage the device data that Zenoss collects from our network. Although Zenoss automatically handles many collection and monitoring tasks, we can manually control the collection components from the Zenoss web interface.

  System Architecture

  The most notable open-source software components that integrate with Zenoss include Zope, Python, MySQL, RRDtool, and Twisted. In this Chapter, we will examine each layer and its core components.

  User Layer

  Z enoss is flexible enough to work from a command line, but most of our work will take place via an AJAX enabled interface, which is based on the Zope application server framework. We limit our command line work to installation, troubleshooting, and general curiosity.

  The following screenshot shows the view of the Zenoss dashboard.

  Zope is a popular, extensible application server written in Python. It features a built-in web server, transactional object database, and HTML templates. Python has a reputation as an easy-to-use object-oriented programming language. Not only is Python the basis for Zope, it’s also the basis for Zenoss Core.

  

[ ]

Chapter 2 Through the web interface, we provide input with both the data and collection layers

  to accomplish tasks related to the following areas:

  • Navigation and organization
  • Device management
  • Availability and performance monitors
  • System reports
  • Event Management •

  Settings and Administration

  Data Layer

  As we might expect, databases are the heart of the data layer, and Zenoss stores data in three types of databases. The Collection layer funnels device information to ZenHub, which in turns stores the data in the appropriate place. (Refer to the following screenshot).

  Events are stored in a MySQL database. Zenoss generates Events when an established threshold is crossed, such as a server outage or high memory usage. Events trigger actions, such as email or pager alerts.

  MySQL is a popular open-source database commonly used by web applications as part of the LAMP (Linux, Apache, MySQL, and PHP) stack. It is often praised in the industry for being fast and reliable.

  

[ ]

  System Architecture

  Time series performance gets stored in a Round Robin Database (RRD). A round robin database differs from a linear database, such as MySQL, in that it’s circular— which means the size does not increase over time. Data is stored in a first in, first out basis. RRDtool provides Zenoss with the ability to log and graph performance data.

  The third database deployed by Zenoss is a Configuration Management Database (CMDB). The CMDB is an Information Technology Infrastructure Library (ITIL) standard for managing the configuration, relationship, and change history of the IT environment, which creates a detailed model of the network. Zenoss uses a Zope object database to house the CMDB.

  Collection Layer

  The collection layer includes several daemons that gather information about devices, performance, and Events (refer to the following screen capture). They feed information to ZenHub to distribute to the appropriate database. As we’ll find out, the Zenoss daemons are easy to identify—they all start with the prefix "zen." We access the daemons by selecting Settings > Daemons from the Zenoss dashboard. As the following screen capture illustrates, the dashboard provides us with the complete view of the Zenoss Daemons that includes the process ID and up/down State. Green is up; red is down. Also from the interface, we can view the log, edit the Configuration, and start and Stop each daemon.

  

[ ]

Chapter 2 If we browse the file system, we will find each daemon in $ZENHOME/bin . $ZENHOME

  is an environment variable, which allows us to talk about the Zenoss installation directory without knowing exactly where it is. For example, I may install to /usr/

  local/zenoss /home/zenoss while you install to .

  Twisted is an integral network communication protocol for the daemons. The

  README

  Twisted Core file describes Twisted as an "event based framework for internet applications, which works on Python 2.3.x or 2.4.x"

  Device Management

  Finding the devices on our networks is a prerequisite to managing them, and Zenoss not only finds the devices, it models them. Device modeling builds a detailed overview of the network by recording the following types of information: system dependencies, available services, and change history.

  

[ ]

  System Architecture

  Zenoss provides several ways to view information about a device or a group of devices. The following screen capture shows an alphabetical list of all devices from the Device List view.

  The following table describes the daemons responsible for discovering and modeling devices.

  Device Daemon Description

zenmodeler Queries the devices via SSH, SNMP, and port scans when we model the

device. Each time zenmodeler runs on a device, it compares its findings with existing configuration and updates it as necessary.

zendisc Runs when we add a network subnet to Zenoss and choose to discover

all devices attached to the network.

  Zenoss uses Simple Network Management Protocol (SNMP) as a primary collection protocol.

  Performance And Availability

  The Zenoss performance and availability daemons help us determine if the devices on our network are available and performing within the established guidelines. If our monitored systems perform in an unexpected way, Zenoss generates an event. The following screen capture displays an overview of the Device Status for a server.

  

[ ]

Chapter 2 The following daemons play an important role in collecting performance and availability data. Performance Daemon Description

  

zenperfsnmp Stores the collected performance data in RRD files so that RRDtool

can graph device performance over hourly, daily, weekly, monthly, or yearly durations. zencommand Provides a way to run custom scripts and third party plug-ins including Nagios and Cacti plug-ins from within Zenoss.

zenprocess Monitors performance data, such as CPU and Memory usage using

SNMP collection. zenping Pings a device and reports an up or down status. This is the main way Zenoss knows if the device is active or not. Zenping is layer-3 topology aware, which means that if a router goes down, Zenoss will know the devices dependent on the router are also unreachable and will not monitor them during the outage. zenstatus Tests the TCP ports and reports an up or down service.

  

[ ]

  System Architecture Event Information

  When a device goes down or a service crosses a predetermined threshold, such as available disk space, Zenoss generates an event. One of the ways Zenoss displays monitoring activity is via the Event Console, as shown in the following screen capture.

  We can configure Zenoss to notify us by email or pager when events occur. Zenoss can also automatically run custom commands in response to events as a first step in problem resolution.

  Event Daemon Description zensyslog Creates events from syslog messages. zeneventlog Creates events from Windows event logs. zentrap Creates events from SNMP traps. When a problem occurs on a monitored device, it generates an SNMP trap to alert Zenoss of the problem.

  

[ ]

Chapter 2 Summary At a high level, we want to find and monitor devices, then be notified when

  problems occur. The Zenoss web interface lets us do that without thinking too much about the internal components. By reviewing the system architecture, we gained a cursory understanding about how Zenoss works, which provided a foundation for configuration, troubleshooting, and advanced usage. We did not cover all of the Zenoss commands or open-source components, but we did highlight the aspects of the system we will work with, throughout the book. Now, we’re ready to install a working Zenoss system. Chapter 3 identifies the Zenoss dependencies, walks through each of the installation options, and prepares our network servers for monitoring.

  

[ ]

  Installation and Set up

  In this chapter, we fill in the step-by-step details required to get a functioning Zenoss system. We identify dependencies, review installation options, and take a look at server setup. Our first step is to choose one of the three installation methods: virtual appliance, binary installer, or source. The virtual appliance makes a good choice, if we want to evaluate or demonstrate Zenoss. The virtual appliance runs a functional Zenoss system using VMware Player or VMware Server out-of-the-box and needs no Linux knowledge. When run from VMware, the Zenoss virtual appliance may be used to monitor networks with relatively few devices.

  The binary installer makes a good choice if we want to avoid building Zenoss from source and we run a supported distribution. The Supported Operating Systems section in this chapter includes a list of distributions that have binary installation support.

  We can build from source on a variety of Unix-based environments, such as Ubuntu and Mac OS X. A source installation gives us the ability to install Zenoss in the environment of our choice but requires more work. Of the three installation methods, a source install requires the most familiarity with your operating system and presents more points of failure. As we move beyond installing Zenoss to set up, we focus on firewall policies and Simple Network Management Protocol (SNMP) for Linux and Windows systems.

  Even though Zenoss can use other methods to monitor devices, SNMP is the default monitoring protocol. We are free to change how we monitor and collect information at any time. During the installation and the set up, we work from the command line because it's fast and it's consistent from one distribution to the next. If an error does occur, we can see the error immediately printed to the terminal window.

  Installation and Set up [ ]

  When working from the command line, we assume knowledge of two basic tasks: opening the terminal window and navigating the file structure. For all other tasks, the book provides the exact command to type. After installation and set up, we spend most of our time working with Zenoss through the web interface. Let's get this installation out of the way so we can discover Zenoss.

  Server Specifications

  Actual server specifications may vary depending on the amount and frequency of the data you collect. Zenoss Inc. recommends the following hardware specifications as a starting point based on feedback from the community:

  • ° ° °

  Network with up to 250 devices

  4 GB RAM Core 2 Duo E6300 1.86/1066 RTL

  75 GB disk storage Network with more than 250 devices

  • ° ° °

  8 GB RAM

  XEON 5120 DC 1.86/1066/4MB Four 75 GB drives in two RAID-1 pairs

  Supported Operating Systems

  Zenoss requires a Unix-based platform and installs on systems capable of running a GNU build environment. However, Zenoss supports only a few distributions with binary installers. The following table shows the available installation options.

  Installation Type Platform Virtual Appliance Windows

Linux

Binary Installer Red Hat Enterprise Linux 5 Fedora Core 6

  

SUSE

Source Ubuntu FreeBSD Solaris 10 Mac 0S X Other Linux environments

Chapter 3 As more binary installers become available, Zenoss posts them to

  http://www.zenoss.com/download .

  Zenoss Dependencies

  Virtual appliance users do not need to install any dependencies because they are included in the image. For all other installations, you need to install the following software packages prior to installing Zenoss:

  • MySQL 5.0.22 or higher
  • MySQL development environment
  • Python 2.3.5 or 2.4
  • Python development environment If you plan to build a Zenoss installation from source code, you need to install the following:
  • SWIG
  • Autoconf • GNU build environment

  Dependent software packages are available via your distribution's normal software package manager. However, the package names and installation commands vary based on distribution. Consult your distribution's documentation for more information.

  Quick Start with Virtual Appliance

  If we know how to download and install software in our host environment, we can get a working Zenoss system with the virtual appliance. The Zenoss virtual appliance packages a working Zenoss Core installation inside a Linux guest that can be booted from a host system, including Windows, using VMware's Player, Server, or Workstation programs. The virtual appliance is great for:

  • Users with little or no Linux knowledge
  • Demonstrations and Evaluations • Monitoring small networks with a few devices

  

[ ]

  Installation and Set up Install Virtual Appliance

  We will finish the installation as fast as we can download files and install the

  VMware Player. Let's begin: 1. Download the VMware Player from http://www.vmware.com/player/ .

  Registration is required to complete the download.

  2. Install VMware Player according to VMware's installation instructions for your operating system.

  3. Download the Zenoss virtual appliance from http://www.zenoss.com/download/ .

  4. Unzip the Zenoss virtual appliance download file to a working directory in your system.

  5. Open VMware Player: ° On Windows, select Start > Programs > VMware Player.

  ° On Linux, select VMplayer from the application menu, or type the command:

  vmware

  6. VMware Player prompts us to load the virtual machine configuration file we previously unzipped, as shown in the following screenshot:

  7. Open the Zenoss virtual appliance we unzipped in step 4.

  

[ ]

Chapter 3 The Zenoss virtual appliance takes a few minutes to load depending on the

  performance of your system. When the appliance boots, a welcome window opens and displays the IP address of the Zenoss management console and the standard Linux login prompt, as shown in the following screenshot: When we connect to Zenoss through our web browser, we use the IP address of the Zenoss management console that displays on the welcome screen (e.g. http://192.168.1.125.8080 ). We cannot access our virtualized Zenoss installation by navigating to localhost, which is the host name of the Zenoss virtual appliance. If the IP address of the Zenoss console does not display, we can obtain the

  IP address using the ifconfig command, as described in the next section: Working with The Virtual Appliance. Zenoss is ready to monitor. Our next step is to set up the servers on our network to be monitored. If you can't wait to see Zenoss in action, feel free to skip the server setup section for now and check out Chapter 4 for an introduction to web interface. You can come back and set up your servers later. If this is the first time you are working with VMware or Linux, take a few minutes to get acquainted with the environment.

  Working with The Virtual Appliance

  The Zenoss virtual appliance is a streamlined but functional Linux system, which means we can log in and have access to the underlying Linux environment. Let's cover a few basic tasks. Ctrl + G In order to type inside the virtual appliance window, use the keyboard shortcut: Ctrl + Alt To return the cursor to the host desktop, use the keyboard shortcut:

  

[ ]

  Installation and Set up

  By default, the root login does not have a password assigned. To log in to the virtual appliance, enter the following user name at the login prompt:

  root

  To set a password for the root user, enter the command:

  passwd