"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[4056],{15680:(e,t,n)=>{n.d(t,{xA:()=>m,yg:()=>c});var r=n(96540);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var d=r.createContext({}),p=function(e){var t=r.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},m=function(e){var t=p(e.components);return r.createElement(d.Provider,{value:t},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,d=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),s=p(n),g=i,c=s["".concat(d,".").concat(g)]||s[g]||u[g]||a;return n?r.createElement(c,o(o({ref:t},m),{},{components:n})):r.createElement(c,o({ref:t},m))}));function c(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=g;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[s]="string"==typeof e?e:i,o[1]=l;for(var p=2;p<a;p++)o[p]=n[p];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}g.displayName="MDXCreateElement"},2431:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>m,contentTitle:()=>d,default:()=>c,frontMatter:()=>l,metadata:()=>p,toc:()=>s});var r=n(58168),i=n(98587),a=(n(96540),n(15680)),o=["components"],l={id:"opentsdb-emitter",title:"OpenTSDB Emitter"},d=void 0,p={unversionedId:"development/extensions-contrib/opentsdb-emitter",id:"development/extensions-contrib/opentsdb-emitter",title:"OpenTSDB Emitter",description:"\x3c!--",source:"@site/docs/29.0.0/development/extensions-contrib/opentsdb-emitter.md",sourceDirName:"development/extensions-contrib",slug:"/development/extensions-contrib/opentsdb-emitter",permalink:"/docs/29.0.0/development/extensions-contrib/opentsdb-emitter",draft:!1,tags:[],version:"current",frontMatter:{id:"opentsdb-emitter",title:"OpenTSDB Emitter"}},m={},s=[{value:"Introduction",id:"introduction",level:2},{value:"Configuration",id:"configuration",level:2},{value:"Druid to OpenTSDB Event Converter",id:"druid-to-opentsdb-event-converter",level:3}],u={toc:s},g="wrapper";function c(e){var t=e.components,n=(0,i.A)(e,o);return(0,a.yg)(g,(0,r.A)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("p",null,"To use this Apache Druid extension, ",(0,a.yg)("a",{parentName:"p",href:"/docs/29.0.0/configuration/extensions#loading-extensions"},"include")," ",(0,a.yg)("inlineCode",{parentName:"p"},"opentsdb-emitter")," in the extensions load list."),(0,a.yg)("h2",{id:"introduction"},"Introduction"),(0,a.yg)("p",null,"This extension emits druid metrics to ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/OpenTSDB/opentsdb"},"OpenTSDB")," over HTTP (Using ",(0,a.yg)("inlineCode",{parentName:"p"},"Jersey client"),"). And this emitter only emits service metric events to OpenTSDB (See ",(0,a.yg)("a",{parentName:"p",href:"/docs/29.0.0/operations/metrics"},"Druid metrics")," for a list of metrics)."),(0,a.yg)("h2",{id:"configuration"},"Configuration"),(0,a.yg)("p",null,"All the configuration parameters for the OpenTSDB emitter are under ",(0,a.yg)("inlineCode",{parentName:"p"},"druid.emitter.opentsdb"),"."),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:null},"property"),(0,a.yg)("th",{parentName:"tr",align:null},"description"),(0,a.yg)("th",{parentName:"tr",align:null},"required?"),(0,a.yg)("th",{parentName:"tr",align:null},"default"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"druid.emitter.opentsdb.host")),(0,a.yg)("td",{parentName:"tr",align:null},"The host of the OpenTSDB server."),(0,a.yg)("td",{parentName:"tr",align:null},"yes"),(0,a.yg)("td",{parentName:"tr",align:null},"none")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"druid.emitter.opentsdb.port")),(0,a.yg)("td",{parentName:"tr",align:null},"The port of the OpenTSDB server."),(0,a.yg)("td",{parentName:"tr",align:null},"yes"),(0,a.yg)("td",{parentName:"tr",align:null},"none")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"druid.emitter.opentsdb.connectionTimeout")),(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"Jersey client")," connection timeout(in milliseconds)."),(0,a.yg)("td",{parentName:"tr",align:null},"no"),(0,a.yg)("td",{parentName:"tr",align:null},"2000")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"druid.emitter.opentsdb.readTimeout")),(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"Jersey client")," read timeout(in milliseconds)."),(0,a.yg)("td",{parentName:"tr",align:null},"no"),(0,a.yg)("td",{parentName:"tr",align:null},"2000")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"druid.emitter.opentsdb.flushThreshold")),(0,a.yg)("td",{parentName:"tr",align:null},"Queue flushing threshold.(Events will be sent as one batch)"),(0,a.yg)("td",{parentName:"tr",align:null},"no"),(0,a.yg)("td",{parentName:"tr",align:null},"100")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"druid.emitter.opentsdb.maxQueueSize")),(0,a.yg)("td",{parentName:"tr",align:null},"Maximum size of the queue used to buffer events."),(0,a.yg)("td",{parentName:"tr",align:null},"no"),(0,a.yg)("td",{parentName:"tr",align:null},"1000")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"druid.emitter.opentsdb.consumeDelay")),(0,a.yg)("td",{parentName:"tr",align:null},"Queue consuming delay(in milliseconds). Actually, we use ",(0,a.yg)("inlineCode",{parentName:"td"},"ScheduledExecutorService")," to schedule consuming events, so this ",(0,a.yg)("inlineCode",{parentName:"td"},"consumeDelay")," means the delay between the termination of one execution and the commencement of the next. If your druid processes produce metric events fast, then you should decrease this ",(0,a.yg)("inlineCode",{parentName:"td"},"consumeDelay")," or increase the ",(0,a.yg)("inlineCode",{parentName:"td"},"maxQueueSize"),"."),(0,a.yg)("td",{parentName:"tr",align:null},"no"),(0,a.yg)("td",{parentName:"tr",align:null},"10000")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"druid.emitter.opentsdb.metricMapPath")),(0,a.yg)("td",{parentName:"tr",align:null},"JSON file defining the desired metrics and dimensions for every Druid metric"),(0,a.yg)("td",{parentName:"tr",align:null},"no"),(0,a.yg)("td",{parentName:"tr",align:null},"./src/main/resources/defaultMetrics.json")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},(0,a.yg)("inlineCode",{parentName:"td"},"druid.emitter.opentsdb.namespacePrefix")),(0,a.yg)("td",{parentName:"tr",align:null},"Optional (string) prefix for metric names, for example the default metric name ",(0,a.yg)("inlineCode",{parentName:"td"},"query.count")," with a namespacePrefix set to ",(0,a.yg)("inlineCode",{parentName:"td"},"druid")," would be emitted as ",(0,a.yg)("inlineCode",{parentName:"td"},"druid.query.count")),(0,a.yg)("td",{parentName:"tr",align:null},"no"),(0,a.yg)("td",{parentName:"tr",align:null},"null")))),(0,a.yg)("h3",{id:"druid-to-opentsdb-event-converter"},"Druid to OpenTSDB Event Converter"),(0,a.yg)("p",null,"The OpenTSDB emitter will send only the desired metrics and dimensions which is defined in a JSON file.\nIf the user does not specify their own JSON file, a default file is used.  All metrics are expected to be configured in the JSON file. Metrics which are not configured will be logged.\nDesired metrics and dimensions is organized using the following schema:",(0,a.yg)("inlineCode",{parentName:"p"},"<druid metric name> : [ <dimension list> ]"),(0,a.yg)("br",null),"\ne.g."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-json"},'"query/time": [\n    "dataSource",\n    "type"\n]\n')),(0,a.yg)("p",null,"For most use-cases, the default configuration is sufficient."))}c.isMDXComponent=!0}}]);