Disclaimer: This is not officially supported by VMware, please use at your own risk.
Recently I faced the challenge with a script running on a VCSA which executes some checks and in case something gets detected it has to trigger a vCenter alarm.
My solution is to log a user event which will be captured by an vCenter alert definition.
1. vCenter alert definition
as trigger manually enter (type): vim.event.GeneralUserEvent
2. The script which will log the user event
#!/usr/bin/python #!/usr/bin/python import sys sys.path.insert(0, '/usr/lib/vmware/site-packages/') from pyVim.connect import SmartConnect from pyVmomi import vim import ssl import atexit username = 'firstname.lastname@example.org' password = 'VMware1!' v = sys.version_info try: if sys.version_info <7 or v.minor < 7: si = SmartConnect(host="localhost", user=username, pwd=password) content = si.RetrieveContent() ds = content.rootFolder log = si.content.eventManager.LogUserEvent(entity=ds, msg="Postgres Corruption detected") else: s = ssl.SSLContext(ssl.PROTOCOL_TLS) s.verify_mode = ssl.CERT_NONE si = SmartConnect(host="localhost", user=username, pwd=password, sslContext=s) content = si.RetrieveContent() ds = content.rootFolder log = si.content.eventManager.LogUserEvent(entity=ds, msg="Postgres Corruption detected") except: print("Unexpected error:", sys.exc_info())
The resulting alert can be catched by vROPs and trigger further events/ tickets.…
I would like to receive push messages for triggered alerts from my vCenter. There is the possibility to execute a command when a alert has been triggered so I decided to write a script which will use Prowl to send push notification to my mobile apple device. I used Prowl already for other devices like my Homematic home automation system. It’s easy to use with an simple curl command. You can find a lot of good examples available by using Google.
Sources and Services:
You have to create an account on www.prowlapp.com and generate a new API key. The new API key has to be added to script (replace PLACE_YOUR_API_KEY_HERE with your API key).
This script is really basic and is only a proof of concept. I will extend and improve it over time.
root@vcenter [ ~ ]# mkdir bin root@vcenter [ ~ ]#…