geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Geronimo v2.1 > Monitoring
Date Thu, 15 Apr 2010 07:40:00 GMT
<html>
<head>
    <base href="http://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1520/1/1/_/styles/combined.css?spaceKey=GMOxDOC21&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background-color: white" bgcolor="white">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
     <h2><a href="http://cwiki.apache.org/confluence/display/GMOxDOC21/Monitoring">Monitoring</a></h2>
     <h4>Page <b>edited</b> by             <a href="http://cwiki.apache.org/confluence/display/~carol%2Bh">Di
Hu</a>
    </h4>
     
          <br/>
     <div class="notificationGreySide">
         <style type='text/css'>/*<![CDATA[*/
table.ScrollbarTable  {border: none;padding: 3px;width: 100%;padding: 3px;margin: 0px;background-color:
#f0f0f0}
table.ScrollbarTable td.ScrollbarPrevIcon {text-align: center;width: 16px;border: none;}
table.ScrollbarTable td.ScrollbarPrevName {text-align: left;border: none;}
table.ScrollbarTable td.ScrollbarParent {text-align: center;border: none;}
table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}

/*]]>*/</style><div class="Scrollbar"><table class='ScrollbarTable'><tr><td
class='ScrollbarPrevIcon'><a href="/confluence/display/GMOxDOC21/Migrating+to+Apache+Geronimo"><img
border='0' align='middle' src='/confluence/images/icons/back_16.gif' width='16' height='16'></a></td><td
width='33%' class='ScrollbarPrevName'><a href="/confluence/display/GMOxDOC21/Migrating+to+Apache+Geronimo">Migrating
to Apache Geronimo</a>&nbsp;</td><td width='33%' class='ScrollbarParent'><sup><a
href="/confluence/display/GMOxDOC21/User%27s+guide"><img border='0' align='middle' src='/confluence/images/icons/up_16.gif'
width='8' height='8'></a></sup><a href="/confluence/display/GMOxDOC21/User%27s+guide">User's
guide</a></td><td width='33%' class='ScrollbarNextName'>&nbsp;<a
href="/confluence/display/GMOxDOC21/Naming+%28JNDI%29">Naming (JNDI)</a></td><td
class='ScrollbarNextIcon'><a href="/confluence/display/GMOxDOC21/Naming+%28JNDI%29"><img
border='0' align='middle' src='/confluence/images/icons/forwd_16.gif' width='16' height='16'></a></td></tr></table></div>
<div>
<ul>
    <li><a href='#Monitoring-Whatisit%3F'>What is it?</a></li>
<ul>
    <li><a href='#Monitoring-Agent%28Server%29'>Agent (Server)</a></li>
    <li><a href='#Monitoring-Console%28Client%29'>Console (Client)</a></li>
</ul>
    <li><a href='#Monitoring-WhatcanImonitor%3F'>What can I monitor?</a></li>
    <li><a href='#Monitoring-Whatistheimpactonperformance%3F'>What is the impact
on performance?</a></li>
    <li><a href='#Monitoring-Installation'>Installation</a></li>
    <li><a href='#Monitoring-Customization'>Customization</a></li>
<ul>
    <li><a href='#Monitoring-Datasources'>Datasources</a></li>
    <li><a href='#Monitoring-Servers'>Servers</a></li>
    <li><a href='#Monitoring-Graphs'>Graphs</a></li>
    <li><a href='#Monitoring-Views'>Views</a></li>
    <li><a href='#Monitoring-Monitoringtheserverwithpredefinedgraphsandviews'>Monitoring
the server with predefined graphs and views</a></li>
</ul>
</ul></div>

<h1><a name="Monitoring-Whatisit%3F"></a>What is it?</h1>

<p>The Geronimo monitoring plug-in is broken down between server and client plug-ins,
referred to as the 'Agent' and 'Console' respectively. When properly setup, these plug-ins
provide both local and remote real-time JSR77 compliant statistic monitoring, as well as historical
tracking of any exposed statistic with visual representations drawn in the form of graphs
through the Dojo Toolkit's dojoX Charting packages.</p>

<h2><a name="Monitoring-Agent%28Server%29"></a>Agent (Server)</h2>

<p>The Agent plug-in can be deployed headless on an instance of Geronimo requiring no
administrative console able to be polled by the console plug-in from any instance of Geronimo
that can communicate with it. There are two flavors of the Agent plug-in available; the first
allowing for EJB connections, and the second allowing for JMX connections between the Console
and Agent.</p>

<p>While the EJB Agent is the default plug-in installed with the full JEE5 assembly
of Geronimo, the JMX is recommended for those that otherwise would require no form of EJB
in their assembly but still require monitoring ability.</p>

<h2><a name="Monitoring-Console%28Client%29"></a>Console (Client)</h2>

<p>Conversely, the console plug-in, which requires the Geronimo administrative console,
can connect to multiple Agent plug-ins across multiple instances of Geronimo, allowing centralized
monitoring of statistics on a multitude of machines. The same console is able to connect to
either the EJB or the JMX flavor of the Agent plug-in, or even connect to both types on different
instances of Geronimo.</p>

<h1><a name="Monitoring-WhatcanImonitor%3F"></a>What can I monitor?</h1>

<p>From within the Agent plug-in in the administrative console, it is possible to define
a connection to any instance of Geronimo that has the Monitoring Agent plug-in deployed. Furthermore,
any MBean deployed on the Geronimo instance with the Monitoring Agent that provides statistics
can be historically tracked, allowing for graph generation from any statistic element exactly
as defined.</p>

<p>Standard behavior of the Monitoring Agent is to take snapshots of the JSR77 defined
JVM statistics, as well as the web container statistics for the web container being used (either
Jetty or Tomcat). Additional MBeans can be added, or these defaults can be easily removed
through the Monitoring Console plug-in.</p>

<p>Currently available statistics:</p>
<ul>
	<li>TransactionManager Statistics</li>
	<li>JVM Statistics</li>
	<li>AJP/Web/WebSSL Connector Statistics</li>
	<li>ThreadPool Statistics</li>
	<li>Web Application Statistics</li>
</ul>


<h1><a name="Monitoring-Whatistheimpactonperformance%3F"></a>What is the
impact on performance?</h1>

<p>Generally speaking, the more monitoring that is enabled, the greater impact on overall
performance. Following this rule, the more MBeans being tracked by the monitoring plug-in
on a given server, the greater the impact. It is generally good practice to limit enabled
MBeans to only those that are necessary as opposed to having everything enabled.</p>

<p>Additionally, the monitoring plug-in is in a dormant state when not collecting snapshots.
On a default deployment, it will only consume cycles once every 5 minutes.</p>

<h1><a name="Monitoring-Installation"></a>Installation</h1>

<p>Both Agent(Server) and Console(Client) plug-ins are pre-installed on the full JEE
distributions. If you are using a little-G distribution or customized server assembly and
want to leverage Monitoring Plug-ins, you might need to read this section to learn how to
install them. </p>

<p>There are two methods for installing the necessary Monitoring Plug-ins. The first
(and easiest), is to log into the Geronimo administrative console for the instance of Geronimo
onto which the plug-in(s) will be installed, and select 'Plugins' from the left navigation
menu.</p>

<p>In the Plugins portlet:</p>
<ul>
	<li>Click 'Update repository list'</li>
	<li>Select a valid Geronimo repository from the list available</li>
	<li>Click 'Show Plugins in selected repository'</li>
	<li>To install the Monitoring Agent, select the appropriate plug-in from the list shown
	<ul>
		<li>If the OpenEJB component is not already present on the assembly, it may be beneficial
to use the JMX flavor of the Monitoring Agent</li>
	</ul>
	</li>
	<li>To install the Monitoring Console, select the plugin appropriate for the web container
in use from the list shown</li>
	<li>If the goal is to both view and record statistics from the same instance of Geronimo,
both the Agent and Console plugins must be installed</li>
</ul>


<p>The second method is required if starting from a minimal assembly, or if the Geronimo
administrative console is otherwise unavailable.</p>

<p>In terminal:</p>
<ul>
	<li>Go to the Geronimo bin directory</li>
	<li>Execute: <tt>java &#45;jar deployer.jar search-plugins</tt></li>
	<li>At the prompt, enter the appropriate number(s) for the desired plugins</li>
</ul>


<h1><a name="Monitoring-Customization"></a>Customization</h1>

<p>One of the primary goals in developing the monitoring and management plugin was to
allow an administrator to monitor any exposed component on any Geronimo server.</p>

<h2><a name="Monitoring-Datasources"></a>Datasources</h2>

<p>The datasources used to communicate to the DB on the server and client side are all
packaged into separate plugins. By default, the provided datasources are used to connect an
Apache Derby database (the reason for this is because the default DB that Geronimo uses is
also Derby). However, since these datasources are packaged as plugins, anyone is able to write
their own datasource deployment descriptor, package it into a plugin, and use it instead of
the one provided by default. Check the <a href="/confluence/display/GMOxDOC21/Configuring+your+own+Monitoring+Plugin+DataSource"
title="Configuring your own Monitoring Plugin DataSource">Configuring your own Monitoring
Plugin DataSource</a> section for further details.</p>

<h2><a name="Monitoring-Servers"></a>Servers</h2>

<p>To begin monitoring after the monitoring console has been installed, it is necessary
to first add a server. This is done by first selecting the monitoring console from under the
'Server' category in the Geronimo administrative console.</p>

<p>Once in the monitoring console, simply select the 'Add Server' link under the servers
category.</p>

<p><img src="/confluence/download/attachments/70428/monitoring1.png" align="absmiddle"
border="0" /></p>

<p>In the Server Add form, fill in the necessary information about the server that is
being added as follows and click '<b>Add</b>'.<br/>
Alternatively, it is possible to test the connection using the information provided via the
'<b>Test these settings</b>' link on the right navigation pane.</p>

<p><img src="/confluence/download/attachments/70428/monitoring2.png" align="absmiddle"
border="0" /></p>

<p>After a server is successfully added, the browser will be redirected to the main
monitoring console page, again listing all <b>Views</b>, <b>Servers</b>,
and <b>Graphs</b> configured on the console.<br/>
If configuring monitoring on a freshly deployed instance of the monitoring agent, it is necessary
to click the '<b>Enable Query</b>' link associated with the added server, which
will enable snapshot collection on the default duration of 5 minutes.<img src="/confluence/download/attachments/70428/monitoring3.png"
align="absmiddle" border="0" /><br/>
Once the Snapshot querying has been enabled, the monitoring agent will immediately begin taking
statistics snapshots on the default interval of 5 minutes. This can be changed by selecting
the '<b>Edit</b>' link associated with the server, otherwise particular statistics
being collected can be viewed or changed by selecting the server name.<br/>
<img src="/confluence/download/attachments/70428/monitoring4.png" align="absmiddle" border="0"
/><br/>
&nbsp;<br/>
When viewing a server, information such as Status (Online/Offline), Snapshot Thread (running
or not), Timestamp for added/last seen/modified, address, Snapshot Duration, and snapshot
Retention will be visible.<br/>
In addition to this, the bulk of the page is consumed by detailed information on all statistics
being monitored by the monitoring agent. Clicking on one of the statistic names will result
in a redirection to a graph add page to generate a graph based on that statistic with much
if the information already populated.<br/>
&nbsp;<br/>
With the Xs and &#43;s on the right pane of the page, it is possible to either disable
or enable (respectively) statistics collection for given MBean.<br/>
&nbsp;<br/>
<img src="/confluence/download/attachments/70428/monitoring5.png" align="absmiddle" border="0"
/><br/>
&nbsp;</p>

<h2><a name="Monitoring-Graphs"></a>Graphs</h2>

<p>Administrators using the console are able to create customized graphs. They are able
to specify which statistic to be graphed, in addition to the ability to perform a mathematical
operation on two statistics.</p>

<p>Graphs can be added for a specific statistic by either selecting the statistic while
viewing a server as previously mentioned, or by selecting the <b>Add Graph</b>
from the monitoring console main page.</p>

<p>Once on the graph adding page, the server must first be selected, followed by the
MBean and the statistic to be graphed, and a Timeframe, which is the duration that will be
graphed (most recent 60 minutes, for example). After this, a math operation can be selected
from presets (basic addition, multiplication, subtraction or division), or by selecting 'other'
to custom define one. Once a math operation is defined (which is optional), an optional secondary
statistic can be selected as well.</p>

<p>X and Y axis labels, as well as the description and name must be manually defined.<br/>
Once all of this information is provided, simply click '<b>Add</b>' to add the
graph to the database.<br/>
<img src="/confluence/download/attachments/70428/monitoring6.png" align="absmiddle" border="0"
/><br/>
&nbsp;<br/>
After the graph is added, the browser will be redirected to the main monitoring console page,
where selecting the name of the graph will open a pop-up window displaying the graph as follows:<br/>
<img src="/confluence/download/attachments/70428/monitoring7.png" align="absmiddle" border="0"
/></p>

<h2><a name="Monitoring-Views"></a>Views</h2>

<p>Since there may be many different graphs, the concept of a "view" is used to bundle
related graphs together for more manageable use. For example, all graphs related to a specific
server can be bundled together, or all graphs graphing the throughput of servers.</p>

<p>To add a view, simply select the '<b>Create View</b>' link from the monitoring
console main page. This will open a form that requires providing a View name, description
as well as checking the boxes next to the graphs desired to be incorporated in this view.<img
src="/confluence/download/attachments/70428/monitoring8.png" align="absmiddle" border="0"
/><br/>
&nbsp;<br/>
Once complete, simply click save to add the view to the database.<br/>
Displaying the view will show all graphs currently in the view on a single page, as well as
automatically refresh every 5 minutes.<br/>
&nbsp;<br/>
<img src="/confluence/download/attachments/70428/monitoring9.png" align="absmiddle" border="0"
/><br/>
&nbsp;<br/>
&nbsp;</p>

<h2><a name="Monitoring-Monitoringtheserverwithpredefinedgraphsandviews"></a>Monitoring
the server with predefined graphs and views</h2>

<p>Geronimo 2.1.5 provides a set of predefined graphs and views for server monitoring.
With the enhancement, a view-only user monitor is created and the user can leverage those
graphs and views directly to monitor the health of a server. See <a href="/confluence/display/GMOxDOC21/Monitoring+the+server+with+predefined+graphs+and+views"
title="Monitoring the server with predefined graphs and views">Monitoring the server with
predefined graphs and views</a> for the details.</p>
     </div>
     <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
       </div>

       <a href="http://cwiki.apache.org/confluence/display/GMOxDOC21/Monitoring">View
Online</a>
       |
       <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=70428&revisedVersion=40&originalVersion=39">View
Change</a>
              |
       <a href="http://cwiki.apache.org/confluence/display/GMOxDOC21/Monitoring?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message