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.
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
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.
ChoreOS Monitoring Demo https://www.youtube.com/embed/QettUXhbABQ
Connect Drone Demo http://second18.isti.cnr.it/misc/connectVideo.mp4