Kaseya Community

Monitoring Specific Process - Above CPU usage counter

This question is answered

Greetings fellow Kaseyans - 

I might just be missing the obvious here, but I have spent a bit of time trying to figure out how to monitor one specific process for either a certain amount of CPU usage or memory usage. I can't seem to nail down where it would be coming from, to build the monitor sec to check that, since I can only see monitoring sets that check if processes exist, or if CPU utilization gets above a specific mark totally. Anyone have any suggestions for this? Thanks!

 

Ninja Edit: I am running Kaseya2 - 6.0.1.0

JT



[edited by: Justin Tison at 7:03 AM (GMT -8) on 1-17-2011] Added server version
Verified Answer
  • We use the following monitor set to monitor KES and get an alert if we find KES taking up too much CPU.  You can monitor any specific process for CPU or memory just by adding the Instance

    Object          Counter                      Instance              Counter Name

    Process % Processor Time        KasAVSrv             KES CPU Utilization

    Process % Processor Time        avgrsx                   avgrsx Processor

    <?xml version="1.0" encoding="ISO-8859-1" ?>

    <monitor_set_definition version="1.0">

    <MonitorSet name="ISPIRE AVG CPU Monitor" description='Monitors AVG Processes'>

    <Counters>

    <Counter name='avgrsx Processor'  description='null' counterObject='Process'  counter='% Processor Time'  counterInstance='avgrsx'  counterSampleInterval='120' collectionOperator='Over'  collectionThreshold='1' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over'  thresholdAmount='50' thresholdDuration='600' thresholdWarning='10' thresholdReArm='3600'/>

    <Counter name='avgnsx Processor Time'  description='null' counterObject='Process'  counter='% Processor Time'  counterInstance='avgnsx'  counterSampleInterval='120' collectionOperator='Over'  collectionThreshold='2' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over'  thresholdAmount='50' thresholdDuration='600' thresholdWarning='10' thresholdReArm='3600'/>

    <Counter name='KES CPU Utilization'  description='null' counterObject='Process'  counter='% Processor Time'  counterInstance='KasAVSrv'  counterSampleInterval='120' collectionOperator='Over'  collectionThreshold='1' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over'  thresholdAmount='30' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/>

    </Counters>

    <Services>

    </Services>

    <Processes>

    </Processes>

    </MonitorSet>

All Replies
  • I don't think you can do this with native kaseya, your own investigation seems to be correct.

    You can monitor CPU on the box and you can monitor the state of a process but you cannot combine.

    If you do find a way would be good to know - we were trying to find out which processess are taking up the most memory and cpu over time but could not figure that one out either.

  • Yeah, so far what I have come up with is a custom agent proc that can parse the current CPU/Mem (basically a dump of task manager info) to a text file, then using a custom alert to parse that text file and alert if it sees that process and percentage. Its pretty ugly.... :(

  • Correct there is no built in process CPU usage monitoring in Kaseya, I find that rather odd as you can do this in Perfmon. Another one that is missing is bytes send and received for the primary network adapter. Sort of sucks but what can you do.

  • We use the following monitor set to monitor KES and get an alert if we find KES taking up too much CPU.  You can monitor any specific process for CPU or memory just by adding the Instance

    Object          Counter                      Instance              Counter Name

    Process % Processor Time        KasAVSrv             KES CPU Utilization

    Process % Processor Time        avgrsx                   avgrsx Processor

    <?xml version="1.0" encoding="ISO-8859-1" ?>

    <monitor_set_definition version="1.0">

    <MonitorSet name="ISPIRE AVG CPU Monitor" description='Monitors AVG Processes'>

    <Counters>

    <Counter name='avgrsx Processor'  description='null' counterObject='Process'  counter='% Processor Time'  counterInstance='avgrsx'  counterSampleInterval='120' collectionOperator='Over'  collectionThreshold='1' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over'  thresholdAmount='50' thresholdDuration='600' thresholdWarning='10' thresholdReArm='3600'/>

    <Counter name='avgnsx Processor Time'  description='null' counterObject='Process'  counter='% Processor Time'  counterInstance='avgnsx'  counterSampleInterval='120' collectionOperator='Over'  collectionThreshold='2' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over'  thresholdAmount='50' thresholdDuration='600' thresholdWarning='10' thresholdReArm='3600'/>

    <Counter name='KES CPU Utilization'  description='null' counterObject='Process'  counter='% Processor Time'  counterInstance='KasAVSrv'  counterSampleInterval='120' collectionOperator='Over'  collectionThreshold='1' trendTimeSpan='1209600' trendReArm='3600' thresholdOperator='Over'  thresholdAmount='30' thresholdDuration='25' thresholdWarning='10' thresholdReArm='3600'/>

    </Counters>

    <Services>

    </Services>

    <Processes>

    </Processes>

    </MonitorSet>

  • This looks perfect, I am going to try and tailor it for memory and disk, if there are any issues, I will post them here. Thanks @ispire! :)