A Close Look at Monalisa, a Dynamic Service Architecture Framework to Control and Monitor Large Distributed System
By Dipankar Das, Gaea News NetworkTuesday, August 11, 2009
MonALISA is a framework based on dynamic distributed service architecture and was developed by Caltech for its HEP(High Energy Physics) dept. The abbreviation stands for Monitoring Agents using Large Integrated Service Architecture. The scope of the framework is to monitor, control and optimize complex systems. The design principle of Monalisa is based on multi-threaded, self-describing agent-based subsystems that gathers information and process tasks by means of collaboration and generates alerts or take automated decisions based on it. With a large monitoring modules like SNMP, Ganglia, network probes and embedded program monitoring hooks, MonALISA is currently used in monitoring GRID systems, networks and distributed applications and as a platform for distributed agents. The underlying technology of the framework is Java JINI and Web services, WSDL and SOAP technologies.
Installation:
You can download the software from here. You need to run “install.sh” file to install MonALISA Service. MonALISA Service Installation requires JAVA 1.4.2 or higher and you need to leave TCP ports 4160, 8765 and 80 and TCP ports 6001, 6002 and 6003 open for Lookup Discovery Services (LUSs) and Proxy Services respectively.
The Service distribution contains four parts.
- MonALISA Service Download
- MonaLISA Repository download
- AppMON download
- WS Client download for MonALISA
Architectural Design:
Monalisa provides four layer of architecture. Please, see the following diag for details. The network of JINI and Lookup Discovery Service(LUS) offers dynamic registration and discovery for all other services and agents. The layer of proxy services provides an intelligent multiplexing of the information requested by the clients or other services and is used for communication between agents. The second layer is Monalisa services that can fit in many monitoring modules to analyze the collected information in realtime. The information can be stored in databases. High level services access the information by using the proxy services. A load balancing system is used for the dynamic allocation to the best proxy services.
Each service in MonALISA network interacts with other services either through dynamic proxies or via agents by means of independent protocol. The use of dynamic remote event subscription allows a service to register an interest in a particular event category. The lookup discovery service will then automatically inform all the subscribed services, when a new service is going to be available.
Essential Features of the Framework:
- SNMP support and interfaces with other tools: Ganglia, MRTG, LSF, PBS, user defined script.
- Dynamic proxies (or WSDL) so that clients can access the information in a flexible way.
- Monitoring different aspects of complex system like System information for computer nodes and clusters, Network information (traffic, flows, connectivity, topology) for WAN and LAN, Monitoring the performance of Applications, Jobs or services, End User Systems, and End To End performance measurement.
- Remote event notification for change of system
- Real time and historical data by using JDBC architecture.
- Active filters to process the data and provided customized information to other services
- Global monitoring repository for community.
- GUI can be configured for real time global view.
- Rigorous security for dynamic configuration of network elements and the collected parameter.
- Dynamically finds out all of the network element used by a community
- Provides network parameter and traffic information
Tags: collaboration, Distributed Service Architecture, Framework, GRID Computing, Java Software, JINI, SOAP, Web, WSDL