← Back to team overview

graphite-dev team mailing list archive

Re: querying multiple backends at once, as if they were a single instance

 

No, Graphite will not do any sort of prefixing to differentiate backend
servers. It's assumed that you avoid namespace collisions in each
backend cluster. Otherwise, whichever backend returns the query first,
"wins".

Jason

On Thu, Feb 26, 2015 at 01:12:46PM -0800, Florin Andrei wrote:
> I'll do a mock-up in Vagrant locally - but until then: the backends
> listed in CLUSTER_SERVERS, how do they appear on the frontend? Will
> their metrics be grafted under different roots in the data tree on
> the frontend? In other words, will this path...
> 
> backend1.www.tomcat5.os.cpu.total.user
> 
> ...return CPU usage on tomcat5 in backend1?
> 
> And will this path...
> 
> backend2.www.tomcat5.os.cpu.total.user
> 
> ...return CPU usage on tomcat5 in backend2?
> 
> 
> 
> On 2015-02-25 18:49, Jason Dixon wrote:
> >Hi Florin,
> >
> >That's exactly what Graphite is designed to do. You can run a single
> >Graphite "frontend" that reads from all of the "backend" Graphite
> >instances. You'll want to set the CLUSTER_SERVERS in local_settings.py
> >on the frontend server.
> >
> >There's some good information online:
> >http://bitprophet.org/blog/2013/03/07/graphite/
> >https://grey-boundary.io/the-architecture-of-clustering-graphite/
> >
> >I'm also going to be covering Graphite scalability at depth in Chapter
> >10 of my book, but that specific content is still a ways out.
> >http://shop.oreilly.com/product/0636920035794.do
> >
> >Jason
> >
> >On Wed, Feb 25, 2015 at 06:30:12PM -0800, Florin Andrei wrote:
> >>There's an environment with several VPCs in the cloud where I may
> >>have to provide each VPC with its own local Graphite server, and
> >>have all instances within a VPC send metrics only to that server.
> >>That's fine. All VPCs will have the exact same data structure within
> >>Graphite (same paths).
> >>
> >>But is there a way to... collate? federate?... have all these
> >>servers be queried at once from outside, as if they were a single
> >>Graphite instance? Obviously, each individual server would have to
> >>live under a separate root on the device that performs the
> >>collation.
> >>
> >>Could graphite-web be configured like that, pointing at separate
> >>graphite backends, and placing each backend under its own root?
> >>
> >>--
> >>Florin Andrei
> >>http://florin.myip.org/
> >>
> >>_______________________________________________
> >>Mailing list: https://launchpad.net/~graphite-dev
> >>Post to     : graphite-dev@xxxxxxxxxxxxxxxxxxx
> >>Unsubscribe : https://launchpad.net/~graphite-dev
> >>More help   : https://help.launchpad.net/ListHelp
> 
> -- 
> Florin Andrei
> http://florin.myip.org/
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~graphite-dev
> Post to     : graphite-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~graphite-dev
> More help   : https://help.launchpad.net/ListHelp

-- 
Jason Dixon
http://obfuscurity.com/
https://twitter.com/obfuscurity


Follow ups

References