Skip to content
constcast edited this page Jan 29, 2012 · 2 revisions

Management

A common scenario in networks is the installation of monitoring systems at multiple points inside the network infrastructure. Here multiple Vermont instances need to be managed simultaneously. In this section, we will describe remote Vermont management tools that are able to supervise and edit the configuration of multiple Vermont instances, and to stop and to start them. Sensors inside Vermont can be read out and displayed in time-line graphs.

The Vermont Management infrastructure consists of two central components: The web interface for controlling all available components and the manager which manages registration of all Vermont instances and controls them. The web interface only communicates with the management component and executes all tasks through it. Communication with single Vermont instances is performed by controllers which execute requests coming from the manager and relay them to each Vermont instance. Communication between web interface, manager and controller is performed using network-based RPC, so these components may be deployed on different hosts. The only restriction is the controller: it must be executed on the same host as Vermont, as communication between these components is performed by reading and writing files, as well as sending process signals. All commands initiated on the webinterface are forwarded to the manager which processes them directly, or forwards them to the addressed controller.

The Vermont management system is able to change configuration parameters of running Vermont instances on-the-fly based on observed sensor values. We created a closed loop that analyzes sensors values coming from specific Vermont instances and based on this data, we changed configuration parameters of running Vermont instances. The above figure displays the process.

Vermont's dynamic reconfiguration is realized using the so-called sensor actor concept. Sensors monitor input values from Vermont and are parametrized with a condition. If this condition is met, they will be triggered. Furthermore, the sensors are connection with one or more actors which execute an action when triggered. It is possible within Vermont to assign multiple actors to a sensor. All sensors and actors are directly parametrized inside the XML-based configuration of the Vermont instance. Corresponding entries in these configuration files are ignored by Vermont and are only interpreted by the controller and manager components of the management infrastructure. Detailed description of the sensor-actor configuration can be found here.

Controller

Each instance of a Controller manages a single Vermont instance. For remote control over the network, a RPC interface is provided. The controller generates statistics from sensor values and stores them locally. When a request is received via the RPC interface, this data is accessed and transferred over the interface. The following functions are served via the interface:

  • Retrieval of current state of Vermont
  • Start and stop of Vermont
  • Trigger of reconfiguration of Vermont
  • Retrieval and change of provided configuration file
  • Retrieval and change of the dynamic configuration file
  • Retrieval of current sensor data values
  • Retrieval of graphs showing the history of single sensor values

A second dynamic configuration file was introduced for dynamic reconfiguration. If certain values are to be changed dynamically within the closed loop, only the dynamic configuration will be changed. The original configuration will be kept so that a configuration reset is always possible. The dynamic configuration file is always generated automatically and is initially a copy of the original configuration. It is always used by the running Vermont instance and uses the file name suffix ''.dynconf''. The controller component has a separate configuration file. The detailed structure is described here.

Manager

Central management of multiple Vermont instances and their controllers is performed within the manager. The following tasks are carried out inside this component:

  • Provides a directory of all configured vermont instances
  • Dynamic reconfiguration that consists of the following tasks:
    • regular retrieval of all sensor values of the Vermont instances
    • check of all configured sensors
    • trigger of corresponding actors
    • execution of reconfiguration and transfer of updated configuration
    • trigger of configuration reload for concerned Vermont instances
  • Provides an interface for the web interface

The manager usually only carries out regular management tasks and is the interface between web interface and controllers. This component does not require much performance and may be executed on the same host as the web interface.

Webinterface

The webinterface is available for easy configuration and control of used Vermont instances. Technically, the web interface is realized as ''mod_python'' module((also see http://www.modpython.org/)) for the webserver apache. All offered functions are relayed to the manager component and processed by it. In the following, we will describe the web interface and all pages within more thoroughly:

It is possible to view the status of all managed Vermont instances in an overview page:

This is the central management page and leads to all functions of the web interface. In detail, Vermont instances may be controlled (starting, stopping, reloading configuration), configurations may be edited, sensor data may be retrieved and displayed, and each Vermont instance's log file may be displayed. Dynamic configuration may also be switched on and off on this page. By switching it off, Vermont only uses static configuration and does not perform any dynamic reconfiguration tasks any more.

Current information can be retrieved by requesting generated statistics by the controller component, or by retrieval of current sensor data. Current sensor data may be displayed by selecting the link //Sensor Data//. Vermont produces a XML file containing current sensor values. This XML file is processed and converted to a HTML website with tables to give a good overview of the data, succeeded by the original XML data coming from Vermont for detailed inspection. At the top of the page, a graph is automatically generated showing the module graph that is currently used in Vermont:

To display the history of sensor values over time, the link //Statistics// leads to a page which displays graphs of sensor values of the corresponding Vermont instance. Below is a screenshot of this page:

These graphs are not generated over all available sensor data, but only from selected data that is specified in each controller component's configuration.

When clicking on the //Configure// link in the overview page, the selected Vermont instance's configuration is displayed and may be changed. Note that only valid XML data may be entered into this page, as this configuration is immediately parsed by the manager component and is rejected if errors during the parsing process occur. This page additionally displays the currently used dynamic configuration, so it contains all parameter values changed by the sensor actor process.