Created
January 9, 2014 20:31
-
-
Save pburkholder/8341458 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
LoadPlugin java | |
<Plugin "java"> | |
# required JVM argument is the classpath | |
JVMARG "-Djava.class.path=/usr/share/collectd/java/collectd-api.jar:/usr/share/collectd/java/generic-jmx.jar" | |
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 "classes" | |
InstancePrefix "loaded_classes" | |
#InstanceFrom "" | |
Table false | |
Attribute "LoadedClassCount" | |
</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" | |
InstancePrefix "compilation_time" | |
#InstanceFrom "" | |
Table false | |
Attribute "TotalCompilationTime" | |
</Value> | |
</MBean> | |
# Garbage collector information | |
<MBean "garbage_collector"> | |
ObjectName "java.lang:type=GarbageCollector,*" | |
InstancePrefix "gc-" | |
InstanceFrom "name" | |
<Value> | |
Type "invocations" | |
#InstancePrefix "" | |
#InstanceFrom "" | |
Table false | |
Attribute "CollectionCount" | |
</Value> | |
<Value> | |
Type "total_time_in_ms" | |
InstancePrefix "collection_time" | |
#InstanceFrom "" | |
Table false | |
Attribute "CollectionTime" | |
</Value> | |
# # Not that useful, therefore commented out. | |
# <Value> | |
# Type "threads" | |
# #InstancePrefix "" | |
# #InstanceFrom "" | |
# Table false | |
# # Demonstration how to access composite types | |
# Attribute "LastGcInfo.GcThreadCount" | |
# </Value> | |
</MBean> | |
###################################### | |
# Define the "jmx_memory" type as: # | |
# jmx_memory value:GAUGE:0:U # | |
# See types.db(5) for details. # | |
###################################### | |
# Generic heap/nonheap memory usage. | |
<MBean "memory"> | |
ObjectName "java.lang:type=Memory" | |
#InstanceFrom "" | |
InstancePrefix "memory" | |
# Creates four values: committed, init, max, used | |
<Value> | |
Type "jmx_memory" | |
#InstancePrefix "" | |
#InstanceFrom "" | |
Table true | |
Attribute "HeapMemoryUsage" | |
InstancePrefix "heap-" | |
</Value> | |
# Creates four values: committed, init, max, used | |
<Value> | |
Type "jmx_memory" | |
#InstancePrefix "" | |
#InstanceFrom "" | |
Table true | |
Attribute "NonHeapMemoryUsage" | |
InstancePrefix "nonheap-" | |
</Value> | |
</MBean> | |
# Memory usage by memory pool. | |
<MBean "memory_pool"> | |
ObjectName "java.lang:type=MemoryPool,*" | |
InstancePrefix "memory_pool-" | |
InstanceFrom "name" | |
<Value> | |
Type "jmx_memory" | |
#InstancePrefix "" | |
#InstanceFrom "" | |
Table true | |
Attribute "Usage" | |
</Value> | |
</MBean> | |
### MBeans by Catalina / Tomcat ### | |
# The global request processor (summary for each request processor) | |
<MBean "catalina/global_request_processor"> | |
ObjectName "Catalina:type=GlobalRequestProcessor,*" | |
InstancePrefix "request_processor-" | |
InstanceFrom "name" | |
<Value> | |
Type "io_octets" | |
InstancePrefix "global" | |
#InstanceFrom "" | |
Table false | |
Attribute "bytesReceived" | |
Attribute "bytesSent" | |
</Value> | |
<Value> | |
Type "total_requests" | |
InstancePrefix "global" | |
#InstanceFrom "" | |
Table false | |
Attribute "requestCount" | |
</Value> | |
<Value> | |
Type "total_time_in_ms" | |
InstancePrefix "global-processing" | |
#InstanceFrom "" | |
Table false | |
Attribute "processingTime" | |
</Value> | |
</MBean> | |
# Details for each request processor | |
<MBean "catalina/detailed_request_processor"> | |
ObjectName "Catalina:type=RequestProcessor,*" | |
InstancePrefix "request_processor-" | |
InstanceFrom "worker" | |
<Value> | |
Type "io_octets" | |
#InstancePrefix "" | |
InstanceFrom "name" | |
Table false | |
Attribute "bytesReceived" | |
Attribute "bytesSent" | |
</Value> | |
<Value> | |
Type "total_requests" | |
#InstancePrefix "" | |
InstanceFrom "name" | |
Table false | |
Attribute "requestCount" | |
</Value> | |
<Value> | |
Type "total_time_in_ms" | |
InstancePrefix "processing-" | |
InstanceFrom "name" | |
Table false | |
Attribute "processingTime" | |
</Value> | |
</MBean> | |
# Thread pool | |
<MBean "catalina/thread_pool"> | |
ObjectName "Catalina:type=ThreadPool,*" | |
InstancePrefix "thread_pool-" | |
InstanceFrom "name" | |
<Value> | |
Type "threads" | |
InstancePrefix "total" | |
#InstanceFrom "" | |
Table false | |
Attribute "currentThreadCount" | |
</Value> | |
<Value> | |
Type "threads" | |
InstancePrefix "running" | |
#InstanceFrom "" | |
Table false | |
Attribute "currentThreadsBusy" | |
</Value> | |
</MBean> | |
##################### | |
# Connection blocks # | |
##################### | |
<Connection> | |
ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:<%= @options[:port] %>/jmxrmi" | |
Host "localhost" | |
Collect "classes" | |
Collect "compilation" | |
Collect "garbage_collector" | |
Collect "memory" | |
Collect "memory_pool" | |
Collect "catalina/global_request_processor" | |
Collect "catalina/thread_pool" | |
</Connection> | |
</Plugin> | |
</Plugin> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
include_recipe 'zs-collectd::default' | |
# Ref https://github.com/collectd/collectd/blob/master/contrib/GenericJMX.conf | |
file "/usr/share/collectd/types.db.tomcat" do | |
owner "root" | |
group "root" | |
mode 0644 | |
content "jmx_memory value:GAUGE:0:U\nclasses value:GAUGE:0:U\n" | |
notifies :run, 'execute[build-types.db.combined]', :delayed | |
end | |
collectd_plugin 'tomcat' do | |
options \ | |
:port => node[:collectd][:tomcat][:jmx_port] | |
template "tomcat.conf.erb" | |
cookbook "zs-collectd" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment