Is it possible to create an Alert in the VSA if a process is utilizing too much RAM or CPU cycles? How would one go about creating that?
It is possible, we have this set up in our system.
Monitor -> Edit -> Monitor Sets -> New Monitor Set
Step 1: Set name and Description, click Save.
Step 2: Under Counter Thresholds, set the following:
Counter: % Processor Time (for CPU) or Working Set (for Memory) - There are other memory types you can probably use but I prefer Working Set
Instance: Your application should probably be listed, as this list seems populated from programs on the agents. Proprietary software our company uses (and you won't ever find off the shelf) was already listed here.
Set a Counter Name and click next.
Step 3 is your collection threshold, this is used for reporting purposes, and it can free up bandwidth as the agent will only upload data over/under the threshold to the server. If you want it to collect everything, set the threshold to say, "Over 0" which any counter over 0 will get reported. That can get intensive depending on the number of agents and the number of counters.
Step 4: this is your actual alarm. For % CPU, I set up a counter if an application uses more than 20% CPU for more than 3 minutes (my processes are extremely efficient so high CPU usage is a sign of a problem). So your Alarm Operator is Over, Alarm Threshold is 0, Duration is 3 minutes, Ignore time is 1 hour.
Step 5: Warnings are only used for dashboards/summaries I believe, they don't actually generate e-mails. So I set this to something but it's not really needed.
Step 6: Trending is for linear trends to help predict recurring issues. I've never played with this, everything is no.
Remember then to apply the Monitor Set you just created under Agent Monitoring -> Assign Monitoring or under Policy Management.
In my case, I applied these via policy by creating a view that looked for servers that had the application I wanted to monitor on them (in Views -> Edit go to Applications, check Contains and type in the name of the process, in my case I added a wildcard for say Skype* instead of Skype.exe). Then I applied the monitor I just created using the view for servers who had that application. This worked out really well for a product line of ours where some customers might have say, 3 monitored applications, but other customers might have 5, and I didn't want monitors looking for apps that didn't exist on those agents.
Hope this helps.
JordanD , I learn new things every day! This is great, thanks for sharing!
What if it is a service that is taking X amount of memory? I see the service listed when I go to services check, but that looks like it restarts the service etc. not just alert and when I go to counter thresholds; it doesn't show up in that list of objects.
Hi atupeck, I believe for services there's an option to select services instead of processes when designating the "Object" to be monitored in step 2.
Thank you for sharing and contributing to the community JordanD