├── README.md ├── hadoop-datanode.json ├── hadoop-jobtracker.json ├── hadoop-namenode.json ├── hadoop-tasktracker.json ├── kafka.json ├── storm.json ├── tomcat7.json └── zookeeper.json /README.md: -------------------------------------------------------------------------------- 1 | # java-metrics 2 | 3 | 1. Install the latest RPM from http://central.maven.org/maven2/org/jmxtrans/jmxtrans/ 4 | 5 | 1. wget the appropriate .json files from this repo into /var/lib/jmxtrans 6 | 7 | 1. Find and replace SERVER, PORT and APIKEY_FINGERPRINT 8 | 9 | 1. service jmxtrans restart 10 | 11 | # Troubleshooting 12 | 13 | Check /var/log/jmxtrans/jmxtrans.log 14 | 15 | The APIKEY_FINGERPRINT is a concetenation (with no spaces or other separators) of the Dataloop API Key and the agent fingerprint that you want the metrics to appear under. 16 | 17 | You can find your API Key in /etc/dataloop/agent.conf 18 | 19 | You can find your agent fingerprint in /etc/dataloop/agent.finger 20 | 21 | The SERVER and PORT strings refer to the JMX connection details. If you are running jmxtrans on the same machine as the service you wish to monitor then SERVER will be 'localhost' and PORT will be whatever port JMX runs on. 22 | 23 | # Enabling JMX 24 | 25 | Each service will require slightly different instructions. Here is a good link for Tomcat7 : http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html 26 | (the 'enabling jmxremote' section). 27 | 28 | With Kafka it was as simple as starting with the JMX_PORT environment variable set. 29 | 30 | env JMX_PORT=8110 bin/kafka-server-start.sh config/server.properties 31 | -------------------------------------------------------------------------------- /hadoop-datanode.json: -------------------------------------------------------------------------------- 1 | { 2 | "servers": [ 3 | { 4 | "port": 8006, 5 | "host": "localhost", 6 | "alias" : "datanode", 7 | "queries": [ 8 | { 9 | "outputWriters": [ 10 | { 11 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 12 | "settings": { 13 | "typeNames" : [ 14 | "name" 15 | ], 16 | "rootPrefix": "APIKEY_FINGERPRINT", 17 | "port": 2003, 18 | "host": "graphite.dataloop.io" 19 | } 20 | } 21 | ], 22 | "obj": "Hadoop:service=DataNode,name=RpcActivityForPort*", 23 | "resultAlias": "DataNodeRpcAcitivity", 24 | "attr": [ 25 | "NumOpenConnections", 26 | "callQueueLen", 27 | "RpcQueueTime_num_ops", 28 | "RpcQueueTime_avg_time", 29 | "RpcProcessingTime_num_ops", 30 | "RpcProcessingTime_avg_time" 31 | ] 32 | }, 33 | { 34 | "outputWriters": [ 35 | { 36 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 37 | "settings": { 38 | "rootPrefix": "APIKEY_FINGERPRINT", 39 | "port": 2003, 40 | "host": "graphite.dataloop.io" 41 | } 42 | } 43 | ], 44 | "obj": "Hadoop:service=DataNode,name=DataNode", 45 | "resultAlias": "DataNodeActivity", 46 | "attr": [ 47 | "bytes_written", 48 | "reads_from_remote_client", 49 | "replaceBlockOp_num_ops", 50 | "replaceBlockOp_avg_time", 51 | "block_verification_failures", 52 | "blocks_read", 53 | "heartBeats_num_ops", 54 | "heartBeats_avg_time", 55 | "copyBlockOp_num_ops", 56 | "copyBlockOp_avg_time", 57 | "blocks_written", 58 | "readBlockOp_num_ops", 59 | "readBlockOp_avg_time", 60 | "blockChecksumOp_num_ops", 61 | "blockChecksumOp_avg_time", 62 | "reads_from_local_client", 63 | "writes_from_remote_client", 64 | "blocks_verified", 65 | "blockReports_num_ops", 66 | "blockReports_avg_time", 67 | "writes_from_local_client", 68 | "blocks_replicated", 69 | "bytes_read", 70 | "blocks_removed", 71 | "writeBlockOp_num_ops", 72 | "writeBlockOp_avg_time" 73 | ] 74 | }, 75 | { 76 | "outputWriters": [ 77 | { 78 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 79 | "settings": { 80 | "rootPrefix": "APIKEY_FINGERPRINT", 81 | "port": 2003, 82 | "host": "graphite.dataloop.io" 83 | } 84 | } 85 | ], 86 | "obj": "Hadoop:service=DataNode,name=FSDatasetState*", 87 | "resultAlias": "DataNodeFSDatasetState", 88 | "attr": [ 89 | "Remaining", 90 | "Capacity", 91 | "DfsUsed" 92 | ] 93 | }, 94 | { 95 | "outputWriters": [ 96 | { 97 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 98 | "settings": { 99 | "rootPrefix": "APIKEY_FINGERPRINT", 100 | "port": 2003, 101 | "host": "graphite.dataloop.io" 102 | } 103 | } 104 | ], 105 | "obj": "java.lang:type=OperatingSystem", 106 | "resultAlias": "Process", 107 | "attr": [ 108 | "OpenFileDescriptorCount", 109 | "ProcessCpuLoad" 110 | ] 111 | }, 112 | { 113 | "outputWriters": [ 114 | { 115 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 116 | "settings": { 117 | "rootPrefix": "APIKEY_FINGERPRINT", 118 | "port": 2003, 119 | "host": "graphite.dataloop.io" 120 | } 121 | } 122 | ], 123 | "obj": "java.lang:type=ClassLoading", 124 | "resultAlias": "Classloading", 125 | "attr": [ "LoadedClassCount"] 126 | }, 127 | { 128 | "outputWriters": [ 129 | { 130 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 131 | "settings": { 132 | "rootPrefix": "APIKEY_FINGERPRINT", 133 | "port": 2003, 134 | "host": "graphite.dataloop.io" 135 | } 136 | } 137 | ], 138 | "obj" : "java.lang:type=Memory", 139 | "attr" : [ "HeapMemoryUsage", "NonHeapMemoryUsage" ], 140 | "resultAlias": "Memory" 141 | }, 142 | { 143 | "outputWriters": [ 144 | { 145 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 146 | "settings": { 147 | "rootPrefix": "APIKEY_FINGERPRINT", 148 | "port": 2003, 149 | "host": "graphite.dataloop.io" 150 | } 151 | } 152 | ], 153 | "obj" : "java.lang:type=Threading", 154 | "attr" : [ "ThreadCount" ], 155 | "resultAlias": "Threading" 156 | } 157 | ], 158 | "numQueryThreads": 2 159 | } 160 | ] 161 | } 162 | -------------------------------------------------------------------------------- /hadoop-jobtracker.json: -------------------------------------------------------------------------------- 1 | { 2 | "servers": [ 3 | { 4 | "port": 8007, 5 | "host": "localhost", 6 | "alias": "jobtracker", 7 | "queries": [ 8 | { 9 | "outputWriters": [ 10 | { 11 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 12 | "settings": { 13 | "rootPrefix": "APIKEY_FINGERPRINT", 14 | "port": 2003, 15 | "host": "graphite.dataloop.io" 16 | } 17 | } 18 | ], 19 | "obj": "Hadoop:service=JobTracker,name=JobTrackerInfo", 20 | "resultAlias": "JobTrackerInfo", 21 | "attr": [ 22 | "ThreadCount" 23 | ] 24 | }, 25 | { 26 | "outputWriters": [ 27 | { 28 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 29 | "settings": { 30 | "port": 2003, 31 | "host": "graphite.dataloop.io" 32 | } 33 | } 34 | ], 35 | "obj": "Hadoop:service=JobTracker,name=RpcActivityForPort", 36 | "resultAlias": "JobTrackerRpcActivity", 37 | "attr": [ 38 | "NumOpenConnections", 39 | "ReceivedBytes", 40 | "SentBytes", 41 | "RpcProcessingTime_avg_time", 42 | "RpcProcessingTime_num_ops", 43 | "RpcQueueTime_avg_time", 44 | "RpcQueueTime_num_ops", 45 | "callQueueLen" 46 | ] 47 | }, 48 | { 49 | "outputWriters": [ 50 | { 51 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 52 | "settings": { 53 | "rootPrefix": "APIKEY_FINGERPRINT", 54 | "port": 2003, 55 | "host": "graphite.dataloop.io" 56 | } 57 | } 58 | ], 59 | "obj": "java.lang:type=OperatingSystem", 60 | "resultAlias": "Process", 61 | "attr": [ 62 | "OpenFileDescriptorCount", 63 | "ProcessCpuLoad" 64 | ] 65 | }, 66 | { 67 | "outputWriters": [ 68 | { 69 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 70 | "settings": { 71 | "rootPrefix": "APIKEY_FINGERPRINT", 72 | "port": 2003, 73 | "host": "graphite.dataloop.io" 74 | } 75 | } 76 | ], 77 | "obj": "java.lang:type=ClassLoading", 78 | "resultAlias": "Classloading", 79 | "attr": [ "LoadedClassCount"] 80 | }, 81 | { 82 | "outputWriters": [ 83 | { 84 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 85 | "settings": { 86 | "rootPrefix": "APIKEY_FINGERPRINT", 87 | "port": 2003, 88 | "host": "graphite.dataloop.io" 89 | } 90 | } 91 | ], 92 | "obj" : "java.lang:type=Memory", 93 | "attr" : [ "HeapMemoryUsage", "NonHeapMemoryUsage" ], 94 | "resultAlias": "Memory" 95 | }, 96 | { 97 | "outputWriters": [ 98 | { 99 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 100 | "settings": { 101 | "rootPrefix": "APIKEY_FINGERPRINT", 102 | "port": 2003, 103 | "host": "graphite.dataloop.io" 104 | } 105 | } 106 | ], 107 | "obj" : "java.lang:type=Threading", 108 | "attr" : [ "ThreadCount" ], 109 | "resultAlias": "Threading" 110 | } 111 | ], 112 | "numQueryThreads": 2 113 | } 114 | ] 115 | } 116 | -------------------------------------------------------------------------------- /hadoop-namenode.json: -------------------------------------------------------------------------------- 1 | { 2 | "servers": [ 3 | { 4 | "port": 8006, 5 | "host": "localhost", 6 | "alias": "namenode", 7 | "queries": [ 8 | { 9 | "outputWriters": [ 10 | { 11 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 12 | "settings": { 13 | "rootPrefix": "APIKEY_FINGERPRINT", 14 | "port": 2003, 15 | "host": "graphite.dataloop.io" 16 | } 17 | } 18 | ], 19 | "obj": "Hadoop:service=NameNode,name=FSNamesystemState", 20 | "resultAlias": "NameNodeFSNamesystemState", 21 | "attr": [ 22 | "CapacityTotal", 23 | "CapacityUsed", 24 | "CapacityRemaining", 25 | "TotalLoad", 26 | "BlocksTotal", 27 | "FilesTotal", 28 | "PendingReplicationBlocks", 29 | "UnderReplicatedBlocks", 30 | "ScheduledReplicationBlocks" 31 | ] 32 | }, 33 | { 34 | "outputWriters": [ 35 | { 36 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 37 | "settings": { 38 | "rootPrefix": "APIKEY_FINGERPRINT", 39 | "port": 2003, 40 | "host": "graphite.dataloop.io" 41 | } 42 | } 43 | ], 44 | "obj": "Hadoop:service=NameNode,name=NameNode", 45 | "resultAlias": "NameNodeActivity", 46 | "attr": [ 47 | "AddBlockOps", 48 | "fsImageLoadTime", 49 | "FilesRenamed", 50 | "Syncs_num_ops", 51 | "Syncs_avg_time", 52 | "JournalTransactionsBatchedInSync", 53 | "FileInfoOps", 54 | "CreateFileOps", 55 | "GetListingOps", 56 | "Transactions_num_ops", 57 | "Transactions_avg_time", 58 | "GetBlockLocations", 59 | "FilesInGetListingOps", 60 | "SafemodeTime", 61 | "FilesCreated", 62 | "FilesAppended", 63 | "DeleteFileOps", 64 | "blockReport_num_ops", 65 | "blockReport_avg_time" 66 | ] 67 | }, 68 | { 69 | "outputWriters": [ 70 | { 71 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 72 | "settings": { 73 | "rootPrefix": "APIKEY_FINGERPRINT", 74 | "port": 2003, 75 | "host": "graphite.dataloop.io" 76 | } 77 | } 78 | ], 79 | "obj": "Hadoop:service=NameNode,name=NameNodeInfo", 80 | "resultAlias": "NameNodeInfo", 81 | "attr": [ 82 | "Threads", 83 | "Used", 84 | "Total", 85 | "Free", 86 | "NonDfsUsedSpace", 87 | "PercentUsed", 88 | "PercentRemaining", 89 | "TotalBlocks", 90 | "TotalFiles" 91 | ] 92 | }, 93 | { 94 | "outputWriters": [ 95 | { 96 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 97 | "settings": { 98 | "rootPrefix": "APIKEY_FINGERPRINT", 99 | "port": 2003, 100 | "host": "graphite.dataloop.io" 101 | } 102 | } 103 | ], 104 | "obj": "Hadoop:service=NameNode,name=RpcActivityForPort", 105 | "resultAlias": "NameNodeRpcActivity", 106 | "attr": [ 107 | "rpcAuthorizationSuccesses", 108 | "rpcAuthorizationFailures", 109 | "SentBytes", 110 | "ReceivedBytes", 111 | "NumOpenConnections", 112 | "callQueueLen", 113 | "rpcAuthenticationSuccesses", 114 | "rpcAuthenticationFailures", 115 | "RpcQueueTime_num_ops", 116 | "RpcQueueTime_avg_time", 117 | "RpcProcessingTime_num_ops", 118 | "RpcProcessingTime_avg_time" 119 | ] 120 | }, 121 | { 122 | "outputWriters": [ 123 | { 124 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 125 | "settings": { 126 | "rootPrefix": "APIKEY_FINGERPRINT", 127 | "port": 2003, 128 | "host": "graphite.dataloop.io" 129 | } 130 | } 131 | ], 132 | "obj": "java.lang:type=OperatingSystem", 133 | "resultAlias": "Process", 134 | "attr": [ 135 | "OpenFileDescriptorCount", 136 | "ProcessCpuLoad" 137 | ] 138 | }, 139 | { 140 | "outputWriters": [ 141 | { 142 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 143 | "settings": { 144 | "rootPrefix": "APIKEY_FINGERPRINT", 145 | "port": 2003, 146 | "host": "graphite.dataloop.io" 147 | } 148 | } 149 | ], 150 | "obj": "java.lang:type=ClassLoading", 151 | "resultAlias": "Classloading", 152 | "attr": [ "LoadedClassCount"] 153 | }, 154 | { 155 | "outputWriters": [ 156 | { 157 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 158 | "settings": { 159 | "rootPrefix": "APIKEY_FINGERPRINT", 160 | "port": 2003, 161 | "host": "graphite.dataloop.io" 162 | } 163 | } 164 | ], 165 | "obj" : "java.lang:type=Memory", 166 | "attr" : [ "HeapMemoryUsage", "NonHeapMemoryUsage" ], 167 | "resultAlias": "Memory" 168 | }, 169 | { 170 | "outputWriters": [ 171 | { 172 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 173 | "settings": { 174 | "rootPrefix": "APIKEY_FINGERPRINT", 175 | "port": 2003, 176 | "host": "graphite.dataloop.io" 177 | } 178 | } 179 | ], 180 | "obj" : "java.lang:type=Threading", 181 | "attr" : [ "ThreadCount" ], 182 | "resultAlias": "Threading" 183 | } 184 | ], 185 | "numQueryThreads": 2 186 | } 187 | ] 188 | } 189 | -------------------------------------------------------------------------------- /hadoop-tasktracker.json: -------------------------------------------------------------------------------- 1 | { 2 | "servers": [ 3 | { 4 | "port": 8007, 5 | "host": "localhost", 6 | "alias": "tasktracker", 7 | "queries": [ 8 | { 9 | "outputWriters": [ 10 | { 11 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 12 | "settings": { 13 | "rootPrefix": "APIKEY_FINGERPRINT", 14 | "port": 2003, 15 | "host": "graphite.dataloop.io" 16 | } 17 | } 18 | ], 19 | "obj": "Hadoop:service=TaskTracker,name=RpcActivityForPort*", 20 | "resultAlias": "TaskTrackerRpcActivity", 21 | "attr": [ 22 | "NumOpenConnections", 23 | "ReceivedBytes", 24 | "SentBytes", 25 | "RpcProcessingTime_avg_time", 26 | "RpcProcessingTime_num_ops", 27 | "RpcQueueTime_avg_time", 28 | "RpcQueueTime_num_ops", 29 | "callQueueLen" 30 | ] 31 | }, 32 | { 33 | "outputWriters": [ 34 | { 35 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 36 | "settings": { 37 | "rootPrefix": "APIKEY_FINGERPRINT", 38 | "port": 2003, 39 | "host": "graphite.dataloop.io" 40 | } 41 | } 42 | ], 43 | "obj": "Hadoop:service=TaskTracker,name=TaskTrackerMetrics", 44 | "resultAlias": "TaskTrackerMetrics", 45 | "attr": [ 46 | "maps_running", 47 | "reduces_running", 48 | "tasks_completed" 49 | ] 50 | }, 51 | { 52 | "outputWriters": [ 53 | { 54 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 55 | "settings": { 56 | "rootPrefix": "APIKEY_FINGERPRINT", 57 | "port": 2003, 58 | "host": "graphite.dataloop.io" 59 | } 60 | } 61 | ], 62 | "obj": "java.lang:type=OperatingSystem", 63 | "resultAlias": "Process", 64 | "attr": [ 65 | "OpenFileDescriptorCount", 66 | "ProcessCpuLoad" 67 | ] 68 | }, 69 | { 70 | "outputWriters": [ 71 | { 72 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 73 | "settings": { 74 | "rootPrefix": "APIKEY_FINGERPRINT", 75 | "port": 2003, 76 | "host": "graphite.dataloop.io" 77 | } 78 | } 79 | ], 80 | "obj": "java.lang:type=ClassLoading", 81 | "resultAlias": "Classloading", 82 | "attr": [ "LoadedClassCount"] 83 | }, 84 | { 85 | "outputWriters": [ 86 | { 87 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 88 | "settings": { 89 | "rootPrefix": "APIKEY_FINGERPRINT", 90 | "port": 2003, 91 | "host": "graphite.dataloop.io" 92 | } 93 | } 94 | ], 95 | "obj" : "java.lang:type=Memory", 96 | "attr" : [ "HeapMemoryUsage", "NonHeapMemoryUsage" ], 97 | "resultAlias": "Memory" 98 | }, 99 | { 100 | "outputWriters": [ 101 | { 102 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 103 | "settings": { 104 | "rootPrefix": "APIKEY_FINGERPRINT", 105 | "port": 2003, 106 | "host": "graphite.dataloop.io" 107 | } 108 | } 109 | ], 110 | "obj" : "java.lang:type=Threading", 111 | "attr" : [ "ThreadCount" ], 112 | "resultAlias": "Threading" 113 | } 114 | ], 115 | "numQueryThreads": 2 116 | } 117 | ] 118 | } 119 | -------------------------------------------------------------------------------- /kafka.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "servers":[ 4 | { 5 | "host": "SERVER", 6 | "port": PORT, 7 | "queries":[ 8 | { 9 | "obj": "\"kafka.log\":type=\"LogFlushStats\",name=\"LogFlushRateAndTimeMs\"", 10 | "attr": [ "Count" ], 11 | "resultAlias": "kafka.log.LogFlushStats.LogFlush", 12 | "outputWriters": [ 13 | { 14 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 15 | "settings": { 16 | "port": 2003, 17 | "host": "graphite.dataloop.io", 18 | "rootPrefix": "APIKEY_FINGERPRINT" 19 | } 20 | } 21 | ] 22 | }, 23 | { 24 | "obj": "\"kafka.server\":type=\"BrokerTopicMetrics\",name=\"AllTopicsBytesInPerSec\"", 25 | "attr": [ "Count" ], 26 | "resultAlias": "kafka.server.BrokerTopicMetrics.AllTopicsBytesIn", 27 | "outputWriters": [ 28 | { 29 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 30 | "settings": { 31 | "port": 2003, 32 | "host": "graphite.dataloop.io", 33 | "rootPrefix": "APIKEY_FINGERPRINT" 34 | } 35 | } 36 | ] 37 | }, 38 | { 39 | "obj": "\"kafka.server\":type=\"BrokerTopicMetrics\",name=\"AllTopicsFailedFetchRequestsPerSec\"", 40 | "attr": [ "Count" ], 41 | "resultAlias": "kafka.server.BrokerTopicMetrics.AllTopicsFailedFetchRequests", 42 | "outputWriters": [ 43 | { 44 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 45 | "settings": { 46 | "port": 2003, 47 | "host": "graphite.dataloop.io", 48 | "rootPrefix": "APIKEY_FINGERPRINT" 49 | } 50 | } 51 | ] 52 | }, 53 | { 54 | "obj": "\"kafka.server\":type=\"BrokerTopicMetrics\",name=\"AllTopicsFailedProduceRequestsPerSec\"", 55 | "attr": [ "Count" ], 56 | "resultAlias": "kafka.server.BrokerTopicMetrics.AllTopicsFailedProduceRequests", 57 | "outputWriters": [ 58 | { 59 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 60 | "settings": { 61 | "port": 2003, 62 | "host": "graphite.dataloop.io", 63 | "rootPrefix": "APIKEY_FINGERPRINT" 64 | } 65 | } 66 | ] 67 | }, 68 | { 69 | "obj": "\"kafka.server\":type=\"BrokerTopicMetrics\",name=\"AllTopicsMessagesInPerSec\"", 70 | "attr": [ "Count" ], 71 | "resultAlias": "kafka.server.BrokerTopicMetrics.AllTopicsMessagesIn", 72 | "outputWriters": [ 73 | { 74 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 75 | "settings": { 76 | "port": 2003, 77 | "host": "graphite.dataloop.io", 78 | "rootPrefix": "APIKEY_FINGERPRINT" 79 | } 80 | } 81 | ] 82 | }, 83 | { 84 | "obj": "\"kafka.server\":type=\"BrokerTopicMetrics\",name=\"AllTopicsBytesOutPerSec\"", 85 | "attr": [ "Count" ], 86 | "resultAlias": "kafka.server.BrokerTopicMetrics.AllTopicsBytesOut", 87 | "outputWriters": [ 88 | { 89 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 90 | "settings": { 91 | "port": 2003, 92 | "host": "graphite.dataloop.io", 93 | "rootPrefix": "APIKEY_FINGERPRINT" 94 | } 95 | } 96 | ] 97 | }, 98 | { 99 | "obj": "\"kafka.server\":type=\"ReplicaManager\",name=\"UnderReplicatedPartitions\"", 100 | "attr": [ "Value" ], 101 | "resultAlias": "kafka.server.ReplicaManager.UnderReplicatedPartitions", 102 | "outputWriters": [ 103 | { 104 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 105 | "settings": { 106 | "port": 2003, 107 | "host": "graphite.dataloop.io", 108 | "rootPrefix": "APIKEY_FINGERPRINT" 109 | } 110 | } 111 | ] 112 | }, 113 | { 114 | "obj": "\"kafka.server\":type=\"ReplicaManager\",name=\"PartitionCount\"", 115 | "attr": [ "Value" ], 116 | "resultAlias": "kafka.server.ReplicaManager.PartitionCount", 117 | "outputWriters": [ 118 | { 119 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 120 | "settings": { 121 | "port": 2003, 122 | "host": "graphite.dataloop.io", 123 | "rootPrefix": "APIKEY_FINGERPRINT" 124 | } 125 | } 126 | ] 127 | }, 128 | { 129 | "obj": "\"kafka.server\":type=\"ReplicaManager\",name=\"LeaderCount\"", 130 | "attr": [ "Value" ], 131 | "resultAlias": "kafka.server.ReplicaManager.LeaderCount", 132 | "outputWriters": [ 133 | { 134 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 135 | "settings": { 136 | "port": 2003, 137 | "host": "graphite.dataloop.io", 138 | "rootPrefix": "APIKEY_FINGERPRINT" 139 | } 140 | } 141 | ] 142 | }, 143 | { 144 | "obj": "\"kafka.server\":type=\"ReplicaManager\",name=\"ISRShrinksPerSec\"", 145 | "attr": [ "Count" ], 146 | "resultAlias": "kafka.server.ReplicaManager.ISRShrinks", 147 | "outputWriters": [ 148 | { 149 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 150 | "settings": { 151 | "port": 2003, 152 | "host": "graphite.dataloop.io", 153 | "rootPrefix": "APIKEY_FINGERPRINT" 154 | } 155 | } 156 | ] 157 | }, 158 | { 159 | "obj": "\"kafka.server\":type=\"ReplicaManager\",name=\"IsrExpandsPerSec\"", 160 | "attr": [ "Count" ], 161 | "resultAlias": "kafka.server.ReplicaManager.ISRExpands", 162 | "outputWriters": [ 163 | { 164 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 165 | "settings": { 166 | "port": 2003, 167 | "host": "graphite.dataloop.io", 168 | "rootPrefix": "APIKEY_FINGERPRINT" 169 | } 170 | } 171 | ] 172 | }, 173 | { 174 | "obj": "\"kafka.server\":type=\"ReplicaFetcherManager\",name=\"Replica-MaxLag\"", 175 | "attr": [ "Value" ], 176 | "resultAlias": "kafka.server.ReplicaFetcherManager.MaxLag", 177 | "outputWriters": [ 178 | { 179 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 180 | "settings": { 181 | "port": 2003, 182 | "host": "graphite.dataloop.io", 183 | "rootPrefix": "APIKEY_FINGERPRINT" 184 | } 185 | } 186 | ] 187 | }, 188 | { 189 | "obj": "\"kafka.server\":type=\"ReplicaFetcherManager\",name=\"Replica-MinFetchRate\"", 190 | "attr": [ "Value" ], 191 | "resultAlias": "kafka.server.ReplicaFetcherManager.MinFetchRate", 192 | "outputWriters": [ 193 | { 194 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 195 | "settings": { 196 | "port": 2003, 197 | "host": "graphite.dataloop.io", 198 | "rootPrefix": "APIKEY_FINGERPRINT" 199 | } 200 | } 201 | ] 202 | }, 203 | { 204 | "obj": "\"kafka.server\":type=\"ProducerRequestPurgatory\",name=\"NumDelayedRequests\"", 205 | "attr": [ "Value" ], 206 | "resultAlias": "kafka.server.ProducerRequestPurgatory.NumDelayedRequests", 207 | "outputWriters": [ 208 | { 209 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 210 | "settings": { 211 | "port": 2003, 212 | "host": "graphite.dataloop.io", 213 | "rootPrefix": "APIKEY_FINGERPRINT" 214 | } 215 | } 216 | ] 217 | }, 218 | { 219 | "obj": "\"kafka.server\":type=\"ProducerRequestPurgatory\",name=\"PurgatorySize\"", 220 | "attr": [ "Value" ], 221 | "resultAlias": "kafka.server.ProducerRequestPurgatory.PurgatorySize", 222 | "outputWriters": [ 223 | { 224 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 225 | "settings": { 226 | "port": 2003, 227 | "host": "graphite.dataloop.io", 228 | "rootPrefix": "APIKEY_FINGERPRINT" 229 | } 230 | } 231 | ] 232 | }, 233 | { 234 | "obj": "\"kafka.server\":type=\"FetchRequestPurgatory\",name=\"NumDelayedRequests\"", 235 | "attr": [ "Value" ], 236 | "resultAlias": "kafka.server.FetchRequestPurgatory.NumDelayedRequests", 237 | "outputWriters": [ 238 | { 239 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 240 | "settings": { 241 | "port": 2003, 242 | "host": "graphite.dataloop.io", 243 | "rootPrefix": "APIKEY_FINGERPRINT" 244 | } 245 | } 246 | ] 247 | }, 248 | { 249 | "obj": "\"kafka.server\":type=\"FetchRequestPurgatory\",name=\"PurgatorySize\"", 250 | "attr": [ "Value" ], 251 | "resultAlias": "kafka.server.FetchRequestPurgatory.PurgatorySize", 252 | "outputWriters": [ 253 | { 254 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 255 | "settings": { 256 | "port": 2003, 257 | "host": "graphite.dataloop.io", 258 | "rootPrefix": "APIKEY_FINGERPRINT" 259 | } 260 | } 261 | ] 262 | }, 263 | { 264 | "obj": "\"kafka.network\":type=\"RequestMetrics\",name=\"Produce-RequestsPerSec\"", 265 | "attr": [ "Count" ], 266 | "resultAlias": "kafka.network.RequestMetrics.ProduceRequests", 267 | "outputWriters": [ 268 | { 269 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 270 | "settings": { 271 | "port": 2003, 272 | "host": "graphite.dataloop.io", 273 | "rootPrefix": "APIKEY_FINGERPRINT" 274 | } 275 | } 276 | ] 277 | }, 278 | { 279 | "obj": "\"kafka.network\":type=\"RequestMetrics\",name=\"Fetch-Follower-RequestsPerSec\"", 280 | "attr": [ "Count" ], 281 | "resultAlias": "kafka.network.RequestMetrics.FetchFollowerRequests", 282 | "outputWriters": [ 283 | { 284 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 285 | "settings": { 286 | "port": 2003, 287 | "host": "graphite.dataloop.io", 288 | "rootPrefix": "APIKEY_FINGERPRINT" 289 | } 290 | } 291 | ] 292 | }, 293 | { 294 | "obj": "\"kafka.network\":type=\"RequestMetrics\",name=\"Fetch-Consumer-RequestsPerSec\"", 295 | "attr": [ "Count" ], 296 | "resultAlias": "kafka.network.RequestMetrics.FetchConsumerRequests", 297 | "outputWriters": [ 298 | { 299 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 300 | "settings": { 301 | "port": 2003, 302 | "host": "graphite.dataloop.io", 303 | "rootPrefix": "APIKEY_FINGERPRINT" 304 | } 305 | } 306 | ] 307 | }, 308 | { 309 | "obj": "\"kafka.controller\":type=\"KafkaController\",name=\"ActiveControllerCount\"", 310 | "attr": [ "Value" ], 311 | "resultAlias": "kafka.controller.KafkaController.ActiveControllerCount", 312 | "outputWriters": [ 313 | { 314 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 315 | "settings": { 316 | "port": 2003, 317 | "host": "graphite.dataloop.io", 318 | "rootPrefix": "APIKEY_FINGERPRINT" 319 | } 320 | } 321 | ] 322 | }, 323 | { 324 | "obj": "\"kafka.controller\":type=\"KafkaController\",name=\"OfflinePartitionsCount\"", 325 | "attr": [ "Value" ], 326 | "resultAlias": "kafka.controller.KafkaController.OfflinePartitionsCount", 327 | "outputWriters": [ 328 | { 329 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 330 | "settings": { 331 | "port": 2003, 332 | "host": "graphite.dataloop.io", 333 | "rootPrefix": "APIKEY_FINGERPRINT" 334 | } 335 | } 336 | ] 337 | }, 338 | { 339 | "obj": "\"kafka.controller\":type=\"ControllerStats\",name=\"LeaderElectionRateAndTimeMs\"", 340 | "attr": [ "Count" ], 341 | "resultAlias": "kafka.controller.ControllerStats.LeaderElection", 342 | "outputWriters": [ 343 | { 344 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 345 | "settings": { 346 | "port": 2003, 347 | "host": "graphite.dataloop.io", 348 | "rootPrefix": "APIKEY_FINGERPRINT" 349 | } 350 | } 351 | ] 352 | }, 353 | { 354 | "obj": "\"kafka.controller\":type=\"ControllerStats\",name=\"UncleanLeaderElectionsPerSec\"", 355 | "attr": [ "Count" ], 356 | "resultAlias": "kafka.controller.ControllerStats.UncleanLeaderElection", 357 | "outputWriters": [ 358 | { 359 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 360 | "settings": { 361 | "port": 2003, 362 | "host": "graphite.dataloop.io", 363 | "rootPrefix": "APIKEY_FINGERPRINT" 364 | } 365 | } 366 | ] 367 | }, 368 | { 369 | "obj": "\"kafka.consumer\":type=\"ConsumerFetcherManager\",name=\"*-MaxLag\"", 370 | "attr": [ "Value" ], 371 | "resultAlias": "kafka.consumer.ConsumerFetcherManager.MaxLag", 372 | "outputWriters": [ 373 | { 374 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 375 | "settings": { 376 | "port": 2003, 377 | "host": "graphite.dataloop.io", 378 | "rootPrefix": "APIKEY_FINGERPRINT" 379 | } 380 | } 381 | ] 382 | }, 383 | { 384 | "obj": "\"kafka.consumer\":type=\"ConsumerFetcherManager\",name=\"*-MinFetchRate\"", 385 | "attr": [ "Value" ], 386 | "resultAlias": "kafka.consumer.ConsumerFetcherManager.MinFetchRate", 387 | "outputWriters": [ 388 | { 389 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 390 | "settings": { 391 | "port": 2003, 392 | "host": "graphite.dataloop.io", 393 | "rootPrefix": "APIKEY_FINGERPRINT" 394 | } 395 | } 396 | ] 397 | }, 398 | { 399 | "obj": "\"kafka.producer\":type=\"ProducerRequestsMetrics\",name=\"-AllBrokersProducerRequestSize\"", 400 | "attr": [ "Count" ], 401 | "resultAlias": "kafka.producer.ProducerRequestsMetrics.AllBrokersProducerRequestSize", 402 | "outputWriters": [ 403 | { 404 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 405 | "settings": { 406 | "port": 2003, 407 | "host": "graphite.dataloop.io", 408 | "rootPrefix": "APIKEY_FINGERPRINT" 409 | } 410 | } 411 | ] 412 | }, 413 | { 414 | "obj": "\"kafka.producer\":type=\"ProducerRequestsMetrics\",name=\"-AllBrokersProducerRequestRateAndTimeMs\"", 415 | "attr": [ "Count" ], 416 | "resultAlias": "kafka.producer.ProducerRequestsMetrics.AllBrokersProducerRequestRate", 417 | "outputWriters": [ 418 | { 419 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 420 | "settings": { 421 | "port": 2003, 422 | "host": "graphite.dataloop.io", 423 | "rootPrefix": "APIKEY_FINGERPRINT" 424 | } 425 | } 426 | ] 427 | }, 428 | { 429 | "obj": "\"kafka.producer\":type=\"ProducerStats\",name=\"-FailedSendsPerSec\"", 430 | "attr": [ "Count" ], 431 | "resultAlias": "kafka.producer.ProducerStats.FailedSendsPerSec", 432 | "outputWriters": [ 433 | { 434 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 435 | "settings": { 436 | "port": 2003, 437 | "host": "graphite.dataloop.io", 438 | "rootPrefix": "APIKEY_FINGERPRINT" 439 | } 440 | } 441 | ] 442 | }, 443 | { 444 | "obj": "\"kafka.producer\":type=\"ProducerTopicMetrics\",name=\"-AllTopicsBytesPerSec\"", 445 | "attr": [ "Count" ], 446 | "resultAlias": "kafka.producer.ProducerTopicMetrics.AllTopicsBytes", 447 | "outputWriters": [ 448 | { 449 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 450 | "settings": { 451 | "port": 2003, 452 | "host": "graphite.dataloop.io", 453 | "rootPrefix": "APIKEY_FINGERPRINT" 454 | } 455 | } 456 | ] 457 | }, 458 | { 459 | "obj": "\"kafka.producer\":type=\"ProducerTopicMetrics\",name=\"-AllTopicsDroppedMessagesPerSec\"", 460 | "attr": [ "Count" ], 461 | "resultAlias": "kafka.producer.ProducerTopicMetrics.AllTopicsDroppedMessages", 462 | "outputWriters": [ 463 | { 464 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 465 | "settings": { 466 | "port": 2003, 467 | "host": "graphite.dataloop.io", 468 | "rootPrefix": "APIKEY_FINGERPRINT" 469 | } 470 | } 471 | ] 472 | }, 473 | { 474 | "obj": "\"kafka.producer\":type=\"ProducerTopicMetrics\",name=\"-AllTopicsMessagesPerSec\"", 475 | "attr": [ "Count" ], 476 | "resultAlias": "kafka.producer.ProducerTopicMetrics.AllTopicsMessages", 477 | "outputWriters": [ 478 | { 479 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 480 | "settings": { 481 | "port": 2003, 482 | "host": "graphite.dataloop.io", 483 | "rootPrefix": "APIKEY_FINGERPRINT" 484 | } 485 | } 486 | ] 487 | } 488 | ] 489 | } 490 | ] 491 | } 492 | -------------------------------------------------------------------------------- /storm.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "servers": [ 4 | { 5 | "host": "SERVER", 6 | "port": 2003, 7 | "queries": [ 8 | { 9 | "outputWriters": [ 10 | { 11 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 12 | "settings": { 13 | "port": 2003, 14 | "host": "graphite.dataloop.io", 15 | "rootPrefix": "APIKEY_FINGERPRINT", 16 | "typeNames" : [ "name" ] 17 | } 18 | } 19 | ], 20 | "obj": "org.apache.ZooKeeperService:name0=ReplicatedServer_id*", 21 | "attr": [ 22 | "QuorumSize" 23 | ] 24 | }, 25 | { 26 | "outputWriters": [ 27 | { 28 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 29 | "settings": { 30 | "port": 2003, 31 | "host": "graphite.dataloop.io", 32 | "rootPrefix": "APIKEY_FINGERPRINT", 33 | "typeNames" : [ "name" ] 34 | } 35 | } 36 | ], 37 | "obj": "org.apache.ZooKeeperService:name0=ReplicatedServer_id*,name1=replica*,name2=*", 38 | "attr": [ 39 | "MaxClientCnxnsPerHost", 40 | "MaxRequestLatency", 41 | "AvgRequestLatency", 42 | "MinRequestLatency", 43 | "MaxSessionTimeout", 44 | "MinSessionTimeout", 45 | "OutstandingRequests", 46 | "PacketsReceived", 47 | "PacketsSent", 48 | "PendingRevalidationCount", 49 | "TickTime" 50 | ] 51 | }, 52 | { 53 | "outputWriters": [ 54 | { 55 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 56 | "settings": { 57 | "port": 2003, 58 | "host": "graphite.dataloop.io", 59 | "rootPrefix": "APIKEY_FINGERPRINT", 60 | "typeNames" : [ "name" ] 61 | } 62 | } 63 | ], 64 | "obj": "org.apache.ZooKeeperService:name0=ReplicatedServer_id*,name1=replica*,name2=*,name3=InMemoryDataTree", 65 | "attr": [ 66 | "NodeCount", 67 | "WatchCount" 68 | ] 69 | }, 70 | { 71 | "outputWriters": [ 72 | { 73 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 74 | "settings": { 75 | "port": 2003, 76 | "host": "graphite.dataloop.io", 77 | "rootPrefix": "APIKEY_FINGERPRINT", 78 | "typeNames" : [ "name" ] 79 | } 80 | } 81 | ], 82 | "obj": "org.apache.ZooKeeperService:name0=ReplicatedServer_id*,name1=replica*,name2=*,name3=Connections,name4=*,name5=*", 83 | "resultAlias": "Clients", 84 | "attr": [ 85 | "AvgLatency", 86 | "LastLatency", 87 | "MaxLatency", 88 | "MinLatency", 89 | "OutstandingRequests", 90 | "PacketsReceived", 91 | "PacketsSent" 92 | ] 93 | }, 94 | { 95 | "outputWriters": [ 96 | { 97 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 98 | "settings": { 99 | "port": 2003, 100 | "host": "graphite.dataloop.io", 101 | "rootPrefix": "APIKEY_FINGERPRINT", 102 | } 103 | } 104 | ], 105 | "obj": "java.lang:type=Memory", 106 | "resultAlias": "JVM_Memory", 107 | "attr": [ 108 | "HeapMemoryUsage", 109 | "NonHeapMemoryUsage" 110 | ] 111 | }, 112 | { 113 | "outputWriters": [ 114 | { 115 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 116 | "settings": { 117 | "port": 2003, 118 | "host": "graphite.dataloop.io", 119 | "rootPrefix": "APIKEY_FINGERPRINT", 120 | } 121 | } 122 | ], 123 | "obj": "java.lang:type=Threading", 124 | "resultAlias": "JVM_Threading", 125 | "attr": [ 126 | "ThreadCount" 127 | ] 128 | } 129 | ], 130 | "numQueryThreads": 2 131 | } 132 | ] 133 | } 134 | -------------------------------------------------------------------------------- /tomcat7.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "servers":[ 4 | { 5 | "port": PORT, 6 | "host": "SERVER", 7 | "alias": "tomcat", 8 | "queries":[ 9 | { 10 | "outputWriters": [ 11 | { 12 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 13 | "settings": { 14 | "rootPrefix": "APIKEY_FINGERPRINT", 15 | "port": 2003, 16 | "host": "graphite.dataloop.io" 17 | } 18 | } 19 | ], 20 | "obj": "Catalina:type=ThreadPool,name=*", 21 | "resultAlias": "tomcat.connectors", 22 | "attr": [ 23 | "currentThreadCount", 24 | "currentThreadsBusy", 25 | "" 26 | ] 27 | }, 28 | { 29 | "outputWriters": [ 30 | { 31 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 32 | "settings": { 33 | "rootPrefix": "APIKEY_FINGERPRINT", 34 | "port": 2003, 35 | "host": "graphite.dataloop.io" 36 | } 37 | } 38 | ], 39 | "obj": "Catalina:type=Manager,context=*,host=*", 40 | "resultAlias": "tomcat.manager", 41 | "attr": [ 42 | "activeSessions" 43 | ] 44 | }, 45 | { 46 | "outputWriters": [ 47 | { 48 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 49 | "settings": { 50 | "rootPrefix": "APIKEY_FINGERPRINT", 51 | "port": 2003, 52 | "host": "graphite.dataloop.io" 53 | } 54 | } 55 | ], 56 | "obj": "Catalina:type=GlobalRequestProcessor,name=*", 57 | "resultAlias": "tomcat.requestProcessor", 58 | "attr": [ 59 | "bytesReceived", 60 | "bytesSent", 61 | "errorCount", 62 | "processingTime", 63 | "requestCount" 64 | ] 65 | }, 66 | { 67 | "outputWriters": [ 68 | { 69 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 70 | "settings": { 71 | "rootPrefix": "APIKEY_FINGERPRINT", 72 | "port": 2003, 73 | "host": "graphite.dataloop.io" 74 | } 75 | } 76 | ], 77 | "obj": "Catalina:type=DataSource,context=*,host=*,class=javax.sql.DataSource,name=*", 78 | "resultAlias": "tomcat.data-source", 79 | "attr": [ 80 | "numActive", 81 | "numIdle" 82 | ] 83 | } 84 | ], 85 | "numQueryThreads":2 86 | } 87 | ] 88 | } -------------------------------------------------------------------------------- /zookeeper.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "servers": [ 4 | { 5 | "host": "SERVER", 6 | "port": PORT, 7 | "queries": [ 8 | { 9 | "outputWriters": [ 10 | { 11 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 12 | "settings": { 13 | "port": 2003, 14 | "host": "graphite.dataloop.io", 15 | "rootPrefix": "APIKEY_FINGERPRINT" 16 | "typeNames" : [ "name" ] 17 | } 18 | } 19 | ], 20 | "obj": "org.apache.ZooKeeperService:name0=ReplicatedServer_id*", 21 | "attr": [ 22 | "QuorumSize" 23 | ] 24 | }, 25 | { 26 | "outputWriters": [ 27 | { 28 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 29 | "settings": { 30 | "port": 2003, 31 | "host": "graphite.dataloop.io", 32 | "rootPrefix": "APIKEY_FINGERPRINT" 33 | "typeNames" : [ "name" ] 34 | } 35 | } 36 | ], 37 | "obj": "org.apache.ZooKeeperService:name0=ReplicatedServer_id*,name1=replica*,name2=*", 38 | "attr": [ 39 | "MaxClientCnxnsPerHost", 40 | "MaxRequestLatency", 41 | "AvgRequestLatency", 42 | "MinRequestLatency", 43 | "MaxSessionTimeout", 44 | "MinSessionTimeout", 45 | "OutstandingRequests", 46 | "PacketsReceived", 47 | "PacketsSent", 48 | "PendingRevalidationCount", 49 | "TickTime" 50 | ] 51 | }, 52 | { 53 | "outputWriters": [ 54 | { 55 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 56 | "settings": { 57 | "port": 2003, 58 | "host": "graphite.dataloop.io", 59 | "rootPrefix": "APIKEY_FINGERPRINT" 60 | "typeNames" : [ "name" ] 61 | } 62 | } 63 | ], 64 | "obj": "org.apache.ZooKeeperService:name0=ReplicatedServer_id*,name1=replica*,name2=*,name3=InMemoryDataTree", 65 | "attr": [ 66 | "NodeCount", 67 | "WatchCount" 68 | ] 69 | }, 70 | { 71 | "outputWriters": [ 72 | { 73 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 74 | "settings": { 75 | "port": 2003, 76 | "host": "graphite.dataloop.io" 77 | "rootPrefix": "APIKEY_FINGERPRINT", 78 | "typeNames" : [ "name" ] 79 | } 80 | } 81 | ], 82 | "obj": "org.apache.ZooKeeperService:name0=ReplicatedServer_id*,name1=replica*,name2=*,name3=Connections,name4=*,name5=*", 83 | "resultAlias": "Clients", 84 | "attr": [ 85 | "AvgLatency", 86 | "LastLatency", 87 | "MaxLatency", 88 | "MinLatency", 89 | "OutstandingRequests", 90 | "PacketsReceived", 91 | "PacketsSent" 92 | ] 93 | }, 94 | { 95 | "outputWriters": [ 96 | { 97 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 98 | "settings": { 99 | "port": 2003, 100 | "host": "graphite.dataloop.io", 101 | "rootPrefix": "APIKEY_FINGERPRINT" 102 | } 103 | } 104 | ], 105 | "obj": "java.lang:type=Memory", 106 | "resultAlias": "JVM_Memory", 107 | "attr": [ 108 | "HeapMemoryUsage", 109 | "NonHeapMemoryUsage" 110 | ] 111 | }, 112 | { 113 | "outputWriters": [ 114 | { 115 | "@class": "com.googlecode.jmxtrans.model.output.GraphiteWriter", 116 | "settings": { 117 | "port": 2003, 118 | "host": "graphite.dataloop.io", 119 | "rootPrefix": "APIKEY_FINGERPRINT" 120 | } 121 | } 122 | ], 123 | "obj": "java.lang:type=Threading", 124 | "resultAlias": "JVM_Threading", 125 | "attr": [ 126 | "ThreadCount" 127 | ] 128 | } 129 | ], 130 | "numQueryThreads": 2 131 | } 132 | ] 133 | } 134 | --------------------------------------------------------------------------------