← Back to team overview

graphite-dev team mailing list archive

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

 

Makes sense. I'll just configure each backend with a different prefix at root level. Then I could connect to the frontend and consume all that collated data.

My only concern now is whether Grafana would be able to connect to the frontend and get all that data seamlessly into a dashboard. It's unclear to me whether Grafana uses the Carbon webapp portion (the one that makes the frontend), or whether it connects to some other component within Graphite.

In other words, I am confident I could make it work programatically - thank you for those links, very helpful. I am only uncertain whether I could make it work in a human-friendly way.

I feel this should be a common issue, so I'm puzzled by the scarcity of info in this field. If I make it work in the end, I'll write a big, detailed document and post it online - hopefully it will help others in my situation.


On 2015-02-27 05:58, Jason Dixon wrote:
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

--
Florin Andrei
http://florin.myip.org/


Follow ups

References