users@glassfish.java.net

Re: Right name for MBean description

From: Shalini Muthukrishnan <Shalini.Muthukrishnan_at_Sun.COM>
Date: Mon, 13 Oct 2008 11:10:11 +0530

Hi,

Please note that you could use the "observedmbean" property in CLI
instead of specifying the observedobject property :

http://blogs.sun.com/technical/entry/management_rules_observedmbean_property

Regards
Shalini.


真嶌 晋 wrote:
>
> I write MBean name as below instead of my first specified name. IT WORKS.
>
> wrong one
> user:impl-class-name=asap.mbeans.DummyGauge,name=DummyGauge,server=cluster1
>
> right one
> user:impl-class-name=asap.mbeans.DummyGauge,name=DummyGauge,server=instance1
>
> Thanks,
>
> Susumu Majima
>
>
>> -----Original Message-----
>> From: Shalini.Muthukrishnan_at_Sun.COM
>> [mailto:Shalini.Muthukrishnan_at_Sun.COM]
>> Sent: Thursday, October 09, 2008 7:02 PM
>> To: users_at_glassfish.dev.java.net
>> Subject: Re: Right name for MBean description
>>
>> Could you try specifying server=* instead of cluster=cluster1.
>>
>> 真嶌 晋 wrote:
>>
>>> Hello Forks,
>>>
>>> I'm trying to set management rule to cluster. But It doesn't work.
>>>
>>> I write dummy MBean and MBean for sending mail.
>>> I create-mbean by commands below. It ends succesful.
>>>
>>> asadmin create-mbean --user admin --port 4848 --name DummyGauge
>>> --target cluster1 asap.mbeans.DummyGauge asadmin
>>>
>> create-mbean --user
>>
>>> admin --port 4848 --name GaugeAction --target cluster1
>>> asap.action.GaugeAction
>>>
>>> I use Admin Colsole to create-rules.
>>> I specified
>>>
>> "user:impl-class-name=asap.mbeans.DummyGauge,name=DummyGauge,c
>> luster=cluster1" as monitoring MBean name.
>>
>>> The mail send says "Notifyjmx.monitor.error.mbean".
>>>
>>> What is the proper Mbean name?
>>>
>>> Does anyone success to set monitoring to cluster environment?
>>>
>>> Thanks
>>> Susumu Majima
>>>
>>> +++++ sources ++++++
>>> /*
>>> * DummyGaugeMBean.java
>>> *
>>> *
>>> */
>>> package asap.mbeans;
>>>
>>> public interface DummyGaugeMBean {
>>> public long getGauge();
>>> }
>>>
>>> ------------------------------------
>>>
>>> /*
>>> * DummyGauge.java
>>> *
>>> */
>>> package asap.mbeans;
>>>
>>> import java.util.logging.Logger;
>>>
>>> /**
>>> * Return number from 100000 to 1000000 every call
>>> *
>>> *
>>> */
>>> public class DummyGauge implements DummyGaugeMBean {
>>>
>>> Logger log = Logger.getLogger("DummyGauge");
>>>
>>> private long gauge = 100000L;
>>> private long multi = 1L;
>>> private final long GAUGE_STEP = 100000L;
>>> private final long MAX_GAUGE = 1000000L;
>>> private final long MIN_GAUGE = 100000L;
>>>
>>> public synchronized long getGauge() {
>>> return setupGauge();
>>> }
>>>
>>> private long setupGauge() {
>>>
>>> gauge += multi * GAUGE_STEP;
>>>
>>> if(gauge == MAX_GAUGE || gauge == MIN_GAUGE) {
>>> multi *= -1L; // change add/sub
>>>
>> switch
>>
>>> }
>>>
>>> return gauge;
>>>
>>> }
>>>
>>> }
>>>
>>>
>>> --------------------------------------
>>> /*
>>> * GaugeActionMbean.java
>>> *
>>> *
>>> */
>>> package asap.action;
>>>
>>> public interface GaugeActionMBean {
>>>
>>> }
>>>
>>> -------------------------------------------
>>> /*
>>> * GaugeAction.java
>>> *
>>> */
>>> package asap.action;
>>>
>>> import java.util.Date;
>>> import java.util.Properties;
>>> import java.util.logging.Logger;
>>>
>>> import javax.mail.Message;
>>> import javax.mail.Session;
>>> import javax.mail.Transport;
>>> import javax.mail.internet.InternetAddress;
>>> import javax.mail.internet.MimeMessage; import
>>> javax.management.Notification; import
>>> javax.management.NotificationListener;
>>>
>>> /**
>>> *
>>> * 1) Below Low Level
>>> * 2) Over High Level
>>> * Send mail
>>> *
>>> */
>>> public class GaugeAction implements GaugeActionMBean,
>>> NotificationListener {
>>>
>>> private static final String SMTP_HOST = "localhost";
>>> private final String FROM_ADDR =
>>>
>> "glassfish_at_lab-wtomcat102d.db.xxxxx.co.jp";
>>
>>> private final String FROM_NAME = "glassfish";
>>> private final String TO_ADDR = "susumu.majima_at_mail.xxxxx.co.jp";
>>> private final String ENCODE_STR = "iso-2022-jp";
>>>
>>> private Logger log = Logger.getLogger("GaugeAction");
>>> private static Properties props;
>>> private static Session session;
>>>
>>> static {
>>> props = System.getProperties();
>>> props.put("mail.smtp.host",SMTP_HOST);
>>> session = Session.getDefaultInstance(props, null);
>>> }
>>>
>>> /**
>>> * Executed from GlassFish
>>> */
>>> @Override
>>> public void handleNotification(Notification
>>>
>> notification, Object
>>
>>> handback) {
>>>
>>>
>>>
>> if(notification.getType().equals("jmx.monitor.gauge.low")) {
>> // Low Limit
>>
>>> sendMail("Below Low Lebel", "Gauge
>>>
>> level is lower than the low lebel");
>>
>>> } else if
>>>
>> (notification.getType().equals("jmx.monitor.gauge.high")) {
>> // High Limit
>>
>>> sendMail("Over High Lebel", "Gauge
>>>
>> level is higher than the high lebel");
>>
>>> } else {
>>> sendMail("Notification", "Notify" +
>>>
>> notification.getType());
>>
>>> }
>>> }
>>>
>>> private void sendMail(String subject, String message) {
>>>
>>> try {
>>> MimeMessage mimeMessage = new
>>>
>> MimeMessage(session);
>>
>>> // send from
>>> mimeMessage.setFrom(
>>> new
>>>
>> InternetAddress(FROM_ADDR, FROM_NAME, ENCODE_STR));
>>
>>> // send to
>>>
>>>
>> mimeMessage.setRecipients(Message.RecipientType.TO, TO_ADDR);
>>
>>> mimeMessage.setHeader("Content-type",
>>>
>> "text/plain");
>>
>>> mimeMessage.setSubject(subject, ENCODE_STR);
>>> mimeMessage.setText(message);
>>> mimeMessage.setSentDate(new Date());
>>> Transport.send(mimeMessage);
>>> } catch (Exception ex) {
>>> ex.printStackTrace();
>>> }
>>>
>>> }
>>> }
>>>
>>>
>>>
>> ---------------------------------------------------------------------
>>
>>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>>
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>