PPreface
Acknowledgments, Copyrights and Terms

Copyrights

Copyright (c) 1999-2000 PlatformWorks, Inc.

Copyright (c) 1996-2000 PostgresSQL, Inc.

Copyright (c) 1994 Regents of California, Inc.

Copyright (c) 2000 Sun Corporation

Copyright (c) 1999-2000 Apache Software Foundation

Useful links for for information

XSLFO Spec, Oct 2000

XSLFO Bible

XSL Info Site

XML Organzation

Docbook Organization

O\'Reilly's DocBook: The Definitive Guide

OpenNMS.org - Bluebird web site

apache.org - home of Xerces, XML4J etc

Sun - home of JAVA

W3C Organization - home of XSLFO and XML

PostgreSQL - home of PostgreSQL

P.1 Compendium of Terms

To help understand the scope of breadth of the Bluebird project, this document defines the high level objectives and philosophy of Bluebird. Rather than reading through reams of paper to try and understand the various pieces, and how they are assembled, we have put this document together.

One of the challenges of a project is developing an internal language used amongst team members which is concise and efficient without confusing new users with lingo. As any complex project, Bluebird has its share of these "buzzwords". Rather than change the established culture, we present a compendium of terms:

P.1.2 Geneal Terminology
Bluebird

The name of the project to build a network and service management application in the open source model.

OpenNMS.org

A project supported by PlatformWorks, Inc. chartered with designing, building and supporting the various projects including Bluebird and JoeSNMP.

PlatformWorks

The incorporated company organized by the founders to fund and support the Bluebird project and OpenNMS.org.

JoeSNMP

A JAVA SNMP library developed by OpenNMS.org and available as LGPL open source code.

P.2 Bluebird Modules
P.2.1 Bluebird Configuration
Poller Package

A poller package is a bundle of configuration information which a distributed poller uses to poll devices and services within its domain. Poller packages are built and stored on the master station and pulled by the distributed poller at startup (or reconfig).

Poller packages are ASCII text files stored in XML in a well-defined format. Any application which can generate this XML is available to build poller packages, however, graphical tools are available to allow simple drag/drop configurations.

Iceberg

Same as poller package. The name is only of significance to historians of the OpenNMS.org project.

P.2.2 Bluebird Functional Areas
Master Station

The central computer in the network where all the network information resides. It is expected, in this release, that the Master Station is a single computer capable of handling all the load of this information. Master stations can be redundant, but are not distributed.

Users and administrators log into the master station. They cannot access distributed poller information except via the master station.

Distributed Poller

A remote computer in the network which contains the Bluebird distributed poller programs and one or more poller packages for configuration information. The assumption is that the distributed poller is a Unix, NT or other computer type device. Since Distributed Poller logic is not implemented in network elements, specific computers are selected for the role of distributed poller. The fundamental idea of a distributed poller is autonomy. A poller should be able to operate completely disconnected from the master station after receiving a poller package of information. Distributed pollers report information to the master station in a push/ pull arrangement. Configuration information is pulled from the master station by the distributed poller. Should the master station need to tell a distributed poller of configuration changes, the master station will push an "alert" to the distributed poller telling it to pull down the most current poller information.

Discovery

The process of automatically finding IP addressable devices in the network. Discovery only takes place on a distributed poller. In first release, discovery is implemented as ping sweeps to insure a baseline discovery method.

Filters

When a distributed poller discovers a device, it applies filters to the device to see if it matches. Filters allow unimportant devices to be skipped and important devices to pass through.

capsd

When a device is discovered, it is tested for capabilities against a filter. The process responsible for this test is called capsd or the capability checker.

Capability Checker

Same as capsd.

Service poller

A service poller is responsible for testing the availability of a service on a target device in the network. Examples of service pollers are HTTP, SMTP, DNS, FTP, ICMP and any other service which can be tested externally.

Synthetic Transaction

A service poller tests a network device by "faking" a transaction from a bogus user. For example, for HTTP, a synthetic transaction would test port 80 and send an HTTP GET command. Service pollers are specially built to mimic the dialog of a user service.

eventd

eventd is the event daemon responsible for receiving events from the distributed pollers. eventd uses a push/pull arrangement where events are periodically pulled from a distributed poller. In the vent of a major event, a distributed poller can inform the master station to perform an unscheduled (or asynchronous) upload.

Event Browser

Events in the system (node down, threshold exceeded, etc) are available via the event browser. The event browser is accessible via the real-time console.

Real-time Console

When an operator logs in, access to network management information is via the Real-Time Console (RTC). The RTC amalgamates information from the event stream, the view rules and the category configuration into a simple, histogram presentation of live data.

Rule Builder

Distributed pollers use rules to determine which devices to filter. Since rules are typically complex grammars to decode and understand, the rule builder allows a graphical drag and drop metaphor for building rules. Rules are dragged from the template area and connections are established by drawing lines.

P.2.3 Users, Groups and Views
User

A user is a particular operator who has capabilities assigned by the administrator. A user cannot log into the system without a userID and password.

User Group

Users may be collected together into user groups for ease of administration. User groups can be assigned capabilities which then effect all the users within that group.

Business Views

Bluebird administrators can partition the network into smaller subsets called views. For a large network outsourcer, a view might be a customer or a type of customer. For a smaller Bluebird installation a view might correspond to a sales region or a geographical area. Views can be broken up into smaller pieces called categories.

View Categories

A view can be broken up into smaller pieces called categories. For a view defining a particular region of the network, the categories might be "routers", "ISDN equip" or any other set of devices which can be categorized by rules.

P.2.4 Distributed Poller Configuration
Packages

Packages are a bundle of configuration information stored in an XML structure. Packages are sent to distributed pollers to inform the poller of the desired behaviors, parameters and actions. Poller packages are additive; i.e. you can send more than one poller package to a distributed poller. A distributed poller must have at least one poller package assigned to it do do any useful work.

Calendars

Calendars control the time when a poller ignores a managed device in its domain. Calendars are schedule outages. There are two different types of calendars; repeating and one-time. Repeating is for periodic scheduled down-time, such as backups. One-time calendars are used for special outages which are unplanned but do not want to be included in the down-time calculations.

Service

A service is a type of protocol test; e.g. http, smtp, pop3 etc. Services are assigned to a poller package along with target rules and domain information.

Service Pollers

A service poller is a software component on a distributed poller which is responsible for performing a service test. The service poller will probe a device, check for service availability, retry failures and report problems to the master station.

P.2.5 Data Storage
XML

XML is the Extensible Markup Language. XML can define any data structure using tags. HTML is a poorly defined implementation of XML. Eventually, most of the web will migrate from ill-structured HTML to XML with styles.

Bluebird uses XML almost exclusively for communication between and within the various components of the product. To configure Bluebird, you can use the Graphical Tools or generate the appropriate XML structure programmatically or by hand.

ODBC

ODBC is a method of accessing data from a (typically) SQL database. Applications written to ODBC have a level of independence which improves the ability to change database systems without changing existing code.

P.2.6 Data Presentation and Reporting
XSL

XSL is the Extensible Style Language. XML does not define the look and feel of data. Instead, XML uses styles, defined by XSL, to render the data into a particular presentation. This allows data to reside independently from the visual representation.

Bluebird uses XSL to generate reporting and Web presentation. Eventually, when web browser support full implementations of XSL, the need for the Bluebird Data Presenter will go away or be reduced.

FOT

When XSL renders an XML document to apply styles, it generates an intermediate file called an Formatted Object Tree or FOT. Bluebird generates FOTs when building reports against XML report data and applies the user defined styles.