What is JMX?
Java Management Extensions (JMX) is a Java technology that includes tools for managing and monitoring applications, system objects and service-oriented networks. Those resources are represented by objects called MBeans (Managed Beans). JMX uses a three-level architecture:
- The Probe level contains the probes (called MBeans) that represent different attributes about the resources being monitored.
- The Agent level, or MBeanServer - exposes the MBeans to applications.
- The Remote Management level enables remote applications to access the MBeanServer through connectors and adaptors. A connector provides full remote access to the MBeanServer API using various communication (RMI, IIOP, JMS, WS-* ).
Key JMX Metrics
JMX is to Java applications what SNMP is to network devices. Therefore, JMX is a very important mechanism that is widely used by monitoring and management tools to collect performance metrics about the applications. JMX can be used in multiple ways:
- Monitoring of the JVMs running on a server is done using JMX. eG agents connect to standard MBeans exposed by the JVM to collect key performance metrics including threads running in the JVM, when garbage collection happens, how much memory is released during garbage collection and so on.
- Standard Java application servers such as Tomcat, JBoss, WebLogic, etc. expose performance metrics through JMX. JMX interfaces facilitate both agent and agentless monitoring of these application servers.
- Custom MBeans exposed by applications running on these application servers can be monitored.
JMX Monitoring with eG Enterprise
eG Enterprise supports agent-based and agentless monitoring of Java applications using JMX. Its application performance monitoring capabilities include:
- Monitoring of user experience through synthetic and real user monitoring
- Monitoring of all aspects of Java virtual machine performance
- Monitoring of the web containers to identify any configuration bottlenecks
- Monitoring of custom applications including code-level visibility
JMX is a key technology enabling several of these capabilities.
Monitoring Custom Java Applications with JMX Technology
Many application developers use JMX technology to expose metrics relating to the performance of their custom applications. eG Enterprise allows application and IT operations teams to monitor these custom applications without needing to write any code. With eG Enterprise, you can:
- Auto-discover MBeans of a target application
- Pick and choose which MBeans you are interested in monitoring
- Also have the option to import the MBeans of interest to you
- Track the values of these MBeans tracked historically; Track raw values, rate of change etc.
- Auto-baseline the metrics and receive proactive alerts if the values go out of bound.
- Monitor standard and custom Java applications from a single unified console, there reducing finger-pointing
- Get insights into all aspects of Java application performance - JVM, web container, custom application code - enabling accurate diagnosis of problems
- In-depth analytics provide IT operations teams with the proactive alerts they need to ensure high application uptime and performance
- Cross-correlate performance across different layers to identify performance patterns and trends
Why eG? One Monitor to Manage All of IT.
- eG Enterprise is the only single pane-of-glass, virtualization-aware, auto-diagnostic IT infrastructure performance monitor
- Gain actionable answers to performance issues, wherever they originate, from application code to bare metal
- Understand the impact of infrastructure issues on application performance and user experience
- Unify IT performance monitoring, alerting, diagnosing, reporting, and capacity planning in a single console
- Ensure a great user experience and dramatically improve IT efficiency
- Benefit from flexible deployment options (on-premises and SaaS) and IT monitoring approaches (agentless and agent-based)