Weblogic 12c – Monitoring JVM Performance Metrics Using OEM and Java Mission Control

Manoj Sahid Hassankhan

For Weblogic administrators and application devolopers, it may be desirable to view the JVM metrics from a managed server in OEM (CloudControl) and Java Mission Control. It is also possible to use the flight recorder with stored measurement data so that it can be analyzed at a later time.

Issue:

With a standard installation of Weblogic, the jvm metrics can not be retrieved or limited within Oem. Java mission control can not always connect using JMX.

The following error message shown in Oracle Enterprise Manager:

BEA-141277

managedserver-1.out:<May 30, 2018 9:07:44 AM CEST> <Warning> <Management> <BEA-141277> <The JMX MBean PlatformMBeanServerUsed attribute is true, but the Platform MBeanServer was created without the hooks for the WebLogic Server security infrastructure. The Platform MBeanServer will not be used and Platform MBeans will not be available using the WebLogic Server Runtime or Domain Runtime MBeanServers. This can occur if Platform MBeanServer system properties or JVM options (-Dcom.sun.management.jmxremote or JRockit -XManagement) were defined.

In this case we use the following versions:

  • weblogic server 12.1.3
  • java version “1.8.0_77”,Java(TM) SE Runtime Environment (build 1.8.0_77-b03), Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

solution:

To make this work, a number of things need to be arranged.

Customize the linux firewall iptables

example:

iptables -A INPUT -p tcp -m multiport –dports 10005 -m comment –comment “10005/TCP MC OEM” -j ACCEPT

Configure startup arguments for Managed Servers. Use the following arguments:

-XX:+UnlockCommercialFeatures

-XX:+FlightRecorder

-Dcom.sun.management.jmxremote.rmi.port=10005

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

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

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

-Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder

Stop the relevant managed server and then start it again. The JVM metrics must now be visible in Oracle Enterprise Manager and Java Mission Control.

Discribed used monitoring and management properties:

PropertyDescriptionValues
com.sun.management.jmxremote. portEnables the JMX remote agent and creates a remote JMX connector to listen through the specified port. By default, the SSL, password, and access file properties are used for this connector. It also enables local monitoring as described for the com.sun.management.jmxremote property.Port number. No default.
com.sun.management.jmxremote.rmi.port

The RMI connector is a connector for the JMX Remote API that uses RMI to transmit client requests to a remote MBean server.

Where, portNum is the port number to enable JMX RMI connections. Ensure that you specify an unused port number. In addition to publishing an RMI connector for local access, setting this property publishes an additional RMI connector in a private read-only registry at the specified port using the name, jmxrmi. The port number to which the RMI connector will be bound using the system property

Port number. No default.
com.sun.management.jmxremote. authenticateIf this property is false then JMX does not use passwords or access files: all users are allowed all access.true / false. Default is true.
com.sun.management.jmxremote. sslEnables secure monitoring via SSL. If false, then SSL is not used.true / false. Default is true.
Djavax.management.builder.initialMXBeans that are created and destroyed dynamically (for example, memory pools and managers) will automatically be registered and unregistered in the platform MBean server. If the system property javax.management.builder.initial is set, the platform MBean server will be created by the specified MBeanServerBuilder.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Next Post

Finding the shortest path from Country A to Country B - using Neo4J and Node

Facebook0TwitterLinkedinGraph Databases are good at recording nodes and edges – and even more at performing queries that traverse the edges. Some challenges can be dealt with in Graph Databases far more elegantly and efficiently than for example in relational databases using traditional SQL. As simple example, this article will create […]