Win32 - Monitor running processes
Moderators: Developers, Moderators
Re: Win32 - Monitor running processes
hello, still waiting for you answer if there's any.
And I have another question: can I make it work with \Process()\% Processor Time ? and not with CPU load for every service that is running?
Thank you in advance.
And I have another question: can I make it work with \Process()\% Processor Time ? and not with CPU load for every service that is running?
Thank you in advance.
Re: Win32 - Monitor running processes
hrSWRunName - Field Length ?
Is there a way to modify the |query_hrSWRunName| to capture more than 15 characters? It's not a problem when capturing processes one-by-one and making note of which rrd they are, then modifying the field afterwards, but it's a real pain to create a bunch of new graphs all at once then figure out which on is which.
Our naming conventions are:
11CharaName.Services.UniqueName
The Data Query Template displays the full key, however the Data Source list and Graph list simply truncate.
Thanks,
Your *new* Friendly Neighborhood Cacti User
\Wikky/
Is there a way to modify the |query_hrSWRunName| to capture more than 15 characters? It's not a problem when capturing processes one-by-one and making note of which rrd they are, then modifying the field afterwards, but it's a real pain to create a bunch of new graphs all at once then figure out which on is which.
Our naming conventions are:
11CharaName.Services.UniqueName
The Data Query Template displays the full key, however the Data Source list and Graph list simply truncate.
Thanks,
Your *new* Friendly Neighborhood Cacti User
\Wikky/
Re: Win32 - Monitor running processes
adrianzzs: That would be a WMI query. There are various wrapper scripts on the forum or try this: http://docs.cacti.net/usertemplate:data ... s:typeperf
Wikky: If all the name appears in a snmpwalk, then cacti is simply truncating it during display. Check Settings -> Visual and increase the lengths as needed.
Wikky: If all the name appears in a snmpwalk, then cacti is simply truncating it during display. Check Settings -> Visual and increase the lengths as needed.
| Scripts: Monitor processes | RFC1213 MIB | DOCSIS Stats | Dell PowerEdge | Speedfan | APC UPS | DOCSIS CMTS | 3ware | Motorola Canopy |
| Guides: Windows Install | [HOWTO] Debug Windows NTFS permission problems |
| Tools: Windows All-in-one Installer |
Re: Win32 - Monitor running processes
Hello BSOD2600
I found out that this template (Win32 - Monitor running processes) does not take into consideration the number of cores.
example: for a server with 24 cores the real CPU usage for a process is 0.1% but this template reports 2.4%.
So i had to create a new CDEF function to divide by 24 in a new graph template in order for my graphs to report the correct values.
can it be updated so that it can take into consideration the number of cores an report correctly the percent usage for a process?
thank you,
Adrian
I found out that this template (Win32 - Monitor running processes) does not take into consideration the number of cores.
example: for a server with 24 cores the real CPU usage for a process is 0.1% but this template reports 2.4%.
So i had to create a new CDEF function to divide by 24 in a new graph template in order for my graphs to report the correct values.
can it be updated so that it can take into consideration the number of cores an report correctly the percent usage for a process?
thank you,
Adrian
Re: Win32 - Monitor running processes
Just FYI:adrianzzs wrote: I found out that this template (Win32 - Monitor running processes) does not take into consideration the number of cores.
example: for a server with 24 cores the real CPU usage for a process is 0.1% but this template reports 2.4%.
So i had to create a new CDEF function to divide by 24 in a new graph template in order for my graphs to report the correct values.
hrSWRunPerfCPU (.1.3.6.1.2.1.25.5.1.1.1)
Probably to adapt to multi-processor/multi-core machines, it needs to get information (by using SNMP?) about "how many processors/cores do you have".The number of centi-seconds of the total system's CPU resources consumed by this process.
Note that on a multi-processor system, this value may increment by more than one centi-second in one centi-second of real (wall clock) time.
P.S.
ssCpuRawUser (.1.3.6.1.4.1.2021.11.50) on NET-SNMP has also similar specifications.
- http://www.net-snmp.org/docs/mibs/ucdavis.html#ssCpuRawUser
Re: Win32 - Monitor running processes
I am using this and it's working great, but i have 1 question.
Is there a way to stack the data from the 5 processes I am monitoring with this as 1 graph using stack, instead of 5 individual graphs?
Is there a way to stack the data from the 5 processes I am monitoring with this as 1 graph using stack, instead of 5 individual graphs?
Re: Win32 - Monitor running processes
Could use the aggregate plugin to create it.spyd4r wrote:Is there a way to stack the data from the 5 processes I am monitoring with this as 1 graph using stack, instead of 5 individual graphs?
| Scripts: Monitor processes | RFC1213 MIB | DOCSIS Stats | Dell PowerEdge | Speedfan | APC UPS | DOCSIS CMTS | 3ware | Motorola Canopy |
| Guides: Windows Install | [HOWTO] Debug Windows NTFS permission problems |
| Tools: Windows All-in-one Installer |
Re: Win32 - Monitor running processes
I am attemping to graph 2 processes with the same name but different PIDS.
My Re-Index Method is Validate All fields
It appears that when I am graphing these with the same name (i.e CMS.exe) Cacti chooses one or the other and i am not graphing both
I added |query_hrSWRunIndex| to my title and I see the PID value change there from one PID to the Other PID back and forth and don't know which one I am actually getting.
Is this because the data source is using the name (CMS.exe) as the Index and not the Run Index? Because of how that can change?
Am I overlooking something obvious?
My Re-Index Method is Validate All fields
It appears that when I am graphing these with the same name (i.e CMS.exe) Cacti chooses one or the other and i am not graphing both
I added |query_hrSWRunIndex| to my title and I see the PID value change there from one PID to the Other PID back and forth and don't know which one I am actually getting.
Is this because the data source is using the name (CMS.exe) as the Index and not the Run Index? Because of how that can change?
Am I overlooking something obvious?
Re: Win32 - Monitor running processes
It's really best practice to profile by process name and not the PID, because it can change so often. However, as you've found out when using the name, Cacti is only able to collect data from the "first" instance (I believe with the lowest PID). Short of using a plugin (like hmib or writing something similar), I'm not aware of any way to concurrently track multiple same-named processes. How would you even able to keep them straight between instances?
| Scripts: Monitor processes | RFC1213 MIB | DOCSIS Stats | Dell PowerEdge | Speedfan | APC UPS | DOCSIS CMTS | 3ware | Motorola Canopy |
| Guides: Windows Install | [HOWTO] Debug Windows NTFS permission problems |
| Tools: Windows All-in-one Installer |
Re: Win32 - Monitor running processes
BSOD thanks for the reply - I agree as well and figured it was due tpo the index on Name (which is why it is noce because if it restarts on a new PID you still have the graphing).
Re: Win32 - Monitor running processes
BSOD: Multiple Processes with same name... The only way I can think of doing it would be to rename the exes, then you'd be cool (I think we did this with SQL exes at my last place).
My graphs using this are showing some odd CPU usage - see below (I've only been running it a few minutes, so have zoomed in).
System Idle is showing peak at 600+ SAV is showing peak at almost 100
This server is a VM running with 4 cores, so even if we divide that by 4 we get over 150 for proc...
What is cpu actually measuring?
My graphs using this are showing some odd CPU usage - see below (I've only been running it a few minutes, so have zoomed in).
System Idle is showing peak at 600+ SAV is showing peak at almost 100
This server is a VM running with 4 cores, so even if we divide that by 4 we get over 150 for proc...
What is cpu actually measuring?
- Attachments
-
- graph_image_info01_SavService.png (22.89 KiB) Viewed 3506 times
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....
Re: Win32 - Monitor running processes
. I've put the same image in twice. But doesn't matter...
Just checked out the data template, noticed the data source type is set to counter..
From: http://docs.cacti.net/manual:087:3_temp ... a_template
A COUNTER is for continuously incrementing values that might overflow, e.g. ifInOctets (Traffic).
CPU should surely be a Gauge (as you've got Memory set ...)
A GAUGE is for numbers that are not continuously incrementing, e.g. a temperature.
Gauge is what the Host MIB - CPU Utilization data template uses...
Will try with Gauge and report back.
Just checked out the data template, noticed the data source type is set to counter..
From: http://docs.cacti.net/manual:087:3_temp ... a_template
A COUNTER is for continuously incrementing values that might overflow, e.g. ifInOctets (Traffic).
CPU should surely be a Gauge (as you've got Memory set ...)
A GAUGE is for numbers that are not continuously incrementing, e.g. a temperature.
Gauge is what the Host MIB - CPU Utilization data template uses...
Will try with Gauge and report back.
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....
Re: Win32 - Monitor running processes
(though how you get a data template to cascade down to the graphs that rely on it I DON'T know - you don't see the link I posted earlier - you need to create new graphs with this data template..)
Last edited by argon0 on Thu Feb 14, 2013 11:20 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....
Re: Win32 - Monitor running processes
OK, so I've been a tad hasty in my previous posts, using Getif I can see that the OID being queried (.1.3.6.1.2.1.25.5.1.1.1) has the description:
Hmmm.. needs thinking about - will leave as it is for the moment...
BSOD - any ideas?
So, presumably what is being graphed is the number of centiseconds (or, looking at my system idle time graph, seconds?) of the total system's CPU resources being consumed by this process in the last measurement period (i.e. 5 minutes?)... Should we divide this by 300 or 60 to give number of centiseconds being used per second (OK this would give a higher number on multi proc systems - but we can get that number from snmp...(OID - .1.3.6.1.2.1.25.3.3.1.2) which gives a table with one line per processor....The number of centi-seconds of the total system's
CPU resources consumed by this process. Note that
on a multi-processor system, this value may
increment by more than one centi-second in one
centi-second of real (wall clock) time.
Hmmm.. needs thinking about - will leave as it is for the moment...
BSOD - any ideas?
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....
Re: Win32 - Monitor running processes
First off - sorry for rambling/going on a bit - just trying to understand what these graphs are showing me/us....
OK, another weirdity about this when I zoom in I get higher (MAX) values for shorter periods of time... Ah.. but its doing average isn't it so a MAX average over 5 minutes could be lower than a MAX average over a minute, which is the smallest granularity...
Looking at my most granular graphs - I can see that Sys idle peaks at 1100 (seconds or Centiseconds?) per minute(?)
So first divide 1100/60 = 18.333. Then divide by 4 (number of procs) = 4.58 seconds/second? Which can't be right... Until you think...
If its doing it per 5 minutes, and take a look at the period around that peak ... I can see that there is a peak of 1100 for 1 minute, surrounded, on the both future and past sides by 2 minute plateaus of ~40 so add them up you get ~ 1200 total.... So divide that by 300 (seconds in 5 minutes)=~ 4. Divide this by number of processors gives ~ 1...
The only problem with this is there is another peak of ~ 1100 both in the minute previous to the past plateau and in the minute post plateau - which kind of puts the "bell curve" being a 3 minute one with 1100 peak, which wrecks the above calculations completely. (i.e. 1200/(180*4) = 1.67 s/s, but if 1200 isn't the total (but as System Idle is not the whole story and if we could find another 240 seconds of CPU time in 3 minutes... - this would give 2s/s but...... <ack>)
Looking at the same machine in task manager directly on the system - sys idle process ends up using 4 seconds of CPU time per second... and it has 4 cpus... so over 5 minutes it should use 1200 seconds of CPU time (ish) it is also using 99% of the CPU at most times.
Oh, and the daily graphs say 5 minute average....
OK, another weirdity about this when I zoom in I get higher (MAX) values for shorter periods of time... Ah.. but its doing average isn't it so a MAX average over 5 minutes could be lower than a MAX average over a minute, which is the smallest granularity...
Looking at my most granular graphs - I can see that Sys idle peaks at 1100 (seconds or Centiseconds?) per minute(?)
So first divide 1100/60 = 18.333. Then divide by 4 (number of procs) = 4.58 seconds/second? Which can't be right... Until you think...
If its doing it per 5 minutes, and take a look at the period around that peak ... I can see that there is a peak of 1100 for 1 minute, surrounded, on the both future and past sides by 2 minute plateaus of ~40 so add them up you get ~ 1200 total.... So divide that by 300 (seconds in 5 minutes)=~ 4. Divide this by number of processors gives ~ 1...
The only problem with this is there is another peak of ~ 1100 both in the minute previous to the past plateau and in the minute post plateau - which kind of puts the "bell curve" being a 3 minute one with 1100 peak, which wrecks the above calculations completely. (i.e. 1200/(180*4) = 1.67 s/s, but if 1200 isn't the total (but as System Idle is not the whole story and if we could find another 240 seconds of CPU time in 3 minutes... - this would give 2s/s but...... <ack>)
Looking at the same machine in task manager directly on the system - sys idle process ends up using 4 seconds of CPU time per second... and it has 4 cpus... so over 5 minutes it should use 1200 seconds of CPU time (ish) it is also using 99% of the CPU at most times.
Oh, and the daily graphs say 5 minute average....
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....
Who is online
Users browsing this forum: No registered users and 3 guests