User Tools

Site Tools


labsedc:tools:glimpse:public:main

GLIMPSE Public Page

Generic fLexIble Monitoring based on a Publish-Subscribe infrastructurE

The deployment and the execution of applications on dynamic runtime infrastructures introduces new requirements of adaptability with respect to monitoring. Specifically, the governance of services relies on the observation and analysis of events happening at different abstraction layers. Adaptability requirements are even more evident when monitoring deals with Service Level Agreements (SLA) or KPI (Key Performance Indicator). The proposed monitoring infrastructure keeps track of the continuous evolution of the underlying environment, and adapt itself accordingly. The multi-source monitoring architecture developed by SEDC Laboratory that can synthesize on-the-fly SLA/KPI monitoring rules following the evolution of the infrastructure. Here below, a brief description of the main monitoring components as show in Figure 1. More details are provided in the referenced papers.

Infrastructure

GLIMPSE Generic Events structure

The event structure can be extend including all the attributes relevant for monitoring activities.

GLIMPSE Transmitted Data Structure

  • ComplexEventRule: The XSD of the ObjectMessage sent by the GlimpseConsumer to request an evaluation.
  • GlimpseBaseEvent<?>: The object sent into the data field of the ObjectMessage sent by the GlimpseProbe to Glimpse
  • ComplexEventException: The XSD of the ObjectMessage sent by GlimpseManager to notify to the GlimpseConsumer an exception occurred into the SUT.
  • ComplexEventResponse: The XSD of the ObjectMessage sent by GlimpseManager to notify an occurrence of the requested pattern to the GlimpseConsumer.

GLIMPSE requirements

Rule-template example

In Listing an example of rule-template which calculates an activity completion time is provided.

rule "BPMN_SESSIONID_COMPLETIONTIME"
  no-loop
  salience 10
  dialect "java"
    when
      $aEvent : GlimpseBPMNEvent(
        this.isConsumed == false,
	this.getEventName == "start",
        this.getSessionID == "_SESSIONID_",
	this.getEventActivityName == "_TASKID_",
        this.getTimeStamp == _TIMESTAMP_);
     
      $bEvent : GlimpseBPMNEvent(this.isConsumed == false,
	this.getEventName == "end",
        this.getSessionID == "_SESSIONID_",
	this.getEventActivityName == "_TASKID_",
        this after $aEvent);	
    then
	$aEvent.setConsumed(true);
	update($aEvent);
	$bEvent.setConsumed(true);
	update($bEvent);
	
	ResponseDispatcher.LogExecution(
          "RULE","auto_generated_rule",
	  "\nThe completion time is:" +
          bEvent.getTimeStamp() - aEvent.getTimeStamp());
	retract($aEvent);
	retract($bEvent);
end

MAVEN Branch on GitHub

Prototype Download

Prototype USAGE

Install and run service mix

Modify the parameter “org.apache.activemq.jndi.ActiveMQInitialContextFactory java.naming.provider.url =” contained into the environmentFile of each packet (glimpseEnabler, glimpseProbe, glimpseManager) with the ipaddress of your serviceMix4 installation.

For CONNECT use: tcp:\\atlantis.isti.cnr.it:61616

Start the manager typing: java -jar GlimpseManager.jar systemSettings

It is possible to use one or more probe, to do that, just modify the parameter connectorName into the probeSettings file.

Publications

Videos

Contacts

labsedc/tools/glimpse/public/main.txt · Last modified: 2017/05/08 12:25 by a.calabro