Search code examples
graphite

graphite for multi tenent app


I am building a system where I need to collect time series data. The system is multi tenent so various customers will emit their own data points and I will store it. What kind of support does graphite has to this kind of senario?


Solution

  • Graphite provides a 'relay' which is able to relay metrics to other instances. This is configurable, so what you could do is specifying the tenant-id in the metric name (like so for example: ${tenant}.metric.name), and relay to other instances based on that id, using a regular expression. This way you can provide sharding.

    See: http://graphite.readthedocs.org/en/latest/carbon-daemons.html