MonALISA Grid Monitoring
Menu mode: dynamic | fixed
Last update on:
Dec 03, 2015

Uptime: 207 days, 8h, 19m
Number of requests: 5652958
since 28 October 2005

Communication Infrastructure

The MonALISA communication makes possible reliable global vizualization, control and process of huge amount of data gathered and analized by distributed monitoring services in a large environment. The communication has to be fast, secure and scalable.

Registration and discovery of services, clients-services interaction and agents cooperation are the important parts of the communication system, schematically shown in Figure 1.

Registration and discovery of services:

The MonALISA Services are able to register themselves in some replicated and distributed Lookup Services, together with some describing attributes. Clients can dinamically discover these services by their attributes and start the communication protocol. More features of this part are described in the Registration and Discovery Section.

Client-Services interaction:

The interaction between clients and services is made available through transparent proxy services. The proxy services also publish themselves in lookup services. In this way mutual discovery is used to connect monitoring services with proxies and clients with the nearest and less used proxy service.It is also worth to emphasize that a monitoring service running behind a firewall or NAT is loaded in the distributed system because it initiates connections to all the available proxies found in the lookup services. At the same time the proxy service does an "intelligent" multiplexing of subscribed data for multiple clients and can forward multicast messages sent by endpoints. For redundancy, scalability and dynamic load-balancing of clients, it is important to have two or more proxy services in the system.

Services have secured access. Clients can discover a service, interact with it and request data from it only if they have the right credentials. When first connecting to a transparent proxy service, the client has to send his proxy certificate. The proxy service will ask an Autorization, Authentification and Accounting (AAA) service for the credentials of the new connected client, based on the client proxy certificate. Using the received credentials, the proxy will access only authorized services for that client. See the Security Section for an in depth description of the MonALISA Security.

Agents cooperation:

Agents are entities loaded on monitoring services that process gathered data and cooperate between them to perform a distributed task (creat optical paths between switches ( see Optical Switches Monitoring and Control), content-based search ( see Search and Storage System ) in a distributed environment, distributed intrusion-detection system (see Intrusion Detection System) , etc). It is important for this entities to communicate in a secure, fast and reliable way.

The existence of the proxy services connecting clients and monitoring services makes possible the existence of an agent communication platform. The agents cooperate using the TCP connections between proxy and monitoring services, with the proxy forwarding their messages. Agents groups are created in the proxy, broadcast and multicast messages being permited and handled by the proxy service. For detailed information see the Monalisa agents communication platform section.

Figure 1: MonALISA Communication Infrastructure

The clients can get any real-time or historical data by using a predicate mechanism for requesting or subscribing to selected measured values. These predicates are based on regular expressions to match the attribute description of the measured values a client is interested in. They may also be used to impose additional conditions or constrains for selecting the values. In case of requests for historical data, the predicates are used to generate SQL queries into the service local database.

Monitoring data requests with the predicate mechanism is also possible using the WSDL/SOAP binding from clients or services written in other languages. The class description for predicates and the methods to be used are described in WSDL and any client can create dynamically and instantiate the objects it needs for communication. See the MonALISA Web Services section for details.