Code

contrib/GenericJMX.conf: Added a sample config file for the GenericJMX plugin.
authorFlorian Forster <sifnfors@informatik.stud.uni-erlangen.de>
Mon, 3 Aug 2009 12:47:02 +0000 (14:47 +0200)
committerFlorian Forster <sifnfors@informatik.stud.uni-erlangen.de>
Mon, 3 Aug 2009 12:47:02 +0000 (14:47 +0200)
contrib/GenericJMX.conf [new file with mode: 0644]
contrib/README

diff --git a/contrib/GenericJMX.conf b/contrib/GenericJMX.conf
new file mode 100644 (file)
index 0000000..b88d1a6
--- /dev/null
@@ -0,0 +1,145 @@
+# contrib/GenericJMX.conf
+# -----------------------
+#
+# This is an example config file for the ‘GenericJMX’ plugin, a plugin written
+# in Java to receive values via the “Java Management Extensions” (JMX). The
+# plugin can be found in the
+#   bindings/java/org/collectd/java/
+# directory of the source distribution.
+#
+# This sample config defines a couple of <MBean /> blocks which query MBeans
+# provided by the JVM itself, i. e. which should be available for all Java
+# processes. The following MBean blocks are defined:
+#
+#   +-------------------+------------------------------------------------+
+#   ! Name              ! Description                                    !
+#   +-------------------+------------------------------------------------+
+#   ! classes           ! Number of classes being loaded.                !
+#   ! compilation       ! Time spent by the JVM compiling or optimizing. !
+#   ! garbage_collector ! Number of garbage collections and time spent.  !
+#   ! memory            ! Generic heap/nonheap memory usage.             !
+#   ! memory_pool       ! Memory usage by memory pool.                   !
+#   +-------------------+------------------------------------------------+
+#
+<Plugin "java">
+  LoadPlugin "org.collectd.java.GenericJMX"
+
+  <Plugin "GenericJMX">
+    ################
+    # MBean blocks #
+    ################
+    # Number of classes being loaded.
+    <MBean "classes">
+      ObjectName "java.lang:type=ClassLoading"
+      #InstancePrefix ""
+      #InstanceFrom ""
+
+      <Value>
+        Type "gauge"
+        Table false
+        Attribute "LoadedClassCount"
+        InstancePrefix "loaded_classes"
+      </Value>
+    </MBean>
+
+    # Time spent by the JVM compiling or optimizing.
+    <MBean "compilation">
+      ObjectName "java.lang:type=Compilation"
+      #InstancePrefix ""
+      #InstanceFrom ""
+
+      <Value>
+        Type "total_time_in_ms"
+        Table false
+        Attribute "TotalCompilationTime"
+        InstancePrefix "compilation_time"
+      </Value>
+    </MBean>
+
+    # Garbage collector information
+    <MBean "garbage_collector">
+      # Plugin instance:
+      InstancePrefix "gc-"
+      InstanceFrom "name"
+      ObjectName "java.lang:type=GarbageCollector,name=*"
+
+      <Value>
+        Type "invocations"
+        Table false
+        Attribute "CollectionCount"
+        # Type instance:
+        #InstancePrefix ""
+      </Value>
+
+      <Value>
+        Type "total_time_in_ms"
+        Table false
+        Attribute "CollectionTime"
+        # Type instance:
+        InstancePrefix "collection_time"
+      </Value>
+
+#      # Not that useful, therefore commented out.
+#      <Value>
+#        Type "threads"
+#        Table false
+#        # Demonstration how to access composite types
+#        Attribute "LastGcInfo.GcThreadCount"
+#        # Type instance:
+#        #InstancePrefix ""
+#      </Value>
+    </MBean>
+
+    # Generic heap/nonheap memory usage.
+    <MBean "memory">
+      ObjectName "java.lang:type=Memory"
+      #InstanceFrom ""
+      InstancePrefix "memory"
+
+      # Creates four values: committed, init, max, used
+      <Value>
+        Type "memory"
+        Table true
+        Attribute "HeapMemoryUsage"
+        # Type instance:
+        InstancePrefix "heap-"
+      </Value>
+
+      # Creates four values: committed, init, max, used
+      <Value>
+        Type "memory"
+        Table true
+        Attribute "NonHeapMemoryUsage"
+        # Type instance:
+        InstancePrefix "nonheap-"
+      </Value>
+    </MBean>
+
+    # Memory usage by memory pool.
+    <MBean "memory_pool">
+      ObjectName "java.lang:type=MemoryPool,name=*"
+      InstancePrefix "memory_pool-"
+      InstanceFrom "name"
+
+      <Value>
+        Type "memory"
+        Table true
+        Attribute "Usage"
+        #InstancePrefix ""
+      </Value>
+    </MBean>
+
+    #####################
+    # Connection blocks #
+    #####################
+    <Connection>
+      Host "localhost"
+      ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi"
+      Collect "classes"
+      Collect "compilation"
+      Collect "garbage_collector"
+      Collect "memory"
+      Collect "memory_pool"
+    </Connection>
+  </Plugin>
+</Plugin>
index 119d866bb57a57ccf1fdc3a11e1f915ed3f29a1b..bc1fe9ff10d384d16bc212f01cb20a4e2b0903cd 100644 (file)
@@ -13,20 +13,18 @@ can seriously fuck up your RRD files if you don't know what you're doing.
 
 collectd-network.py
 -------------------
-
   This Python module by Adrian Perez implements the collectd network protocol
 in pure Python. It currently supports to receive data and notifications from
 collectd.
 
 collectd-unixsock.py
 --------------------
-
   This Python module by Clay Loveless provides an interface to collect's
 unixsock plugin.
 
 collectd2html.pl
 ----------------
-  This script by Vincent Stehlé will search for RRD files in
+  This script by Vincent Stehlé will search for RRD files in
 `/var/lib/collectd/' and generate an HTML file and a directory containing
 several PNG files which are graphs of the RRD files found.
 
@@ -72,6 +70,11 @@ fedora/
   Init-script and Spec-file that can be used when creating RPM-packages for
 Fedora.
 
+GenericJMX.conf
+---------------
+  Example configuration file for the ‘GenericJMX’ Java plugin. Please read the
+documentation at the beginning of the file for more details.
+
 migrate-3-4.px
 --------------
   Migration-script to ease the switch from version 3 to version 4. Many