NodeBrain Caboodle Web Tools
 

Concepts

NodeBrain is a rule engine for state and event monitoring applications.  Rules are written in the NodeBrain language, a small declarative language extended by node modules (plug-ins using a C API) and servant programs written in any language.  Node modules and servants may be used for state and event collection, knowledge representation, and communication with peers, consoles, and other applications. 

A NodeBrain agent is a rule engine executing a specific set of rules, node modules and servants.  Different monitoring tasks such as event collection, correlation and alarm distribution may be spread over multiple agents on one or more servers. 

A NodeBrain caboodle is an instance of a defined directory structure containing a set of NodeBrain related software components and associated input and output files designed to work within this structure.  It is just one way of organizing the components of a NodeBrain application---a structure not imposed by NodeBrain itself. 

A caboodle kit is a software package designed to run in a NodeBrain caboodle in cooperation with components from other kits and custom components developed for a specific application.  A hierarchy of caboodle kits is provided by the NodeBrain Open Source Project, starting with the foundational NodeBrain Caboodle Kit, followed by the NodeBrain System Kit, NodeBrain Journal Kit and others. 

A plan file provides a higher level representation of a rule file based on specification, presentation, and translation models.  Plan files are coded in XML and translated into NodeBrain rule files by plan compilers.  A common table schema and presentation model is shared by most plans, although distinct compilers produce significantly different rule structures because of their unique translation models.  There are three methods of managing plans: 1) the nbkit command (requires shell access), 2) the NodeBrain Console (requires Java runtine library), and 3) the NodeBrain Planner web tool (requires a web server). 

For administrative convenience, the Webster node module provides a usable subset of general purpose web server functionality that may be used to simplify the deployment of other caboodle web tools.  In fact, this page may have been served by an instance of Webster.  Although Webster node modules may be plugged into any agent for visibility and control, when using Webster as the web server for other caboodle web tools, you should use a separate dedicated Webster agent to avoid performance impacts on your monitoring application agents.  Caboodle administrators may elect to host caboodle web tools on a more robust general purpose web server like Apache. 

More information is available at NodeBrain.org


NodeBrain(TM) is a trademark of The Boeing Company.
Copyright © 2008-2013 The Boeing Company