graphite-project / graphite-web

A highly scalable real-time graphing system
http://graphite.readthedocs.org/
Apache License 2.0
5.87k stars 1.26k forks source link

[Q] Separate hosts for carbon-cache & graphite-web #2812

Closed vincele closed 1 year ago

vincele commented 1 year ago

I ask because I did not find the answer in the docs I read, and my attempt was unsuccesful.

Is it possible to have graphite-web on a different host than carbon-cache ?

This would probably make a good entry for the FAQ, just below/above the diagram of graphite architecture.

EDIT: I think I was mislead by CARBONLINK_HOSTS having IP addresses. If i'm not mistaken (now) I think this variable can not have IPs of other hosts in the list.

vincele commented 1 year ago

And another related question:

Would it be possible to achieve kind of the same thing with replacing graphite-web with another web front-end instance (for example grafana) on a different host ?

host1 => carbon-cache (no graphite-web) host2 => grafana, taking data from host1

deniszh commented 1 year ago

Is it possible to have graphite-web on a different host than carbon-cache ?

Yes, and no. Graphite-web reads data from carbon cache through carbonlink interface, but then it also read whisper file. So, you will need graphite-web on the same host where carbon cache located to make everything works. Multiple IPs can be used for multiple carbon cache instances, that's usual setup for scalability. But you can point one graphite web to another graphite web. E.g. you can have graphite web frontend which will serve data from multiple graphite web backends (every backend in this case contains graphite web and one or more carbon caches).

deniszh commented 1 year ago

Would it be possible to achieve kind of the same thing with replacing graphite-web with another web front-end instance (for example grafana) on a different host ?

No, grafana is not a frontend for graphite, it's dashboard. You would need graphite web or compatible software to properly render graphite functions.

vincele commented 1 year ago

OK, thanks, I think I understand a bit better. I was thinking of graphite-web only as a dashboard (I come with prom/graf background).

So in case of grafana dashboard use, it will get data through graphite-web, and not directly from carbon-cache. Is that right ?

deniszh commented 1 year ago

So in case of grafana dashboard use, it will get data through graphite-web, and not directly from carbon-cache. Is that right ?

Yes. In case of Prometheus it's a single process - it stores data and doing retrieval and processing. In case of Graphite carbon-cache doing data storing, graphite web is doing retrieval and processing. That distribution is still happening even in alternative implementations - carbonapi is graphite-web reimplemented in go, but go-carbon is carbon-cache reimplemented in go, you'll need both components for making it work.

vincele commented 1 year ago

Thanks for the explanations, closing issue now.