Officially, JMX is the API used to "monitor and manage" the system. What it is is a container used to run MBeans. These MBeans report information about the system (and have methods to manage some of it too).
Historically, all the application servers have a JMX interface.
Tomcat,
JBoss, WebSphere, WebLogic, all have a way to get to the JMX container, which contains hundreds of MBeans running in them. Beginning with
Java 5, the JVM itself has a built in container which contains a handful of mbeans, which sun named mxbeans.
In terms of API, besides the mxbeans which now exist in all JVM, starting from Java 5, there isn't really a API standard. All the application servers have different mbeans, with different method calls, and doing things differently.
Henry