Does it have threshold and alert notification as well? Tom was telling me about your stuff. Let us know what you want to contribute and how it can/would fit.

FYI, the graphing stuff was butt easy to do. www.jfree.org

Thanks,

Bill

Jeff Haynie wrote:

We also have written a native (via JNI) library for getting all the system level information such as CPU load, handles, threads, memory, etc. and we have a framework that fires JMX snapshot notifications (configurable). Our management server then monitors these snapshots and our analytics server records them in a DB for trending. Our management GUI (in Swing) can display near real-time machine information for each jboss server on the network - all with graphing, etc. much like task manager in Windows.


I can potentially contribute some of this if helpful too.


Jeff


Ivelin Ivanov wrote:


Very nice, Bill.

Email notifications when memoty is low will be very
useful.
Is there a CPU utilization monitor as well?

Scott and I talked some time ago about a heart watch
service which will restart the server when the memory
is too low or the CPU is pegged for too long.

Your work will be of help.

Do you have some thoughts what is an appropriate way
to restart the server. Not restart the JVM, but just
undeploy everything and deploy it again.


Ivelin



--- Jae Gangemi <[EMAIL PROTECTED]> wrote:


 agreed - i can't wait to start playing w/ it.
 any proposed ETA for 3.2.4?

-jae
-----Original Message-----
From: [EMAIL PROTECTED]


[mailto:[EMAIL PROTECTED]


On Behalf Of Ben
Sabrin
Sent: Tuesday, January 06, 2004 3:00 PM
To: [EMAIL PROTECTED]
Subject: RE: [JBoss-dev] New JBoss Monitoring
services


Well done Bill, this is good stuff:) -----Original Message-----
From: [EMAIL PROTECTED]



[mailto:[EMAIL PROTECTED]


On Behalf Of Bill
Burke
Sent: Friday, December 12, 2003 4:24 PM
To: Jboss-Dev; JBoss 2; [EMAIL PROTECTED]
Subject: [JBoss-dev] New JBoss Monitoring services

This will be released in JBoss 3.2.4, but it is now
available in 3.2 branch: cvs checkout -r Branch_3_2 jboss-3.2

I've also attached some screen shots


JBoss Monitoring


In JBoss 3.2.4, we've implemented some new JMX MBean
monitoring and a nice GUI around this infrastructure as well as a way
to plug in how alerts are processed.  Why didn't we use the JMX
Gauge and String monitors that come implemented with the JMX spec?  3
reasons:

1. They are not integrated with our Service
architecture
2. They have no way of determining which monitors
have sent an alert and
are currently disabled because an alert was reached
3. They have no way
of reseting an alert

So, what infrastructure have we built?  First let's
look at configuring a JMX MBean monitor through the plain old
-service.xml interface that you would to create any MBean.

All Monitors are MBeans that start a thread to watch
the values of another MBean's attribute. When a monitoring
threshold is reached, the MOnitor will send out an MBean Notification to a set
of registered listeners. Currently in JBoss, the are two types of
listeners, a dumb Console listener, and an Email listener which will
send out an email whenever an alert is received. Of course, the
messages are fully configurable.



Numeric Attribute Monitors
The first type of monitor is a
org.jboss.monitor.ThresholdMonitor that is used to track Numberic MBean attributes. Here is
an example configuration of a monitor of free available memory.
It will send a JMX


Notification when free memory goes below one
megabyte. The MBean it is watching over that has this particular stat is
jboss.system:type=ServerInfo.


File: FreeMemory_Monitor-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.monitor.ThresholdMonitor"
       name="jboss.monitor:service=FreeMemory">
  <attribute name="MonitorName">FreeMemory
Monitor</attribute>
  <attribute


name="ObservedObject">jboss.system:type=ServerInfo</attribute>


  <attribute
name="ObservedAttribute">FreeMemory</attribute>
  <attribute name="Threshold">1000000</attribute>
  <attribute name="CompareTo">1</attribute>
  <attribute name="Period">1000</attribute>
  <attribute name="Enabled">true</attribute>
  <depends-list
optional-attribute-name="AlertListeners">



<depends-list-element>jboss.alerts:service=ConsoleAlertListener</depends


-list-element>



<depends-list-element>jboss.alerts:service=EmailAlertListener</depends-l


ist-element>
  </depends-list>
</mbean>
</server>

Let's walk through each attribute:

  <attribute
name="MonitorName">FreeMemory</attribute>

The display name in which this monitor will be shown
in the web-console.

 If you create monitors by hand you can have it
managed by the web-console if you have one monitor defined in one
file only and the name of the file is the same name as the monitor and
the file lives in ./deploy/management/monitors/  So The above example
the filename should be FreeMemory_Monitor-service.xml, notice that
whitespace is substituted

with an '_' charater.


<attribute



name="ObservedObject">jboss.system:type=ServerInfo</attribute>


  <attribute
name="ObservedAttribute">FreeMemory</attribute>

These are the MBean and the MBean attribute this
monitor will watch.  If

the MBean is a ServiceMBean then you should make
this a <depends optional-attribute> so that this monitor doesn't
start before the
watched MBean is loaded.

  <attribute name="Threshold">1000000</attribute>
  <attribute name="CompareTo">1</attribute>

The Threshold is the value threshold of the
attribute.  The CompareTo is

a numeric value, -1 means > (greater than), 0 means
= (equal), 1 means (less than).  These are the same values used by Java
comparators.  So in

this example, when the FreeMemory attribute is less
than 1000000 a JMX notification will be sent.

<attribute name="Period">1000</attribute>

The MBean creates a thread that will wake up every
so often to check the

threshold against the MBean attribute it is
watching.  The Period is the

time in milliseconds this thread will sleep.


<attribute name="Enabled">true</attribute>


Enabled determines whether or not this monitor
should actually monitor.  It is the on/off switch of the monitor.

  <depends-list
optional-attribute-name="AlertListeners">



<depends-list-element>jboss.alerts:service=ConsoleAlertListener</depends


-list-element>



<depends-list-element>jboss.alerts:service=EmailAlertListener</depends-l


ist-element>
  </depends-list>

When the threshold is triggered, the Monitor will
send  JMX NOtification

to all registered listeners.  For this particular
MOnitor, a Console and



=== message truncated ===




-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development






-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development


-- ================ Bill Burke Chief Architect JBoss Group LLC. ================




------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to