blob: 3892884e187836ec00442824f4da828ab03e0d09 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="SMILA/Project Concepts/Monitoring" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/Project_Concepts/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (English)" />
<link rel="alternate" type="application/rss+xml" title="Eclipsepedia RSS Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=atom" />
<title>SMILA/Project Concepts/Monitoring - Eclipsepedia</title>
<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "http://wiki.eclipse.org/skins/eclipsenova/novaWide.css?116"; /*]]>*/</style>
<link rel="stylesheet" type="text/css" media="print" href="http://wiki.eclipse.org/skins/eclipsenova/eclipsenovaPrint.css?116" />
<link rel="stylesheet" type="text/css" media="handheld" href="http://wiki.eclipse.org/skins/eclipsenova/handheld.css?116" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/header.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/tabs.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/visual.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/layout.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/footer.css" media="screen" />
<!--[if IE]><link rel="stylesheet" type="text/css" href="/skins/eclipsenova/IEpngfix.css" media="screen" /><![endif]-->
<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE50Fixes.css?116";</style> <![endif]-->
<!--[if IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE55Fixes.css?116";</style><![endif]-->
<!--[if IE 6]><style type="text/css">@import "/skins/eclipsenova/IE60Fixes.css?116";</style><![endif]-->
<!--[if IE 7]><style type="text/css">@import "/skins/eclipsenova/IE70Fixes.css?116";</style><![endif]-->
<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js?116"></script>
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
<script type= "text/javascript">/*<![CDATA[*/
var skin = "eclipsenova";
var stylepath = "/skins";
var wgArticlePath = "/$1";
var wgScriptPath = "";
var wgScript = "/index.php";
var wgServer = "http://wiki.eclipse.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "SMILA/Project_Concepts/Monitoring";
var wgTitle = "SMILA/Project Concepts/Monitoring";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "15304";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "113732";
var wgVersion = "1.12.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = false;
/*]]>*/</script>
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/wikibits.js?116"><!-- wikibits js --></script>
<!-- Performance mods similar to those for bug 166401 -->
<script type="text/javascript" src="http://wiki.eclipse.org/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=eclipsenova"><!-- site js --></script>
<!-- Head Scripts -->
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/ajax.js?116"></script>
<link rel="stylesheet" type="text/css" href="Monitoring.html" /> </head>
<body class="mediawiki ns-0 ltr page-SMILA_Project_Concepts_Monitoring">
<div id="globalWrapper">
<div id="column-one">
<!-- Eclipse Additions for the Top Nav start here M. Ward-->
<div id="header">
<div id="header-graphic">
<img src="http://wiki.eclipse.org/skins/eclipsenova/eclipse.png" alt="Eclipse Wiki">
</div>
<!-- Pulled 101409 Mward -->
<div class="portlet" id="p-personal">
<div class="pBody">
<ul>
<li id="pt-login"><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Project_Concepts/Monitoring">Log in</a></li>
</ul>
</div>
</div>
<div id="header-icons">
<div id="sites">
<ul id="sitesUL">
<li><a href="http://www.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/eclipseIcon.png" width="28" height="28" alt="Eclipse Foundation" title="Eclipse Foundation" /><div>Eclipse Foundation</div></a></li>
<li><a href="http://marketplace.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/marketplace.png" width="28" height="28" alt="Eclipse Marketplace" title="Eclipse Marketplace" /><div>Eclipse Marketplace</div></a></li>
<li><a href="https://bugs.eclipse.org/bugs"><img src="http://dev.eclipse.org/custom_icons/system-search-bw.png" width="28" height="28" alt="Bugzilla" title="Bugzilla" /><div>Bugzilla</div></a></li>
<li><a href="http://live.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png" width="28" height="28" alt="Live" title="Live" /><div>Eclipse Live</div></a></li>
<li><a href="http://planeteclipse.org"><img src="http://dev.eclipse.org/large_icons/devices/audio-card.png" width="28" height="28" alt="PlanetEclipse" title="Planet" /><div>Planet Eclipse</div></a></li>
<li><a href="http://portal.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png" width="28" height="28" alt="Portal" title="Portal" /><div>My Foundation Portal</div></a></li>
</ul>
</div>
</div>
</div>
<!-- NEW HEADER STUFF HERE -->
<div id="header-menu">
<div id="header-nav">
<ul> <li><a class="first_one" href="http://wiki.eclipse.org/" target="_self">Home</a></li> <li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li>
<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li>
<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
<li><a href="http://wiki.eclipse.org/index.php/Development_Resources" target="_self">Committers</a></li>
<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li>
<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li>
</ul>
</div>
<div id="header-utils">
<!-- moved the search window here -->
<form action="http://wiki.eclipse.org/Special:Search" >
<input class="input" name="search" type="text" accesskey="f" value="" />
<input type='submit' onclick="this.submit();" name="go" id="searchGoButton" class="button" title="Go to a page with this exact name if one exists" value="Go" />&nbsp;
<input type='submit' onclick="this.submit();" name="fulltext" class="button" id="mw-searchButton" title="Search Eclipsepedia for this text" value="Search" />
</form>
</div>
</div>
<!-- Eclipse Additions for the Header stop here -->
<!-- Additions and mods for leftside nav Start here -->
<!--Started nav rip here-->
<!-- these are the nav controls main page, changes etc -->
<div id="novaContent" class="faux">
<div id="leftcol">
<ul id="leftnav">
<!-- these are the page controls, edit history etc -->
<li class="separator"><a class="separator">Navigation &#160;&#160;</li>
<li id="n-mainpage"><a href="http://wiki.eclipse.org/Main_Page">Main Page</a></li>
<li id="n-portal"><a href="http://wiki.eclipse.org/Eclipsepedia:Community_Portal">Community portal</a></li>
<li id="n-currentevents"><a href="http://wiki.eclipse.org/Eclipsepedia:Current_events">Current events</a></li>
<li id="n-recentchanges"><a href="http://wiki.eclipse.org/Special:Recentchanges">Recent changes</a></li>
<li id="n-randompage"><a href="http://wiki.eclipse.org/Special:Random">Random page</a></li>
<li id="n-help"><a href="http://wiki.eclipse.org/Help:Contents">Help</a></li>
<li class="separator"><a class="separator">Toolbox &#160;&#160;</a></li>
<li id="t-whatlinkshere"><a href="http://wiki.eclipse.org/Special:Whatlinkshere/SMILA/Project_Concepts/Monitoring">What links here</a></li>
<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Project_Concepts/Monitoring">Related changes</a></li>
<!-- This is the toolbox section -->
<li id="t-upload"><a href="http://wiki.eclipse.org/Special:Upload">Upload file</a></li>
<li id="t-specialpages"><a href="http://wiki.eclipse.org/Special:Specialpages">Special pages</a></li>
<li id="t-print"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Monitoring&amp;printable=yes">Printable version</a></li> <li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Monitoring&amp;oldid=113732">Permanent link</a></li> </ul>
</div>
<!-- Additions and mods for leftside nav End here -->
<div id="column-content">
<div id="content">
<a name="top" id="top"></a>
<div id="tabs">
<ul class="primary">
<li class="active"><a href="Monitoring.html"><span class="tab">Page</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Project_Concepts/Monitoring&amp;action=edit"><span class="tab">Discussion</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Monitoring&amp;action=edit"><span class="tab">View source</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Monitoring&amp;action=history"><span class="tab">History</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Project&#32;Concepts/Monitoring"><span class="tab">Edit</span></a></li>
</ul>
</div>
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<h1 class="firstHeading">SMILA/Project Concepts/Monitoring</h1>
<div id="bodyContent">
<h3 id="siteSub">From Eclipsepedia</h3>
<div id="contentSub"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a> | <a href="../Project_Concepts.1.html" title="SMILA/Project Concepts">Project Concepts</a></span></div>
<div id="jump-to-nav">Jump to: <a href="Monitoring.html#column-one">navigation</a>, <a href="Monitoring.html#searchInput">search</a></div> <!-- start content -->
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="Monitoring.html#Description"><span class="tocnumber">1</span> <span class="toctext">Description</span></a></li>
<li class="toclevel-1"><a href="Monitoring.html#Discussion"><span class="tocnumber">2</span> <span class="toctext">Discussion</span></a></li>
<li class="toclevel-1"><a href="Monitoring.html#Technical_proposal"><span class="tocnumber">3</span> <span class="toctext">Technical proposal</span></a>
<ul>
<li class="toclevel-2"><a href="Monitoring.html#Overview"><span class="tocnumber">3.1</span> <span class="toctext">Overview</span></a></li>
<li class="toclevel-2"><a href="Monitoring.html#Integration_with_TPTP"><span class="tocnumber">3.2</span> <span class="toctext">Integration with TPTP</span></a></li>
<li class="toclevel-2"><a href="Monitoring.html#Technologies"><span class="tocnumber">3.3</span> <span class="toctext">Technologies</span></a></li>
<li class="toclevel-2"><a href="Monitoring.html#Further_Development_Decisions"><span class="tocnumber">3.4</span> <span class="toctext">Further Development Decisions</span></a></li>
</ul>
</li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a name="Description"></a><h2> <span class="mw-headline"> Description </span></h2>
<p>The SMILA needs functionality to provide
</p>
<ul><li> information about the state and availability of the whole system
</li><li> information about the state and availability of single components
</li><li> mechanisms to manage components (start, stop, restart, pause, resume, update, etc.)
</li></ul>
<p>Standards like snmp and JMX should be supported.
</p><p><br />
</p>
<a name="Discussion"></a><h2> <span class="mw-headline"> Discussion </span></h2>
<a name="Technical_proposal"></a><h2> <span class="mw-headline"> Technical proposal </span></h2>
<a name="Overview"></a><h3> <span class="mw-headline"> Overview </span></h3>
<p>This chart shows the Monitoring architecture:
</p><p><a href="http://wiki.eclipse.org/Image:Monitoring_architecture.png" class="image" title="Image:monitoring_architecture.png"><img alt="Image:monitoring_architecture.png" src="http://wiki.eclipse.org/images/f/ff/Monitoring_architecture.png" width="960" height="720" border="0" /></a>
</p><p>The architecture shown supports communication via JMX and SNMP. SNMP is seeen as an add-on on top of JMX and is not a must have for SMILA. Every Component to be monitored therefore must provide an implementation of a so called Agent. For Java Components, this Agent must support JMX. Additional SNMP functionality can be added using the JMX. There are 2 possibilities
</p>
<ul><li> [<a href="http://www.snmp4j.org/" class="external text" title="http://www.snmp4j.org/" rel="nofollow">snmp4j</a>]: an enterprise class free open source and state-of-the-art SNMP implementation for Java. It supports mapping from JMX MBean instrumentation to SNMP scalars, tables, and notifications. The coding has to be done manually.
</li><li> [<a href="http://www.adventnet.com/products/snmpadaptor/index.html" class="external text" title="http://www.adventnet.com/products/snmpadaptor/index.html" rel="nofollow">AdventNet SNMP Adaptor for JMX</a>]: an SNMP to JMX adaptor that provides a Configuration Wizard for configuring the SNMP adaptor for user-defined MBeans and it automatically generates MIBs. Unfortunately this is NOT open source. However, this may be interesting in the eccenca context.
</li></ul>
<p>Non Java Components (C++, .Net, etc.) do not support JMX. Depending on what protocol to support, there are again 2 options (the first is the most flexibel one)
</p>
<ul><li> JMX and/or SNMP: to support JMX, a wrapping Java Agent hast to be implemented. It the communication with the non Java Component has to be implemented in the MBean classes, using some kind of communication protocoll (JNI, Corba, etc.). SNMP functionality can be added to this Agent as for a regular Agent (see above).
</li><li> SNMP only: depending on the technology, there may exist direct snmp support. For C+\+ there exists the open source library [<a href="http://www.agentpp.com/" class="external text" title="http://www.agentpp.com/" rel="nofollow">Agent+\+</a>] that could be used directly in a C+\+
</li></ul>
<p>component. So there is no need to implement any wrapping Java Agent.
</p><p>Here is the architecture in more detail:
</p><p><a href="http://wiki.eclipse.org/Image:Monitoring_architecture_details.png" class="image" title="Image:monitoring_architecture_details.png"><img alt="Image:monitoring_architecture_details.png" src="http://wiki.eclipse.org/images/1/19/Monitoring_architecture_details.png" width="960" height="720" border="0" /></a>
</p><p>Note that in the Agents the SNMP Adaptor may be optional and that for the C+\+ Component, only one Agent would be provided (either Agent+\+ or a wrapping Java Agent).
</p><p>This architecture leads to lots of components that are directly monitored by JMX/SNMP Management Consoles. Such Consoles may be limited to a certain number of components. To reduce the number of components to access one could provide "Meta"-Agents, an Agent implementation that collects data from multiple components and offers the management console a consolidated state. How such a consolidation is done is specific to the components that should be combined.
</p>
<a name="Integration_with_TPTP"></a><h3> <span class="mw-headline"> Integration with TPTP </span></h3>
<p>Based on the information provided by PoC [<a href="http://bugs.brox.de/confluence/display/ECS/Performance+measurement" class="external autonumber" title="http://bugs.brox.de/confluence/display/ECS/Performance+measurement" rel="nofollow">[1]</a>] the integration with Performance Measurement using TPTP should be straight foreward. For Java Components TPTP Agents use JMX to communicate with a component, so this information can be provided by the Agent. Non Java components are accessed directly&nbsp;?
</p>
<a name="Technologies"></a><h3> <span class="mw-headline"> Technologies </span></h3>
<ul><li> [<a href="http://www.snmp4j.org/" class="external text" title="http://www.snmp4j.org/" rel="nofollow">snmp4j</a>]:
</li><li> [<a href="http://www.adventnet.com/products/snmpadaptor/index.html" class="external text" title="http://www.adventnet.com/products/snmpadaptor/index.html" rel="nofollow">AdventNet SNMP Adaptor for JMX</a>]:
</li><li> <a href="http://www.agentpp.com/" class="external text" title="http://www.agentpp.com/" rel="nofollow">[Agent+\+</a>]
</li><li> [<a href="https://opendmk.dev.java.net/" class="external text" title="https://opendmk.dev.java.net/" rel="nofollow">OpenDMK</a>] (not yet evaluated, may be interesting)
</li><li> [<a href="http://snmplink.org/" class="external autonumber" title="http://snmplink.org/" rel="nofollow">[2]</a>] (good collection of resources)
</li></ul>
<a name="Further_Development_Decisions"></a><h3> <span class="mw-headline"> Further Development Decisions </span></h3>
<p>At the meeting in Kaiserslautern (5/6.3.2008) we decided to extend the existing PoC for the upper functionality (simple monitoring of state or values and managing functions (access methods).
</p><p>Main goal is the use of JMX. The parts in the concept with SNMP should be seen as functions that can be added later.
</p>
<ul><li> Further Tasks:
</li></ul>
<p>Concept for an Extended Version of the existing Performance Counters (SMILA Monitoring Concept with Performance Counters).
Concept should cover:
</p>
<ul><li><ul><li> Simple interfaces for exporting value to JMX
</li><li> Simple interfaces that allow JMX Functionality (getter/setter) to specific variables
</li><li> JMX Functionality should be encapsulated
</li><li> An API for Starting/Stopping (see above) for SMILA Components
</li></ul>
</li></ul>
<p>How could the API be used to start/stop an OSGI Bundle? Is it possible?
</p>
<ul><li> Implementation
</li></ul>
<!--
NewPP limit report
Preprocessor node count: 8/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
#ifexist count: 0/100
-->
<!-- Saved in parser cache with key wikidb:pcache:idhash:15304-0!1!0!!en!2!edit=0 and timestamp 20130416110912 -->
<div class="printfooter">
Retrieved from "<a href="Monitoring.html">http://wiki.eclipse.org/SMILA/Project_Concepts/Monitoring</a>"</div>
<div id="catlinks"><p class='catlinks'><a href="http://wiki.eclipse.org/Special:Categories" title="Special:Categories">Category</a>: <span dir='ltr'><a href="http://wiki.eclipse.org/Category:SMILA" title="Category:SMILA">SMILA</a></span></p></div> <!-- end content -->
<div class="visualClear"></div>
</div>
</div>
</div>
<!-- Yoink of toolbox for phoenix moved up -->
</div>
</div>
<div id="clearFooter"/>
<div id="footer" >
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact</a></li>
<li><a href="http://wiki.eclipse.org/Eclipsepedia:About" title="Eclipsepedia:About">About Eclipsepedia</a></li>
</ul>
<span id="copyright">Copyright &copy; 2013 The Eclipse Foundation. All Rights Reserved</span>
<p id="footercredit">This page was last modified 09:41, 15 August 2008 by <a href="http://wiki.eclipse.org/User:Daniel.stucky.empolis.com" title="User:Daniel.stucky.empolis.com">Daniel Stucky</a>. </p>
<p id="footerviews">This page has been accessed 3,249 times.</p>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-910670-4");
pageTracker._trackPageview();
</script>
<!-- <div class="visualClear"></div> -->
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
</div>
<!-- Served in 0.076 secs. --></body></html>