loyalxuan 发表于 2017-2-14 12:13:12

Monitoring WebLogic using JMX


Monitoring WebLogic using JMX


March 16, 2007 – 1:29 pm  
It's not as straightforward as you might think or expect, but once
setup, gives a lot more insight into the behavior of your applications.
Use your favorite JMX client (jconsole, jManage, SiteScope, MC4J, etc.)
to monitor thread pools, database connections, memory usage and any
other MBean attributes.

  
There are two ways (that I know of) to enable a WebLogic application for monitoring using JMX.



[*]Enable IIOP and default user for the WebLogic server
[*]Use the Java 5 JMX remote capabilities

Enable IIOP and default user for the WebLogic server

Step 1: Enable Anonymous Admin Lookup
  
From the WebLogic documentation
:

  
The Anonymous Admin Lookup Enabled option specifies whether
anonymous, read-only access to WebLogic Server MBeans should be allowed
from the MBean API. With this anonymous access, you can see the value of
any MBean attribute that is not explicitly marked as protected by the
Weblogic Server MBean authorization process. This option is enabled by
default to assure backward compatibility. For greater security, you
should disable this anonymous access.

  
To verify the setting of the Anonymous Admin Lookup Enabled option
through the WebLogic Administration Console, see the Domain: Security:
General page in the Administration Console or the
SecurityConfigurationMBean.AnonymousAdminLookupEnabled attribute.


Step 2: Enable IIOP Protocol for Admin Server and Application Servers


[*]In the Server Settings' Protocol tab, check "Enable IIOP"
[*]Enter the Default IIOP Username and Default IIOP Password.
  
If you don't do this, you will get an error similar to the following when you try to establish an rmi connection:

org.omg.CORBA.NO_PERMISSION: Userdoes not have permission on
weblogic.management.mbeanservers to perform lookup operation.vmcid: 0
completed: No

  
Then you can use the JMX URL to connect to an individual application server:

service:jmx:rmi:///jndi/iiop://127.0.0.1:7001/weblogic.management.mbeanservers.runtime

  
or if you connect to the Admin server, you can view the MBeans for all the servers in the cluster using this URL:

service:jmx:rmi:///jndi/iiop://127.0.0.1:7001/weblogic.management.mbeanservers.domainruntime

  
See also: Enable and configure IIOP


Use Java 5 JMX remote
  
Add the following command-line options to the start script for the WebLogic server you want to monitor:

-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port=8888

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

  
Then, you can connect using this JMX URL:

service:jmx:rmi:///jndi/rmi://127.0.0.1:8888/jmxrmi

and you will got not only the com.bea MBeans, but all of the Java 5 MBeans, also.


Troubleshooting
  
If there are a large number of MBeans in your monitored application, you
may run into a problem using Windows where the IIOP connection will
timeout.You may see an error like this:


Internal communication failed. (in getResults) org.omg.CORBA.COMM_FAILURE:

vmcid: SUNminor code: 208 completed: Maybe

  
In this case you can set the com.sun.CORBA.transport.ORBTCPReadTimeouts
property to adjust the transport read tcp timeout property, which is a
colon separated property with the following syntax.


<initial time to wait: max read giop header time to wait: max read message time to wait: backoff factor>

  
If you are getting this error, then you can add this option to the
jconsole command line, adjusting the 2nd value higher as needed.This
example sets the timeout to 30 seconds:


jconsole -J-Dcom.sun.CORBA.transport.ORBTCPReadTimeouts=10:30000:500:10

Incorporating into LoadRunner
  
Once you have enabled the JMX monitors, you can then incorporate this
data into your LoadRunner test scenarios using SiteScope.SiteScope is
an agent-less monitoring tool that actually comes bundled with
LoadRunner and is free (up to 500 monitoring "points") for
non-production use.
页: [1]
查看完整版本: Monitoring WebLogic using JMX