pyvmomi-community-samples icon indicating copy to clipboard operation
pyvmomi-community-samples copied to clipboard

[Question]:Not able to fetch vcenter events of type "error" for VC 5.5 version

Open charlesanupam opened this issue 10 years ago • 2 comments

Hi All,

I am trying to fetch events and not able to fetch events of type "error" but could able to fetch for "info" and "warning". So i am not sure where i am doing mistake. BUT I am able to fetch "error" events for VC 5.1 version and when i am trying the same code for VC 5.5 version no results are coming. Please help and let me know if i am missing anything. And also how to fetch events at VC level, datacenter level and cluster level. Below code is for fetching events at VC level, but i want to fetch events at datacenter and cluster level also.

Thanks and appreciate your help.

Below is PYTHON code i am using to do this.

import atexit from pyVim import connect from pyVmomi import vmodl, vim from datetime import datetime

def main():

try:
    si = connect.SmartConnect(host="10.108.190.9",user="Administrator",pwd="Fabxsve01",port=443)



    atexit.register(connect.Disconnect, si)
    em = si.content.eventManager
    efspec = vim.event.EventFilterSpec()

    efspec.category = ["error"]

    efespec = vim.event.EventFilterSpec.ByEntity()
    efespec.entity = si.content.rootFolder
    efespec.recursion = vim.event.EventFilterSpec.RecursionOption.all
    efspec.entity = efespec

    eftspec = vim.event.EventFilterSpec.ByTime()
    eftspec.beginTime = datetime(2014, 10, 20)
    eftspec.endTime = datetime(2014, 10, 29)
    efspec.time = eftspec

    ehc = em.CreateCollectorForEvents(efspec)
    ehc.SetCollectorPageSize(1000)
    events = ehc.latestPage
    total = len(events)

    while(len(events) > 0):
        print total
        for i, e in enumerate(events):
            print "%d -> %s::%s" % (i, e.createdTime, e.fullFormattedMessage)
            print e
        ehc.ResetCollector()
        events = ehc.ReadPreviousEvents(1000)
        total += len(events)
        if total > 1000:
            break




except vmodl.MethodFault as error:
    print "Caught vmodl fault : " + error.msg
    return -1

return 0

if name == "main": main()

charlesanupam avatar Oct 29 '14 06:10 charlesanupam