CEP Breaking News, Articles, Feature Stories and Blog Posts

CEP on Ulitzer

Subscribe to CEP on Ulitzer: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get CEP on Ulitzer: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


cep Authors: Tony Shan, Liz McMillan, Bob Gourley, Charles Rich, Jyoti Bansal

Related Topics: RIA Developer's Journal, CEP on Ulitzer

RIA & Ajax: Article

Enterprise Open Source Magazine: Project Zenoss

A new alternative to the big suites for enterprise systems monitoring

The rise of Open Source and the well-known problems of the proprietary management suites are driving companies to the public domain for simpler, more cost-effective IT management solutions. Zenoss offers a new Open Source alternative for enterprise monitoring that does much more than lower costs. With an integrated architecture, automated-modeling, template-based configuration and cross-platform coverage, Zenoss provides a powerful, easy-to-use application for enterprise-wide infrastructure monitoring.

Project Background
Erik Dahl started Zenoss development in 2002. A 15-year systems management veteran, Erik began programming Zenoss soon after an experience at a leading ASP where he led a project to develop a custom management application to replace a failed, multimillion dollar IBM Tivoli deployment. From this and other experiences building IT management software, it was clear to Erik that the big proprietary suites where flawed. While IBM, HP, and CA dominated the market, their products were incredibly expensive, needlessly complex, and disconnected from the day-to-day needs of engineers and administrators. To make matters worse, their products were often poorly integrated across modules and had disjointed data schemas.

Having used several Open Source monitoring tools in the ASP project, Erik also recognized that there were signs of great promise in the Open Source arena. Projects such as Nagios , RRDtool, Net-SNMP, and libsmi provided sound building blocks. The challenge however was pulling all of these pieces together to achieve a complete solution. Further, lacking a unified view of the IT configuration, these tools would never tackle many of the harder problems or achieve a high degree of monitoring and management problems.

Zenoss's goal is to address many of the prevailing issues in both closed and Open Source management solutions. The end product is a compelling alternative to the proprietary management suites that offers not only affordability and flexibility, but also advanced functionality and ease of configuration.

Since 2002 Zenoss has been used to monitor large-scale production IT operations. In February of this year, Zenoss was released into the public domain (www.zenoss.org) under the GPL version 2.

Zenoss Architecture Highlights
Configuration Model - Underlying Zenoss is a unified data representation of the IT environment. Stored in an object database called the ZenModel, this data structure contains all of the information about the IT environment, including resource configuration details, relationships between components, resource profiles, collection settings and event processing rules.

This consolidated and detailed view of the IT environment lets Zenoss provide both broad and deep visibility into problems as they occur. In addition, Zenoss's hierarchical classification system, with support for resource profiles and inheritance, makes it easy to configure and manage large complex environments and share configuration rules among installations.

To make it easy to navigate, Zenoss's configuration database is presented as a tree structure, very much like a file system with path-based references to classes (à la directories), instances (à la files) and logical groupings (à la links). Table 1 provides a few examples of path references in the Zenoss system. At each node in the path you can view reports (that apply to the current node and all children) and apply settings (that will be inherited by all children unless overridden further down in the path).

The complete object hierarchy is broken down into five primary roots that provide physical homes for core systems entities (/Devices, /Networks, /Services, /Manufacturers and /Events) and three organizational roots that provide opportunities for logical groupings of devices (/Locations, /Systems, /Groups).

Automated Discovery - Maintaining an IT configuration database is difficult. In addition to the complexity of the data structure itself, there is the challenge of maintaining the accuracy of the data over time. To address this problem, Zenoss provides an automated discovery and modeling services. These services automatically keep ZenModel up to date and, as configurations and relationships are modified, they automatically maintain change history.

Layered Customization - Since every environment is unique, IT management systems must be easy to customize. Addressing this need is another key driver of the Zenoss architecture. Zenoss achieves this through a layered architecture that allows the clean separation of IT configuration data, processing rules, look-and-feel, collection plug-ins, application integration, and core system code.

The base download includes the core code, default skins, default processing rules, and plug-ins for the most common resources. Being out-of-the-box it provides significant functionality and utility. Users are welcome to customize the system at any level as outlined below. The goal, however, is for most users to achieve what they need without going beyond the first level of customization, which can be done through the Web GUI.

Zenoss supports importing and exporting processing rules, skins, and plug-ins, which means they can be shared by the community. In the future, users will have access to a shared repository of these resources at www.zenoss.net.

  1. Processing Rules - event processing rules, collection settings, etc. managed through the Web GUI
  2. Skins - customize look, feel and flow by modifying page templates and stylesheets (ZPT, CSS)
  3. Plug-Ins - add or modify instrumentation by coding script-based plug-ins (Python, Perl)
  4. Interfaces - application integration through Web Service APIs (XML-RPC)
  5. Core Coding - modify core functionality (Python, Zope, MySQL)
Zenoss's primary programming language is Python and it substantially leverages the Zope Web application framework. A key driver for selecting Python and Zope is that they are well suited to application layering and customization. Python and Zope also offer a productive, easy-to-learn, well-structured programming environment. This makes it easy for both community contributors and those who are doing local customizations to get up to speed quickly.

Agnostic Collection - One of the biggest challenges with deploying a systems monitoring application is instrument-ing the production environment with what's necessary for collection and control. Zenoss's philosophy regarding instrumentation is to be flexible and force as few changes to the production environment as possible. To achieve this, it supports the most common protocols (e.g., SNMP, WMI, Telnet, and SSH) and, where practical, it works with what's already in the environment and/or does agent-less collection.

Related, Zenoss also recognizes that an enterprise monitoring solution has to have broad coverage of the resources that make it into the data center. Zenoss, to this end, has taken great strides to achieve cross-platform coverage with a native Windows collector based on WMI. While the core Zenoss system runs on Linux (and this is certainly our preference), our WMI collector runs on Windows and provides remote, agent-less collection of Windows events, services, and performance metrics.

In the future, Zenoss will add its own distributed agent to the portfolio of collection mechanisms. Zenoss is also working on direct support for Nagios plug-ins.

Zenoss Product Walkthrough Components
Now that we have hit some of the highlights, let's walk through the components of Zenoss from the top down. Figure 1 illustrates of the overall product architecture.

Zenoss User Layer - The user layer consists of a browser-based GUI and HTML reporting. Written using the Zope Web application framework, the Web GUI is secure and easy to customize/extend. AJAX components are used to provide an enhanced user experience on selected screens.

Key features of the Web console include:

  • Integrated browser-based console/portal
  • Secure role-based views and controls
  • Easy to customize and extend
  • Built using the Zope Web Application Server and AJAX
  • Key Screens: Dashboard, Devices, Services, Networks, Events, Manufactures, Systems, Groups, Locations, Reports, Users, and Management
Key features of the reporting interface include:
  • Library of standard reports
  • Graphical performance trend reporting
  • Easy-to-create custom reports
  • Sample reports from standard library: Device Inventory, Software Inventory, Service Inventory, EventClasses Inventory. Event Mapping Inventory, Heartbeats, Device Detail, Device History, Load Average, Configuration Collection Age, New Devices, Ping Status Issues, and SNMP Status Issues
Data Layer - The data infrastructure for Zenoss brings together three disparate types of information, each of which is stored using the appropriate mechanism.

ZenModel

  • Unified object model of IT environment and management settings
  • Stored in the Zope Object Database (ZODB)
ZenRRD
  • Used to store time series history information and generate trend graphs
  • Automatic data reduction
  • Based on the RRDtool
ZenEvents
  • Database for active events and event history
  • Based on MySQL
Collection & Control Services - The collection and control services are a series of long-running processes that provide a range of collection and control tasks including configuration modeling, availability monitoring, performance monitoring, event collection, and automated response.

While each of the services performs a different function, they have similar modes of operation. Each service:

  • interacts with ZenModel database for configuration information
  • can run as a single local instance or distributed to improve scalability and availability
  • has its own command-line init script or can be managed by the global "zenoss" init script
  • can be run in daemon/service mode or from the command-line for debugging (Table 2)
Project Status
Since its February release, project Zenoss has been progressing very rapidly. Zenoss is actively expanding the product and furthering the community (www.zenoss.org) with motivated developers, systems and network engineers. Visit the Web site to download the software and join the effort (early registrants get a free "Moment of Zen" T-shirt). The Zenoss product roadmap is available for review and discussion at http://dev.zenoss.org/trac/. Zenoss is monitoring-focused today. The long-term direction is to expand deeper into management functionality through further development and partnering with other Open Source projects.

Conclusion
Companies today spend over 75% of their IT resources on non-differentiating infrastructure and services, including systems management. Moreover, the leading vendors have a long-standing reputation for bloated, over-priced products that work well for very few. The stage is set for Open Source to create a major revolution in the efficiency and effectiveness of IT management. Open Source management offerings that not only reduce cost, but also deliver compelling functionality and ease-of-use will have the greatest impact.

Zenoss is new Open Source management product that goes beyond cost reduction by offering an integrated, easy-to-use enterprise-wide, infrastructure-monitoring application.

Resources

More Stories By Bill Karpovich

Bill Karpovich is CEO & Co-Founder of Zenoss, Inc., an open source systems management software company. He is a seasoned early stage technology executive with a strong history and interest in utility computing and market disruption. Since co-founding Zenoss in 2005, he has established the company as a leader in commercial open source software. He conceived the company's disruptively innovative strategy, raised over $18 million in capital to-date to fund its growth and has successfully guided the company from start-up to a category leader. As an IT management visionary, Karpovich has been featured on the cover of InformationWeek Magazine and is frequently consulted by the media and industry analysts for his insights on IT management and the broader open source software market.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Enterprise Open Source Magazine News Desk 04/22/06 12:52:30 PM EDT

The rise of Open Source and the well-known problems of the proprietary management suites are driving companies to the public domain for simpler, more cost-effective IT management solutions. Zenoss offers a new Open Source alternative for enterprise monitoring that does much more than lower costs. With an integrated architecture, automated-modeling, template-based configuration and cross-platform coverage, Zenoss provides a powerful, easy-to-use application for enterprise-wide infrastructure monitoring.