Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Corrected links that should have been relative instead of absolute.

...

The uPortal software maintains a number of statistics as managed beans (MBeans) in the Java Virtual Machine (JVM). A Java Management Extension (JMX) client, such as Jmxterm, can be used to retrieve those statistics such that they can be made available to an external monitoring system.

Opening JMX up on the JVM

There are a number of JMX-related command line arguments that can be given to the "java" command when starting uPortal. Here are some that I've used:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=7777
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false 

Some of those settings might not be appropriate for your site. If you restrict access to the TCP/IP port you choose to open, such as via a firewall, This document shows Cacti (open source - http://www.cacti.net/) as a monitoring system, which is great at archiving this kind of data and displaying it as a collection of versatile graphs. The same approach can be used to feed a monitoring system such as Spectrum (commercial - http://www.ca.com/). Spectrum's strength is that you can setup thresholds that throw alerts when those thresholds are exceeded.

Note: This documentation is rather UNIX/Linux specific.

Opening JMX up on the JVM

There are a number of JMX-related command line arguments that can be given to the "java" command when starting uPortal. Here are some that I've used:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=7777
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false 

Some of those settings might not be appropriate for your site. If you restrict access to the TCP/IP port you choose to open, such as via a firewall, then you may be comfortable enough to go without having authentication or SSL, as shown above. For instance, if you restrict access to port 7777 to just localhost (127.0.0.1) and assume you have to have authenticated to be able to invoke a shell then you may not be concerned with authentication. If communication is all internal to the host, there is no need for SSL.

...

I wasn't very involved in the Cacti configuration, but our Cacti administrator was willing to export the configuration for the graphs we defined. Hopefully these can serve as an example. You might even be able to just import them using Cacti features. They depends on the OID values I mentioned above, so you may have to alter the definitions to fit OID values you selected. You should find this configuration in a ZIP file attached to this page.

Final Results

Once everything is implemented, your SNMP-based monitoring system can start to produce results like these:attached to this page.

Final Results

Once everything is implemented, your SNMP-based monitoring system can start to produce results like these:

MBean Attribute: UserSessionCount
SNMP OID: .1.3.6.1.4.1.32396.1.3.205

Image Added

 

MBean Attribute: AuthenticationAverage
SNMP OID: .1.3.6.1.4.1.32396.1.3.200

Image Added

 

MBean Attribute: DatabaseLast
SNMP OID: .1.3.6.1.4.1.32396.1.3.201

Image Added

 

MBean Attribute: Not Applicable, File Descriptors are collected in a script via this command: /usr/sbin/lsof -u "tomcat" | wc -l
SNMP OID: .1.3.6.1.4.1.32396.1.3.202

Image Added

 

MBean Attribute: RenderAverage
SNMP OID: .1.3.6.1.4.1.32396.1.3.203

Image Added