Multi CPU Utilization Graph
Moderators: Developers, Moderators
-
- Posts: 3
- Joined: Mon Nov 24, 2008 10:06 pm
Awesome. Thanks. I finally got this working on my quad dual-core server!gruad23 wrote:After hours of reading in this forum and playing with my cacti I got multi-cpu working on my system.
For those who will come here later and seek help: I put my experience in the following small "mini-howto"
http://www.goldfisch.at/knowwiki/howtos ... u_graphing
Some notes if you've been fiddling around beforehand:
* Delete all the sources, templates you've been using beforehand.
* Make sure you are using SNMP 5.4+
* Ensure that the verbose data query debug for SNMP - Get Processor Information shows the number of rows appropriate to your CPU, or you'll get nowhere
gruad23, Nice Wiki article....
One question: in the Wiki you say:
I admit its not giving the correct result, but cannot work out why!!
You say to use the ALL_DATA_SOURCES_NODUPS value, when I was developing this I tried this out, but it failed to work properly.
I know that "the developers" have been "mucking around" with the way CDEFs work recently. (e.g. it changed from .8.7b to .8.7c and then back again with .8.7d - which I am currently using).
On the whole I am now using the WMI graphs developed by Claymen to get this data, and/or the aggregate plugin to get the same details...
I need to look at this, and republish the templates. Have you got copies of the working templates you can upload?
Argon0
One question: in the Wiki you say:
How is it simply wrong?The Average-Value is calculated wrong !!. Fixing is quite easy:
graph managment -> CDEFS : you will find a CDEF named Average All data sources - X sources (X depending on your setup and the file you imported before). You open it and will find a CDEF-items like Item #1 Custom String: a,b,+,2,/ or Item #1 Custom String: a,b,+,c+,d+,4,/. This is simply wrong
I admit its not giving the correct result, but cannot work out why!!
You say to use the ALL_DATA_SOURCES_NODUPS value, when I was developing this I tried this out, but it failed to work properly.
I know that "the developers" have been "mucking around" with the way CDEFs work recently. (e.g. it changed from .8.7b to .8.7c and then back again with .8.7d - which I am currently using).
On the whole I am now using the WMI graphs developed by Claymen to get this data, and/or the aggregate plugin to get the same details...
I need to look at this, and republish the templates. Have you got copies of the working templates you can upload?
Argon0
No longer a n00by, probably, by now an 0ldby
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
Actually I take that back, it all seems right to me now I check it again. Fat fingers the first time on the calculator...
As I understand it CDEF works ONLY in order
So to do the Calculation Average (or Mean) for 4 data types you do:
a,b,+,c,+,d,+,4,/
This means:
add a to b, add c, add d, then divide the lot by 4.
The problem I was getting with All_Data_sources_no_dup was that it would include the average value as well and thus the calculated value would be off - its possible this behaviour has been fixed! Going to check now...
[EDIT:] Well checked, the All_Data_Sources_no_dups does something odd, but returns the same values....
This is the NoDups one:
Mean CPU Current: 6.50 %
CPU0 Current: 9.95 %
CPU1 Current: 3.04 %
And look exactly the same...
As I understand it CDEF works ONLY in order
So to do the Calculation Average (or Mean) for 4 data types you do:
a,b,+,c,+,d,+,4,/
This means:
add a to b, add c, add d, then divide the lot by 4.
The problem I was getting with All_Data_sources_no_dup was that it would include the average value as well and thus the calculated value would be off - its possible this behaviour has been fixed! Going to check now...
[EDIT:] Well checked, the All_Data_Sources_no_dups does something odd, but returns the same values....
This is the NoDups one:
And this is the original:CDEF:cdefa=TIME,1238155653,GT,a,a,UN,0,a,IF,IF,TIME,1238155653,GT,b,b,UN,0,b,IF,IF,+,2,/ \
The Graphs both report:CDEF:cdefa=a,b,+,2,/ \
Mean CPU Current: 6.50 %
CPU0 Current: 9.95 %
CPU1 Current: 3.04 %
And look exactly the same...
Last edited by argon0 on Fri Mar 27, 2009 7:30 am, edited 1 time in total.
No longer a n00by, probably, by now an 0ldby
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
Well, if it were an easy task, I would do it
I do agree that 32 colors in one tiny little graph would make same artists turn their eyes away, but still ...it would be great to have it....same for 16, 24 CPUs...these days such servers are not so rare and sooner or later, from "nice-to-have" it will become a "must-have"...
This is just a kind request which, of course, can be denied
I do agree that 32 colors in one tiny little graph would make same artists turn their eyes away, but still ...it would be great to have it....same for 16, 24 CPUs...these days such servers are not so rare and sooner or later, from "nice-to-have" it will become a "must-have"...
This is just a kind request which, of course, can be denied
Hmmm... You may well be right there, have to find another way of doing it - maybe grouping by Physical CPU???
If you have a 32 CPU host, just graph it using the Standard CPU graphs - create all 32 graphs for your host THEN, from graph management - select all these graphs, then, from the drop down at the bottom of the page, choose Create Aggregate Graph.
This will take you into another dialog where you can specify colours, etc...
Good luck, and post a picture once you've done it...
(You do need the aggregate plugin installed to get this to work, but its pretty easy to install...)
If you have a 32 CPU host, just graph it using the Standard CPU graphs - create all 32 graphs for your host THEN, from graph management - select all these graphs, then, from the drop down at the bottom of the page, choose Create Aggregate Graph.
This will take you into another dialog where you can specify colours, etc...
Good luck, and post a picture once you've done it...
(You do need the aggregate plugin installed to get this to work, but its pretty easy to install...)
No longer a n00by, probably, by now an 0ldby
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
Q1: Does it mean that I first need to install Plugin Architecture, correct?(You do need the aggregate plugin installed to get this to work, but its pretty easy to install...)
Q2: Where do I find the plugin mentioned above (aggregate..)? ...couldn't find it in http://cactiusers.org/downloads/
Many thanks!
Aggregate is on this site:
http://forums.cacti.net/viewtopic.php?t ... regate+0.7
And yes, you should upgrade/install the latest version of PLugin architecture.
Argon0
http://forums.cacti.net/viewtopic.php?t ... regate+0.7
And yes, you should upgrade/install the latest version of PLugin architecture.
Argon0
No longer a n00by, probably, by now an 0ldby
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
i expanded one of the templates to be stacked with light opacity on the areas. see the attached template
- Attachments
-
- cacti_graph_template_host_mib_-_multi_cpu_utilization_on_4_processor_box_stacked.xml
- (26.95 KiB) Downloaded 1548 times
This is a great thread, a very useful set of graph templates..
I am using slech's mod version of the Multi-graphs, I already had all my single graphs and data sources defined..
I am also seeing this math problem, of Min, Max averages. I understand the principles of when the max mean was hit and the min mean was hit at different polling cycles..
Why is that at all relevant??? the max and mins are static numbers for that moment in time when I am looking at the data in the different graphs.
I do understand that the values will change from the hourly graph, and the Daily graph, etc... at times all of the graphs are 100% accurate.. other times only one, next time 3, no real pattern to trouble shoot
There has to be a simple way to take whatever numbers are currently in that field column and add them up and divide by x and put the result in an Average field.
This seems to be spreadsheet basics or am I missing something bigger? perhaps a design flaw in the template itself .. a floating variable?
I am guessing .. pulling my hair out.. for the time being I have removed all the averages from my graphs.. the data is not consistent and cannot be trusted for accuracy..
Just trying to work this out..and get the most accurate data I can..
Thanks,
Sam
I am using slech's mod version of the Multi-graphs, I already had all my single graphs and data sources defined..
I am also seeing this math problem, of Min, Max averages. I understand the principles of when the max mean was hit and the min mean was hit at different polling cycles..
Why is that at all relevant??? the max and mins are static numbers for that moment in time when I am looking at the data in the different graphs.
I do understand that the values will change from the hourly graph, and the Daily graph, etc... at times all of the graphs are 100% accurate.. other times only one, next time 3, no real pattern to trouble shoot
There has to be a simple way to take whatever numbers are currently in that field column and add them up and divide by x and put the result in an Average field.
This seems to be spreadsheet basics or am I missing something bigger? perhaps a design flaw in the template itself .. a floating variable?
I am guessing .. pulling my hair out.. for the time being I have removed all the averages from my graphs.. the data is not consistent and cannot be trusted for accuracy..
Just trying to work this out..and get the most accurate data I can..
Thanks,
Sam
Eggibba wrote:MoreDakka,
I suspect your Mins and Maxs are happening at different times on each of the processors - thus the mean Max will be lower than the mean of the Maxs. That's probably clear as mud ....
In other words, the mean Max shown is the highest MEAN that has been attained - it's just that one or two of the processors took it high at a particular sample. At another sample, different processors might be higher, and the mean still be lower than the existing Max for the mean.
If that still doesn't make sense, try looking at the graphs for each individual processor, and notice that they don't all peak at the same sample. Then run the numbers for the avg at each sample that appears to be the largest.
MoreDakka wrote:I'm still having the graph math problem.
(1+2+3)/3 !=2.5
I don't know where this graph is pulling some of the numbers that it has to generate some of the answers that it does. I like this graph and it would suck not to be able to use it because it's adding something to the numbers it polls.
Hopefully someone can help.
Thanks.
Operating System: 2003 Standard Edition SP2
Webserver: Apache 2.2.6
Cacti: 0.8.7d
Plugin Architecture: cacti-plugin-0.8.7d-PA-v2.4
Installed Plugin: Aggregate-070B2
Installed Plugin: Settings - 0.6
Installed Plugin: Thold - 0.41
MySQL: 5.0.45
PHP: 5.2.4
NET-SNMP: 5.4.2.1-1.win32
RRDTool Win32: 1.2.27-1
phpMyAdmin: 2.11.1
Webserver: Apache 2.2.6
Cacti: 0.8.7d
Plugin Architecture: cacti-plugin-0.8.7d-PA-v2.4
Installed Plugin: Aggregate-070B2
Installed Plugin: Settings - 0.6
Installed Plugin: Thold - 0.41
MySQL: 5.0.45
PHP: 5.2.4
NET-SNMP: 5.4.2.1-1.win32
RRDTool Win32: 1.2.27-1
phpMyAdmin: 2.11.1
Swinomish said:
The CDEF language is quite simple, but doesn't use brackets...
So do do something like adding 2 numbers and dividing by two the syntax for (a + b)/2
Becomes
a,b,+,2,/
(See http://oss.oetiker.ch/rrdtool/tut/cdeftutorial.en.html)
To explain:
The values before the operator are loaded into a "stack" then the first operator is acted on the last two values in the stack - thus a+b (which we'll say = c)
Any further operators specified are then carried out.
THEN the next set of values are added into the stack - thus 2 is added into the stack leaving two values in the stack (c,2) then the operator is carried out - c/2...
For more variables it goes like this:
4 values:
a,b,+,c,+,d,+,2,/
this does
a into stack,
b into stack,
+ operator - so a+b (=Z)
c into stack,
+ operator Z+c (=Y),
d into stack,
+ operator Y+d (=X)
2 into stack,
/ operator X/2 = result
OR
a,b,c,d,+,+,+,2,/
This does
a into stack,
b into stack,
c into stack,
d into stack,
+ operator c+d (= Z)
+ operator Z+b (= Y)
+ operator Y+a (= X)
2 into stack X/2 = result
I hope this makes things clearer.... [although I doubt it]
This is the way I approached it.I do understand that the values will change from the hourly graph, and the Daily graph, etc... at times all of the graphs are 100% accurate.. other times only one, next time 3, no real pattern to trouble shoot
There has to be a simple way to take whatever numbers are currently in that field column and add them up and divide by x and put the result in an Average field.
The CDEF language is quite simple, but doesn't use brackets...
So do do something like adding 2 numbers and dividing by two the syntax for (a + b)/2
Becomes
a,b,+,2,/
(See http://oss.oetiker.ch/rrdtool/tut/cdeftutorial.en.html)
To explain:
The values before the operator are loaded into a "stack" then the first operator is acted on the last two values in the stack - thus a+b (which we'll say = c)
Any further operators specified are then carried out.
THEN the next set of values are added into the stack - thus 2 is added into the stack leaving two values in the stack (c,2) then the operator is carried out - c/2...
For more variables it goes like this:
4 values:
a,b,+,c,+,d,+,2,/
this does
a into stack,
b into stack,
+ operator - so a+b (=Z)
c into stack,
+ operator Z+c (=Y),
d into stack,
+ operator Y+d (=X)
2 into stack,
/ operator X/2 = result
OR
a,b,c,d,+,+,+,2,/
This does
a into stack,
b into stack,
c into stack,
d into stack,
+ operator c+d (= Z)
+ operator Z+b (= Y)
+ operator Y+a (= X)
2 into stack X/2 = result
I hope this makes things clearer.... [although I doubt it]
No longer a n00by, probably, by now an 0ldby
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
Now Head of Technology at RSCH, back to the prickly subject of Monitorring....
- juliangomezr
- Posts: 32
- Joined: Tue Jun 30, 2009 11:26 am
Hi, I found very useful your template, but I have a Question.
The template only graphs the totasl cpu witch an amount of 1.0%. When I execute the poller manually, it displays the following error:
Can't open perl script "/srv/www/htdocs/cacti/scripts/w32_query_cpu.pl": No such file or directory
Where can I downloado the w32_query_cpu.pl script to copy it on the rigth directory?
Thanks for your help
The template only graphs the totasl cpu witch an amount of 1.0%. When I execute the poller manually, it displays the following error:
Can't open perl script "/srv/www/htdocs/cacti/scripts/w32_query_cpu.pl": No such file or directory
Where can I downloado the w32_query_cpu.pl script to copy it on the rigth directory?
Thanks for your help
I have intel core i920 (4 procesor, but on HT technology = 4 procesor + virtual procesor)
Command "top" show me 8 procesor.
What xml i can use? I try some xml from this topic, but no working (no graph, or show always 1% for all procesor(always).
I dont know, if i must use script for 4 procesor or 8 procesor....
First script on 8 procesor tell me in debug: ERROR: invalid rpn expression in: a,b,+,c,+,d,+,e,+,f,+,g,+,h,+,5,/
First script on 4 procesor tell me in debug: ERROR: invalid rpn expression in: ,4,+,4,/
what is wrong?
Command "top" show me 8 procesor.
What xml i can use? I try some xml from this topic, but no working (no graph, or show always 1% for all procesor(always).
I dont know, if i must use script for 4 procesor or 8 procesor....
First script on 8 procesor tell me in debug: ERROR: invalid rpn expression in: a,b,+,c,+,d,+,e,+,f,+,g,+,h,+,5,/
First script on 4 procesor tell me in debug: ERROR: invalid rpn expression in: ,4,+,4,/
what is wrong?
Who is online
Users browsing this forum: No registered users and 1 guest