This post is to help address a how-to question that came in through twitter.
Background
Essentially we have alarms in vCenter that are defined at every object level in the hierarchy, that is at the datacenter level , cluster level etc. By enabling or disabling a specific alarm, all of the child objects under the specific object will be effected with the change.
Given this behaviour, there is no direct method to maintain an “exclusion list” of objects that should *not* be affected by an alarm action.
This may be required if there are some exceptions wherein you need to filter out some VM’s from being monitored either due to them being less critical or due to a known condition.
How-To
In this walk through we shall disable the alarm at the root of the vCenter and then enable it back only on critical VM folder(excluding the VMs that do not need to monitored). In other words the objects outside of the folder will excluded from the alarm.
1- Login to vCenter from the vSphere Webclient and traverse to the vCenter object
2- Navigate to Monitor => Alarm Definitions and locate the specific alarm and disable it
3- Create a new folder -Ex: “crit-vm”
4-Leaving the VM’s t be excluded, the remaining VMs are multiselected and moved it to “crit-vm” folder
5-Enable the alarm back on the newly create ”crit-vm” folder
This will ensure that VM’s known for high memory usage or non critical VM’s that are designed/known to be affected due to resource constraints are not flagged with alarms unncessarily.
Comments/Feedback is welcome if there are easier alternatives or corrections..
cheers