spinscale / elasticsearch-graphite-plugin

[UNMAINTAINED] Elasticsearch plugin which pushes data to a graphite server
Do What The F*ck You Want To Public License
66 stars 32 forks source link

Need to report metrics from non-master nodes as well #8

Open damienclaveau opened 10 years ago

damienclaveau commented 10 years ago

Non-master nodes could, and should report metrics as well because most of the metrics from the ES services API are related to each node, not to the entire cluster. Feel free to point out everything you disagree with in these commits :-)

spinscale commented 10 years ago

hey, doesnt this PR report a lot of metrics twice? Wouldnt it make more sense to only send the important subset from the non-master nodes?

May I ask, which metrics you are missing in particular which are not included in the nodes stats. usually you should already get all the metrics, wondering why this is needed. This basically just ensure, that all of that data is only sent once.

damienclaveau commented 10 years ago

If we want the metrics to be reported by the master node only, then the code should probably be nodes.localNodeMaster() instead of node.isMasterNode().

In our setup, we have [master = false & data = true] data nodes and [master = true & data = false] client/master nodes.

The metrics collected under the prefix [elasticsearch].[cluster.name].node..... seem to be node-centric, and all different from each other (see the jvm stats for example).

If I enable the plugin on the [master = true] only, I receive only the metrics from that node, and absolutely no metrics from the others data nodes. If it works for you, I probably missed something.

In your setup, please can you describe how is organized the hierarchy of prefixes in graphite that allow to identify separate metrics from each node ?

amitanjani commented 8 years ago

Hi damienclaveau,

I want to get heap usage info per es node. Is your changes working fine for you?

Hi spinscale

Nodes status API [ GET /_nodes/stats/process?pretty ] query gives us resource usage info from every node. Is elasticsearch-graphite-plugin pushing only master node resource usage to graphite?