Add support for Ganglia metrics to Riemann event stream processor #124
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, to forward metrics from Ganglia to Riemann the Graphite carbon protocol had to be used. This was not ideal because string metrics weren't supported and much of the meta data associated with a Ganglia metric were lost.
It is possible to encode some of this meta data (like grid, cluster and host) into the carbon metric name but this does not work for the host IP address, location data or any tags configured for that cluster or host. In addition there is no way to pass arbitrary key-value attributes with a metric.
Using the native Riemann protocol based on Google Protocol Buffers solves these issues and mapping Ganglia metric attributes to Riemann fields is straight-forward.
For example, a Ganglia metric like the following:
Will be marshalled by Riemann as:
The support for forwarding metrics to Riemann is a compile-time option to the configure script. ie. "--with-riemann".