From 32cb21eed6554ad0d22e4cf40eac86c1c93516c3 Mon Sep 17 00:00:00 2001 From: Mark Pollack Date: Wed, 23 Feb 2011 11:39:03 -0300 Subject: [PATCH] Add JMX documentation --- src/docbkx/index.xml | 4 +- src/docbkx/reference/jmx.xml | 109 +++++++++++++++++++++++ src/docbkx/resources/images/jconsole.png | Bin 0 -> 28656 bytes 3 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 src/docbkx/reference/jmx.xml create mode 100644 src/docbkx/resources/images/jconsole.png diff --git a/src/docbkx/index.xml b/src/docbkx/index.xml index bd5d785fa..0503dc7b4 100644 --- a/src/docbkx/index.xml +++ b/src/docbkx/index.xml @@ -56,7 +56,7 @@ - + - \ No newline at end of file + diff --git a/src/docbkx/reference/jmx.xml b/src/docbkx/reference/jmx.xml new file mode 100644 index 000000000..c8592e642 --- /dev/null +++ b/src/docbkx/reference/jmx.xml @@ -0,0 +1,109 @@ + + + + JMX support + + The JMX support for MongoDB exposes the results of executing the + 'serverStatus' command on the admin database for a single MongoDB server + instance. It also exposes an administrative MBean, MongoAdmin which will let + you perform administrative operations such as drop or create a database. The + JMX features build upon the JMX feature set available in the Spring + Framework. See here + for more details. + +
+ MongoDB JMX Configuration + + Spring's Mongo namespace enables you to easily enable JMX + functionality + + + XML schmea to configure MongoDB + + <?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:context="http://www.springframework.org/schema/context" + xmlns:mongo="http://www.springframework.org/schema/data/mongo" + xsi:schemaLocation= +"http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd +http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd +http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> + +<beans> + + <!-- Default bean name is 'mongo' --> + <mongo:mongo host="localhost" port="27017"/> + + <!-- by default look for a Mongo object named 'mongo' --> + <mongo:jmx/> + + <context:mbean-export/> + + <!-- To translate any MongoExceptions thrown in @Repository annotated classes --> + <context:annotation-config/> + + <bean id="registry" class="org.springframework.remoting.rmi.RmiRegistryFactoryBean" + p:port="1099" /> + + <!-- Expose JMX over RMI --> + <bean id="serverConnector" class="org.springframework.jmx.support.ConnectorServerFactoryBean" + depends-on="registry" + p:objectName="connector:name=rmi" + p:serviceUrl="service:jmx:rmi://localhost/jndi/rmi://localhost:1099/myconnector" /> + +</beans> + + + + This will expose several MBeans + + + + AssertMetrics + + + + BackgroundFlushingMetrics + + + + BtreeIndexCounters + + + + ConnectionMetrics + + + + GlobalLoclMetrics + + + + MemoryMetrics + + + + OperationCounters + + + + ServerInfo + + + + MongoAdmin + + + + This is shown below in a screenshot from JConsole + + + + + + +
+
diff --git a/src/docbkx/resources/images/jconsole.png b/src/docbkx/resources/images/jconsole.png new file mode 100644 index 0000000000000000000000000000000000000000..1911831ace179f6be09974f1e4f3029499fd4968 GIT binary patch literal 28656 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%0Dam{$R(2x?l$WYf4+aY|# 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 literal 0 HcmV?d00001