Aggregate Series Statistics

Asked by Dan Di Spaltro

Say I have 50 computers giving the 1 min load average, is there a way to see the avg "load average" over the whole cluster, or is that a client side operation. I may not know the ins and outs of RRDTool but I always shyed away from it because I didn't have that kind of flexibility. I mean I guess I could pull all the data client side and do the operation there, but I always imagined there would be some kind of aggregation over multiple series with something like an RRDTool.

Does Graphite solve this problem, or am I thinking about it in an incorrect way?

Thanks for the help.

Question information

Language:
English Edit question
Status:
Solved
For:
Graphite Edit question
Assignee:
No assignee Edit question
Solved by:
chrismd
Solved:
Last query:
Last reply:
Revision history for this message
Best chrismd (chrismd) said :
#1

Yes this functionality is supported, though unfortunately the documentation is lacking right now. Here's the easiest way to do this:

Say for example you have three servers you are tracking the loadavg_1min metric for, each named like so:

servers.server1.loadavg_1min
servers.server2.loadavg_1min
servers.server3.loadavg_1min

You can get an average of the loadavg_1min metric across all three of these servers by using a URL of the form:

http://my-graphite-server/render?target=averageSeries(servers.*.loadavg_1min)

Unfortunately it is not very obvious how to do this from the web interface because it actually (currently) requires LDAP authentication to be setup (because it requires a profile-specific setting to be enabled, yada yada yada, ... I really need to fix this). Anyways if you do have authentication setup and you log in you should see a "(edit profile)" link in the top frame, click that and enable "Advanced UI settings", this will cause a special "*" node to be present beneath every branch node in the browser tree and it behaves just like "*" in a filesystem path (because that's actually what it is). By using "*" at branch nodes you can render multiple metrics within a single target and using the 'Targets' dialog off the main window you can apply functions (such as averageSeries) to the group of matching metrics.

Anyways, long story short I will definitely make this an option you can use without LDAP authentication in the next release. For now the easiest approach is to manually manipulate your graph's URL. A lot of people tend to embed graphite images by URL within other web pages rather than always directly using graphite's web interface anyways, so if you do that this isn't that big of a deal.

I hope that helps.

Revision history for this message
Dan Di Spaltro (dan-dispaltro) said :
#2

Thank you for the explanation, that was exactly what I was looking for!