diff --git a/Druid/Images/120x60.png b/Druid/Images/120x60.png new file mode 100644 index 0000000..3eb9045 Binary files /dev/null and b/Druid/Images/120x60.png differ diff --git a/Druid/Images/128x128.png b/Druid/Images/128x128.png new file mode 100644 index 0000000..99b45aa Binary files /dev/null and b/Druid/Images/128x128.png differ diff --git a/Druid/Images/200x128.png b/Druid/Images/200x128.png new file mode 100644 index 0000000..abc1ffd Binary files /dev/null and b/Druid/Images/200x128.png differ diff --git a/Druid/description.html b/Druid/description.html new file mode 100644 index 0000000..96b91bb --- /dev/null +++ b/Druid/description.html @@ -0,0 +1,70 @@ + + + + + + + + +

Tile preview

+
+
+ +
+
+

Druid

+
+ +
+
Druid is an open-source data store designed for sub-second queries on real-time and historical data.
+
+
+ +
+

Overview

+

Get metrics from Druid related to queries, ingestion, and coordination in real time

+ +

+ +

+
+ +
+

Configuration

+

+ To capture metrics you need to... +

+
    +
  1. Configure Druid( + see doc)
    +
    +             Example Configuration in common.runtime.properties:
    +# Monitoring
    +#
    +druid.emitter=composing
    +druid.emitter.composing.emitters=["logging", "statsd"]
    +
    +druid.monitoring.monitors=["com.metamx.metrics.JvmMonitor"]
    +druid.emitter.logging.logLevel=info
    +
    +druid.emitter.statsd.hostname=dogstatsd
    +druid.emitter.statsd.port=8125
    +druid.emitter.statsd.dimensionMapPath=dist/druid/extensions/statsd-emitter/metricDimensions.json
    +
    +            
    +           
    +
  2. +
  3. If you want to take advantage of tagging system from Datadog, need to change some code in statsd-emitter and rebuild it with java-dogstatsd-client
    + We're working on open source those changes to Druid statsd-emitter. +
    +        
    +
  4. +
+
+ + diff --git a/Druid/metrics.csv b/Druid/metrics.csv new file mode 100644 index 0000000..98738fa --- /dev/null +++ b/Druid/metrics.csv @@ -0,0 +1,121 @@ +druid.broker.jetty.numOpenConnections,count,,connection,per_unit_name,Number of open jetty connections.,0,druid,druid +druid.broker.jvm.bufferpool.capacity,gauge,,byte,,Bufferpool capacity.,0,, +druid.broker.jvm.bufferpool.count,count,,,,Bufferpool count.,0,, +druid.broker.jvm.bufferpool.used,gauge,,byte,,Bufferpool used.,1,, +druid.broker.jvm.gc.count,count,,,,Garbage collection count.,0,, +druid.broker.jvm.gc.time,timer,,second,,Garbage collection time.,0,, +druid.broker.jvm.mem.committed,gauge,,byte,,Committed memory.,1,, +druid.broker.jvm.mem.init,gauge,,byte,,Initial memory.,0,, +druid.broker.jvm.mem.max,gauge,,byte,,Max memory.,0,, +druid.broker.jvm.mem.used,gauge,,byte,,Used memory.,0,, +druid.broker.jvm.pool.committed,gauge,,byte,,Committed pool.,1,, +druid.broker.jvm.pool.init,gauge,,byte,,Initial pool.,0,, +druid.broker.jvm.pool.max,gauge,,byte,,Max pool.,0,, +druid.broker.jvm.pool.used,gauge,,byte,,Pool used.,-1,, +druid.broker.query.bytes,gauge,,byte,,number of bytes returned in query response.,0,, +druid.broker.query.cache.delta.averageBytes,count,,byte,,Average cache entry byte size since the last emission.,0,, +druid.broker.query.cache.delta.errors,count,,error,,Number of cache errors since the last emission.,-1,, +druid.broker.query.cache.delta.evictions,count,,eviction,,Number of cache evictions since the last emission.,0,, +druid.broker.query.cache.delta.hitRate,count,,hit,second,Cache hit rate since the last emission.,1,, +druid.broker.query.cache.delta.hits,count,,hit,,Number of cache hits since the last emission.,0,, +druid.broker.query.cache.delta.misses,count,,miss,,Number of cache misses since the last emission since the last emission.,-1,, +druid.broker.query.cache.delta.numEntries,count,,entry,,Number of cache entries since the last emission.,0,, +druid.broker.query.cache.delta.sizeBytes,count,,byte,entry,Size in bytes of cache entries since the last emission.,0,, +druid.broker.query.cache.delta.timeouts,count,,rate,,Number of cache timeouts since the last emission.,0,, +druid.broker.query.cache.total.averageBytes,gauge,,byte,,Average total cache byte size.,0,, +druid.broker.query.cache.total.errors,gauge,,error,,Number of total cache errors.,-1,, +druid.broker.query.cache.total.evictions,gauge,,eviction,,Number of total cache evictions.,0,, +druid.broker.query.cache.total.hitRate,gauge,,hit,second,Number of total cache hits.,0,, +druid.broker.query.cache.total.hits,gauge,,hit,,Number of total cache hits.,0,, +druid.broker.query.cache.total.misses,gauge,,miss,,Number of total cache misses.,0,, +druid.broker.query.cache.total.numEntries,gauge,,entry,,Number of total cache entries.,0,, +druid.broker.query.cache.total.sizeBytes,gauge,,byte,entry,Size in bytes of total cache entries.,0,, +druid.broker.query.cache.total.timeouts,gauge,,rate,,Number of total cache timeouts.,0,, +druid.broker.query.cpu.time,timer,,microsecond,query,Microseconds of CPU time taken to complete a query,0,, +druid.broker.query.node.bytes,count,,byte,historical node,number of bytes returned from querying individual historical/realtime nodes.,0,, +druid.broker.query.node.time,timer,,millisecond,historical node,Milliseconds taken to query individual historical/realtime nodes.,0,, +druid.broker.query.node.ttfb,timer,,millisecond,,Time to first byte. Milliseconds elapsed until broker starts receiving the response from individual historical/realtime nodes.,0,, +druid.broker.query.time,timer,,millisecond,,Milliseconds taken to complete a query.,0,, +druid.broker.segment.scan.pending,gauge,,,,Number of segments in queue waiting to be scanned.,0,, +druid.coordinator.jetty.numOpenConnections,count,,connection,per_unit_name,Number of open jetty connections.,0,, +druid.coordinator.jvm.bufferpool.capacity,gauge,,byte,,Bufferpool capacity.,0,, +druid.coordinator.jvm.bufferpool.count,count,,,,Bufferpool count.,0,, +druid.coordinator.jvm.bufferpool.used,gauge,,byte,,Bufferpool used.,1,, +druid.coordinator.jvm.gc.count,count,,,,Garbage collection count.,0,, +druid.coordinator.jvm.gc.time,timer,,second,,Garbage collection time.,0,, +druid.coordinator.jvm.mem.committed,gauge,,byte,,Committed memory.,1,, +druid.coordinator.jvm.mem.init,gauge,,byte,,Initial memory.,0,, +druid.coordinator.jvm.mem.max,gauge,,byte,,Max memory.,0,, +druid.coordinator.jvm.mem.used,gauge,,byte,,Used memory.,0,, +druid.coordinator.jvm.pool.committed,gauge,,,,Committed pool.,1,, +druid.coordinator.jvm.pool.init,gauge,,byte,,Initial pool.,0,, +druid.coordinator.jvm.pool.max,gauge,,byte,,Max pool.,0,, +druid.coordinator.jvm.pool.used,gauge,,byte,,Pool used.,-1,, +druid.coordinator.segment.assigned.count,gauge,,,,Number of segments assigned to be loaded in the cluster.,0,, +druid.coordinator.segment.count,gauge,,,,Number of available segments.,0,, +druid.coordinator.segment.dropped.count,gauge,,,,Number of segments dropped due to being overshadowed.,0,, +druid.coordinator.segment.dropQueue.count,gauge,,,,Number of segments to drop.,0,, +druid.coordinator.segment.loadQueue.count,gauge,,,,Number of segments to load.,0,, +druid.coordinator.segment.loadQueue.failed,gauge,,,,Number of segments that failed to load.,-1,, +druid.coordinator.segment.loadQueue.size,gauge,,byte,,Size in bytes of segments to load.,0,, +druid.coordinator.segment.moved.count,count,,,,Number of segments moved in the cluster.,0,, +druid.coordinator.segment.overShadowed.count,gauge,,,,Number of overShadowed segments.,0,, +druid.coordinator.segment.size,gauge,,byte,,Size in bytes of available segments.,0,, +druid.coordinator.segment.unavailable.count,gauge,,,,Number of segments (not including replicas) left to load until segments that should be loaded in the cluster are available for queries.,-1,, +druid.coordinator.segment.underReplicated.count,gauge,,,,Number of segments (including replicas) left to load until segments that should be loaded in the cluster are available for queries.,-1,, +druid.coordinator.segment.unneeded.count,count,,,,Number of segments dropped due to being marked as unused.,0,, +druid.historical.jetty.numOpenConnections,count,,connection,per_unit_name,Number of open jetty connections.,0,, +druid.historical.jvm.bufferpool.capacity,gauge,,byte,,Bufferpool capacity.,0,, +druid.historical.jvm.bufferpool.count,count,,,,Bufferpool count.,0,, +druid.historical.jvm.bufferpool.used,gauge,,byte,,Bufferpool used.,1,, +druid.historical.jvm.gc.count,count,,,,Garbage collection count.,-1,, +druid.historical.jvm.gc.time,timer,,second,,Garbage collection time.,0,, +druid.historical.jvm.mem.committed,gauge,,byte,,Committed memory.,1,, +druid.historical.jvm.mem.init,gauge,,byte,,Initial memory.,0,, +druid.historical.jvm.mem.max,gauge,,byte,,Max memory.,0,, +druid.historical.jvm.mem.used,gauge,,byte,,Used memory.,0,, +druid.historical.jvm.pool.committed,gauge,,,,Committed pool.,1,, +druid.historical.jvm.pool.init,gauge,,byte,,Initial pool.,0,, +druid.historical.jvm.pool.max,gauge,,byte,,Max pool.,0,, +druid.historical.jvm.pool.used,gauge,,byte,,Pool used.,-1,, +druid.historical.query.bytes,gauge,,byte,,number of bytes returned in query response.,0,, +druid.historical.query.cache.delta.averageBytes,count,,byte,,Average cache entry byte size since the last emission.,0,, +druid.historical.query.cache.delta.errors,count,,error,,Number of cache errors since the last emission.,-1,, +druid.historical.query.cache.delta.evictions,count,,eviction,,Number of cache evictions since the last emission.,0,, +druid.historical.query.cache.delta.hitRate,count,,hit,second,Cache hit rate since the last emission.,0,, +druid.historical.query.cache.delta.hits,count,,hit,,Number of cache hits since the last emission.,0,, +druid.historical.query.cache.delta.misses,count,,miss,,Number of cache misses since the last emission since the last emission.,-1,, +druid.historical.query.cache.delta.numEntries,count,,entry,,Number of cache entries since the last emission.,0,, +druid.historical.query.cache.delta.sizeBytes,count,,byte,entry,Size in bytes of cache entries since the last emission.,0,, +druid.historical.query.cache.delta.timeouts,count,,rate,,Number of cache timeouts since the last emission.,0,, +druid.historical.query.cache.total.averageBytes,gauge,,byte,,Average total cache byte size.,0,, +druid.historical.query.cache.total.errors,gauge,,error,,Number of total cache errors.,-1,, +druid.historical.query.cache.total.evictions,gauge,,eviction,,Number of total cache evictions.,0,, +druid.historical.query.cache.total.hitRate,gauge,,hit,second,Number of total cache hits.,0,, +druid.historical.query.cache.total.hits,gauge,,hit,,Number of total cache hits.,0,, +druid.historical.query.cache.total.misses,gauge,,miss,,Number of total cache misses.,0,, +druid.historical.query.cache.total.numEntries,gauge,,entry,,Number of total cache entries.,0,, +druid.historical.query.cache.total.sizeBytes,gauge,,byte,entry,Size in bytes of total cache entries.,0,, +druid.historical.query.cache.total.timeouts,gauge,,rate,,Number of total cache timeouts.,0,, +druid.historical.query.cpu.time,timer,,microsecond,query,Microseconds of CPU time taken to complete a query,0,, +druid.historical.query.segment.time,timer,,millisecond,segment,Milliseconds taken to query individual segment. Includes time to page in the segment from disk.,-1,, +druid.historical.query.segmentAndCache.time,timer,,millisecond,,Milliseconds taken to query individual segment or hit the cache (if it is enabled on the historical node).,-1,, +druid.historical.query.time,timer,,millisecond,query,Milliseconds taken to complete a query.,-1,, +druid.historical.query.wait.time,timer,,millisecond,segment,Milliseconds spent waiting for a segment to be scanned.,-1,, +druid.historical.segment.scan.pending,gauge,,,,Number of segments in queue waiting to be scanned.,-1,, +druid.overlord.jetty.numOpenConnections,count,,connection,per_unit_name,Number of open jetty connections.,0,, +druid.overlord.jvm.bufferpool.capacity,gauge,,byte,,Bufferpool capacity.,0,, +druid.overlord.jvm.bufferpool.count,count,,,,Bufferpool count.,0,, +druid.overlord.jvm.bufferpool.used,gauge,,byte,,Bufferpool used.,1,, +druid.overlord.jvm.gc.count,count,,,,Garbage collection count.,0,, +druid.overlord.jvm.gc.time,timer,,second,,Garbage collection time.,0,, +druid.overlord.jvm.mem.committed,gauge,,byte,,Committed memory.,1,, +druid.overlord.jvm.mem.init,gauge,,byte,,Initial memory.,0,, +druid.overlord.jvm.mem.max,gauge,,byte,,Max memory.,0,, +druid.overlord.jvm.mem.used,gauge,,byte,,Used memory.,0,, +druid.overlord.jvm.pool.committed,gauge,,,,Committed pool.,1,, +druid.overlord.jvm.pool.init,gauge,,byte,,Initial pool.,0,, +druid.overlord.jvm.pool.max,gauge,,byte,,Max pool.,0,, +druid.overlord.jvm.pool.used,gauge,,byte,,Pool used.,-1,, +druid.overlord.segment.added.bytes,count,,byte,,Size in bytes of new segments created.,0,, +druid.overlord.task.run.time,timer,,millisecond,,Milliseconds taken to run task.,0,, diff --git a/Druid/preview.css b/Druid/preview.css new file mode 100644 index 0000000..80ae351 --- /dev/null +++ b/Druid/preview.css @@ -0,0 +1,282 @@ +body { + font: 13px/1.5 'Lucida Grande','Lucida Sans Unicode',Arial,sans-serif; +} +.saas_tile { + position: relative; + float: left; + width: 208px; + height: 202px; + top: 0px; + text-align: center; + background:#f1f2f3; + margin: 1px; + overflow: hidden; + clear: right; +} + +.saas_in{ + position: relative; + top: 0px; + transition: all 0.2s ease; +} + +.saas_tile:hover .saas_in{ + top: -134px; +} + +.saas_avatar { + position: relative; + margin: 4px 0 0; +} + +.saas_name { + margin: 4px 0 0; + font-size: 14px; + font-weight: bold; +} + +.saas_controls { + position: absolute; + bottom: 8px; + left: 0; + right: 0; +} +.saas_description { + margin: 42px 10px; + font-size: 12px; +} + +button { + font-size: inherit; + line-height: 1.5em; + position: relative; + cursor: pointer; + margin: 0 2px; + padding: 3px 0.75em 4px; + font-weight: bold; + color: #4d4d4d; + background: #fff; + border: 1px solid #b4b4b4; + border-bottom-color: #aaa; + border-radius: 4px; + box-sizing: border-box; + box-shadow: none; + z-index: 10; +} + +.text-success { + color: #55b81c !important; +} + +span { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} + +#content { + display: none; +} + +.clearfix:after { + clear: both; + content: ' '; + display: block; + font-size: 0; + line-height: 0; + visibility: hidden; + width: 0; + height: 0; +} + +.integration_content { + width: 960px; + padding: 16px; + clear:both; + border: 1px solid #AAA; + margin: 40px 0px; +} + +.integration_content .desc { + margin: 0; +} + +.integration_header { + position: relative; + margin: 0 -16px 16px; + padding: 0 16px 0; + background-image: -webkit-linear-gradient(bottom, #eeeeee 0px, #ffffff 4px); + background-image: linear-gradient(to top, #eeeeee 0px, #ffffff 4px); + border-bottom: 1px solid #ddd; + z-index: 1; +} + +.integration_logo { + float: left; + margin: 0 16px 16px 0; + width: 200px; + height: 128px; + border: 1px solid #ddd; + outline: 9px solid #fff; + outline-offset: -10px; +} + +.integration_content h1 { + margin-bottom: 4px; +} + + + +h1, h2, h3 { + font-family: 'OpenSans','Lucida Grande','Lucida Sans Unicode',sans-serif; + font-weight: bold; + color: #774aa4; + +} +h1 { + color: #51326f; + font-size: 23px; +} + +p, h1 { + margin: 0 0 16px; +} + +.ui-helper-clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.ui-tabs { + background: #FFFFFF; + position: relative; + padding: .2em; + zoom: 1; + border-radius: 0px; + border: 0px none; +} + +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { + border: 1px solid #a8a8a8; + background: #f6f6f6; + font-weight: bold; + color: #5F83B9; +} +.ui-tabs .ui-tabs-nav { + border-color: #a8a8a8; + border-width: 0px 0px 1px 0px; + margin: 0; + padding: 0; + background: transparent; + border-radius: 0px; +} + + +.ui-tabs .ui-tabs-nav li.ui-state-active { + background: #FFFFFF; +} + +tabs-nav li.ui-state-default { + border-color: #a8a8a8; +} + + + +.ui-tabs .ui-tabs-panel { + display: block; + border: 0; + padding: 1em 1.4em; + background: none; + font-size: 12px; + border-color: #a8a8a8; + border-width: 0px 1px 1px 1px; + border-style: solid; + border-radius: 0px; +} + +.ui-tabs-hide { + display: none !important; +} + +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 1px; + margin: 0 .2em 1px 0; + border-bottom: 0 !important; + padding: 0; + white-space: nowrap; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} + +.ui-tabs .ui-tabs-nav li a { + float: left; + padding: .5em 1em; + text-decoration: none; + font-size: 12px; +} + +.ui-tabs .ui-tabs-nav li.ui-state-default a { + color: #4f4f4f !important; + text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.8); +} + + +pre.textfile { + position: relative; + margin: .5em 0 1em; + padding: 0 0 0 26px; + background-color: transparent; +} + +pre code { + display: block; + padding: 0.5em; + color: #000; + background: #f8f8ff; +} + +pre.textfile code { + background: #f9f9f9; + color: #222; + border: 2px solid #f0f0f0; +} + +.integration_content .desc #int-configuration ol li { + margin: 0 0 16px; +} + +button.primary { + color: #fff; + background: #3399cc; + border-color: #3399cc; + border-bottom-color: #297aa3; +} + +.code_icon { + position: absolute; + top: 0; + left: 0px; + height: 34px; + width: 26px; + background: #EEE; + +} + +ul, ol { + padding: 0 0 0 2em; +} + +.screenshot { + padding: 5px; + box-shadow: 0 0 10px #999; +} \ No newline at end of file diff --git a/Druid/screenboard.json b/Druid/screenboard.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/Druid/screenboard.json @@ -0,0 +1 @@ +{}