Related to my previous post about monitoring Edge Gateways my customer asked me if he could leverage vCenter Server alarms as they are integrated with their monitoring and alerting infrastructure.
So basically is there a way to create vCenter alarm via scripted action (for example with PowerCLI)?
The answer is yes and it is not that difficult. There are two types of vCenter alarms: based on condition/state or an event. And it is possible to create custom user event via Loguserevent method of entity manager via vSphere API.
This is example of PowerCLI code the creates user event “Edge Gateway event” at the root datacenter folder.
$DCFolderEntity = Get-Folder -Name datacenters $eventMgr = Get-View EventManager $eventMgr.LogUserEvent($entity.ExtensionData.MoRef,"Edge Gateway event")
Now it is easy to create custom alarm based on the user logged event. Create the alarm at the vCenter Server root level, as alarm type pick monitor vCenter Server and as triggers manually enter (type):