Graphite Emitter Not Working

Hi,

I placed the following configs in the druid coordinator runtime.properties:

druid.monitoring.monitors=[“com.metamx.metrics.SysMonitor”,“com.metamx.metrics.JvmMonitor”,“io.druid.server.metrics.EventReceiverFirehoseMonitor”]

druid.emitter=graphite

druid.emitter.graphite.hostname=<HOST_NAME>

druid.emitter.graphite.port=<PORT_NAME>

druid.emitter.graphite.eventConverter={“type”:“all”, “namespacePrefix”: “druid.test”, “ignoreHostname”:false, “ignoreServiceName”:false}

But graphite did not receive any metrics.

I checked with sudo tcpdump -i any | grep <PORT_NAME> and there was nothing. I am running druid-0.9.0

Hi Rishi,

did you include the graphite emitter extension in the load list?

druid.extensions.loadList=[“graphite-emitter”]

The extension directory for the graphite emitter needs to contain three jar files, two dropwizard libs and the druid graphite emitter jar itself.

I tested the graphite emitter last week and got it to work. If the loadList and the libs are in place and the problem still persists let me know - I can post a working setup once I’m back at work tomorrow.

BTW this is using the port 2004 (pickled protocol).

more info about pickled

http://graphite.readthedocs.org/en/latest/feeding-carbon.html#the-pickle-protocol

please let me know if you need help setting this up.

Hi, graphite is not a core extension.

Please read: http://druid.io/docs/0.9.0/development/extensions.html

The docs may be much more clear with regards to how to load extensions: http://imply.io/docs/latest/extensions.html

I figured out theproblem and now Graphite emitter is working. Thanks everyone!!

I am facing a different problem. I have a datasource with rules:

016-04-21T10:21:26,515 INFO [qtp1603729058-52] io.druid.metadata.SQLMetadataRuleManager - Updating [<Datasource_Name>] with rules ** [[{“period”:“P3D”,“tieredReplicants”:{"_default_tier":1},“type”:“loadByPeriod”},{“type”:“dropForever”}]]** as per [AuditInfo{author=‘rsh’, comment=‘ff’, ip=‘XXXX’}]

But still all segments are being loaded into druid for <Datasource_Name>. I am not getting any error in coordinator log or historical log.

I restarted the historical. It loaded 4080 segments. However the coordinator shows:

2016-04-21T11:09:39,639 INFO [DatabaseSegmentManager-Exec–0] io.druid.metadata.SQLMetadataSegmentManager - Polled and found 1,796 segments in the database

So why is the historical loading all these extra segments?

do you have replication ?

The issue resolved but it took 2-3 hours for coordinator to follow the rules i specified and unload extra segments.I don’t have replication.

You can tune Druid’s dynamic configuration for faster loading/unloading of segments.http://druid.io/docs/0.9.0/configuration/coordinator.html

Guys I made the graphite-extension work up to the point where I’m successfully emitting events to https://github.com/kamon-io/docker-grafana-graphite where I opened port 2004 but I don’t know how to create a datasource with those Druid events.

Would you please give me a hint? I’m totally stuck on this. I cannot figure out if it is a matter of setting it up or nor.

I am not sure what you mean with

I don’t know how to create a datasource with those Druid events.

are you trying to see the druid metrics within druid it self ? or via grafana ?

I finally get it working :

  1. Run https://github.com/kamon-io/docker-grafana-graphite with published port 2004

  2. Open grafana user interface at host:80 and add datasource pointing to http://localhost:8000

  3. Open graphite user interface at host:81 where you see druid metrics

  4. Build a graph using the Graphite composer to test it works

  5. Create a dashboard in Grafana UI with druid metrics

@Slim ^^ This is just a know-how for complete Graphite/Grafana newbies :slight_smile: