Package Products :: Package ZenEvents :: Module EventManagerBase :: Class EventManagerBase |
[hide private]
[frames] | no frames]

# Class EventManagerBase

source code

                                                            object --+
                                                                     |
                                    ZenModel.ZenModelBase.ZenModelBase --+
                                                                         |
                                   ExtensionClass.Base --+               |
                                                         |               |
                             OFS.CopySupport.CopyContainer --+           |
                                                             |           |
                  ZenRelations.RelCopySupport.RelCopyContainer --+       |
                                                                 |       |
                                   ExtensionClass.Base --+       |       |
                                                         |       |       |
                             OFS.CopySupport.CopyContainer --+   |       |
                                                             |   |       |
                                   ExtensionClass.Base --+   |   |       |
                                                         |   |   |       |
                                 App.Management.Navigation --+   |       |
                                                             |   |       |
                                   ExtensionClass.Base --+   |   |       |
                                                         |   |   |       |
                                       App.Management.Tabs --+   |       |
                                                             |   |       |
                                      Acquisition.Implicit --+   |       |
                                                             |   |       |
                                    Persistence.Persistent --+   |       |
                                                             |   |       |
                               ExtensionClass.Base --+       |   |       |
                                                     |       |   |       |
                webdav.EtagSupport.EtagSupport --+   |       |   |       |
                                                 |   |       |   |       |
                      webdav.Lockable.LockableItem --+       |   |       |
                                                     |       |   |       |
                              webdav.Resource.Resource --+   |   |       |
                                                         |   |   |       |
                              webdav.Collection.Collection --+   |       |
                                                             |   |       |
                               OFS.Traversable.Traversable --+   |       |
                                                             |   |       |
                               OFS.ObjectManager.ObjectManager --+       |
                                                                 |       |
                                   ExtensionClass.Base --+       |       |
                                                         |       |       |
                               ExtensionClass.Base --+   |       |       |
                                                     |   |       |       |
                            OFS.CopySupport.CopySource --+       |       |
                                                         |       |       |
                               ExtensionClass.Base --+   |       |       |
                                                     |   |       |       |
                                   App.Management.Tabs --+       |       |
                                                         |       |       |
                           OFS.Traversable.Traversable --+       |       |
                                                         |       |       |
                               ExtensionClass.Base --+   |       |       |
                                                     |   |       |       |
                             AccessControl.Owned.Owned --+       |       |
                                                         |       |       |
                                  ZenRelations.ZItem.ZItem --+   |       |
                                                             |   |       |
                                      Acquisition.Implicit --+   |       |
                                                             |   |       |
                                   ExtensionClass.Base --+   |   |       |
                                                         |   |   |       |
           AccessControl.PermissionMapping.RoleManager --+   |   |       |
                                                         |   |   |       |
                            AccessControl.Role.RoleManager --+   |       |
                                                             |   |       |
      ZenRelations.PrimaryPathObjectManager.PrimaryPathManager --+       |
                                                                 |       |
                                       ExtensionClass.Base --+   |       |
                                                             |   |       |
                                          App.Undo.UndoSupport --+       |
                                                                 |       |
    ZenRelations.PrimaryPathObjectManager.PrimaryPathObjectManager --+   |
                                                                     |   |
                                                        object --+   |   |
                                                                 |   |   |
                                       ExtensionClass.Base --+   |   |   |
                                                             |   |   |   |
                                     OFS.ZDOM.Node --+       |   |   |   |
                                                     |       |   |   |   |
                                      OFS.ZDOM.Element --+   |   |   |   |
                                                         |   |   |   |   |
                            OFS.ZDOM.ElementWithAttributes --+   |   |   |
                                                             |   |   |   |
                           OFS.PropertyManager.PropertyManager --+   |   |
                                                                 |   |   |
                ZenRelations.ZenPropertyManager.ZenPropertyManager --+   |
                                                                     |   |
                  ZenRelations.RelationshipManager.RelationshipManager --+
                                                                         |
                                               ExtensionClass.Base --+   |
                                                                     |   |
                                                OFS.History.Historical --+
                                                                         |
                                                            object --+   |
                                                                     |   |
                                          ZenModel.ZenPacker.ZenPacker --+
                                                                         |
                                            ZenModel.ZenModelRM.ZenModelRM --+
                                                                             |
                                                    Globals.Persistent --+   |
                                                                         |   |
                                          ZenUtils.ObjectCache.ObjectCache --+
                                                                             |
                                                                object --+   |
                                                                         |   |
                                                 DbAccessBase.DbAccessBase --+
                                                                             |
                                                                            EventManagerBase

Known Subclasses:
  - MySqlEventManager.MySqlEventManager

Data connector to backend of the event management system.

Instance Methods | [hide private]
__init__(self, id, title='', hostname='localhost', username='root', password='', database='events', port=3306, defaultWhere='', defaultOrderby='', defaultResultFields=[]) Sets up event database access and initializes the cache. | source code
tuple |
getEventResultFields(self, context) A wrapper for lookupManagedEntityResultFields accepting an object with an `event_key` attribute. | source code
list |
getEventListME(self, me, **kwargs) Queries the database for events on a managed entity. | source code
filteredWhere(self, where, filters, values) Create SQL representing conditions that match passed filters and append it to a given where clause. | source code
_filterCatalogResultsForIds(self, catalog, querySet) Used by both the id matching sub queries this gets brain results and returns a list of ids | source code
_getComponentIdsMatching(self, searchTerm) This returns a list of component ids where the titleOrId matches the searchTerm | source code
_getDeviceIdsMatching(self, searchTerm, globSearch=True) This returns a list of device ids where the titleOrId matches the searchTerm | source code
list |
getEventBatchME(self, me, selectstatus=None, resultFields=[], where="", orderby="", severity=None, state=2, startdate=None, enddate=None, offset=0, rows=0, getTotalCount=False, filter="", goodevids=[], badevids=[], **kwargs) Returns a batch of events based on criteria from checked rows on the event console. | source code
set |
getEventIds(self, me, selectstatus=None, orderby="", filters=None, evids=[], excludeIds=[], asof=None) Returns a batch of events based on criteria from checked rows on the event console. | source code
restrictedUserFilter(self, where) This is a hook do not delete me! | source code
list |
getEventList(self, resultFields=None, where="", orderby="", severity=None, state=2, startdate=None, enddate=None, offset=0, rows=0, getTotalCount=False, filter="", filters=None, parameterizedWhere=None, **kwargs) Fetch a list of events from the database matching certain criteria. | source code
list |
getEventSummaryME(self, me, severity=1, state=1, prodState=None) Return the CSS class, number of acknowledged events, and number of unacknowledged events, per severity, for a `ManagedEntity`. | source code
list |
getEventSummary(self, where="", severity=1, state=1, prodState=None) Return a list of tuples with number of events and the color of the severity that the number represents. | source code
getEventDetailFromStatusOrHistory(self, evid=None, dedupid=None, better=False) | source code
EventDetail object |
getEventDetail(self, evid=None, dedupid=None, better=False) Return an EventDetail object for a particular event. | source code
getStatusME(self, me, statusclass=None, **kwargs) | source code
getGenericStatus(self, me) Return status based on a where clause defined for the me event_type. | source code
getOrganizerStatus(self, org, statusclass=None, severity=None, state=0, where="") see IEventStatus | source code
getOrganizerStatusIssues(self, event_key, severity=4, state=0, where="", limit=0) Return list of tuples (org, count) for all organizers with events. | source code
getDevicePingIssues(self, state=2, limit=0) Return devices with ping problems. | source code
getDeviceStatusIssues(self, severity=4, state=1, limit=0) Return only status issues. | source code
getDeviceIssues(self, severity=1, state=0, where="", mincount=0, limit=0) Return list of tuples (device, count, total) of events for all devices with events. | source code
getDeviceStatus(self, device, statclass=None, countField=None, severity=3, state=None, where="") see IEventStatus | source code
defaultAvailabilityStart(self) | source code
defaultAvailabilityEnd(self) | source code
getAvailability(self, state, **kw) | source code
getHeartbeat(self, failures=True, simple=False, limit=0, db=None) Return all heartbeat issues list of tuples (device, component, secs) | source code
getHeartbeatObjects(self, failures=True, simple=False, limit=0, db=None) | source code
getAllComponentStatus(self, statclass, countField=None, severity=3, state=1, where="") Fetch the counts on all components matching statClass | source code
getMaxSeverity(self, me) Returns the severity of the most severe event. | source code
getComponentStatus(self, device, component, statclass=None, countField=None, severity=3, state=1, where="") see IEventStatus | source code
getBatchComponentInfo(self, components) Given a list of dicts with keys 'device', 'component', make a query to get an overall severity and device status for the group. | source code
getEventOwnerListME(self, me, severity=0, state=1) Return list of event owners based on passed in managed entity. | source code
getEventOwnerList(self, where="", severity=0, state=1) Return a list of userids that correspond to the events in where. | source code
string |
lookupManagedEntityWhere(self, me) Lookup and build where clause for managed entity. | source code
object |
lookupManagedEntityField(self, event_key) Lookup database field for managed entity default using event_key. | source code
lookupManagedEntityResultFields(self, event_key) Gets the column names that should be requested in an event query for this entity type. | source code
_wand(self, where, fmt, field, value) | source code
_setupDateRange(self, startdate=None, enddate=None) Make a start and end date range that is at least one day long. | source code
_scrubOrderby(self, orderby) validates the syntax and columns for an orderby used on the status and history tables. | source code
getAvgFieldLength(self, fieldname) | source code
sendEvents(self, events) Send a group of events to the backend. | source code
sendEvent(self, event) Send an event to the backend. | source code
convert(self, field, value) Perform convertion of value coming from database value if nessesary. | source code
getFieldList(self) Return a list of all fields in the status table of the backend. | source code
getEventStates(self) Return a list of possible event states. | source code
getEventActions(self) Return a list of possible event actions. | source code
getSeverities(self) Return a list of tuples of severities [('Warning', 3), ...] | source code
getSeverityString(self, severity) Return a string representation of the severity. | source code
getPriorities(self) Return a list of tuples of priorities [('Warning', 3), ...] | source code
getPriorityString(self, priority) Return the priority name | source code
convertEventField(self, field, value, default="") Convert numeric values commonly found in events to their textual representation. | source code
getStatusCssClass(self, status) | source code
getStatusImgSrc(self, status) Return the img source for a status number | source code
getEventCssClass(self, severity, acked=False) return the css class name to be used for this event. | source code
isDate(self, colName) Check to see if a column is of type date. | source code
dateString(self, value) Convert a date from database format to string. | source code
dateDB(self, value) Convert a date to its database format. | source code
escape(self, value) Prepare string values for db by escaping special characters. | source code
loadSchema(self) Load schema from database. | source code
eventControls(self) Are there event controls on this event list. | source code
updateEvents(self, stmt, whereClause, reason, table="status", toLog=True) | source code
manage_addEvent(self, REQUEST=None) Create an event from user supplied data | source code
deleteEvents(self, whereClause, reason) | source code
manage_deleteEvents(self, evids=(), REQUEST=None) Delete the given event ids | source code
undeleteEvents(self, whereClause, reason) | source code
manage_undeleteEvents(self, evids=(), REQUEST=None) Move the given event ids into status and delete from history | source code
manage_deleteAllEvents(self, devname, REQUEST=None) Delete the events for a given Device (used for deleting the device | source code
manage_deleteHistoricalEvents(self, devname=None, agedDays=None, REQUEST=None) Delete historical events. | source code
manage_deleteHeartbeat(self, devname, REQUEST=None) | source code
manage_ackEvents(self, evids=(), REQUEST=None) Ack the given event ids | source code
manage_unackEvents(self, evids=(), REQUEST=None) Unacknowledge the given event ids | source code
manage_setEventStates(self, eventState=None, evids=(), userid="", REQUEST=None) | source code
manage_createEventMap(self, eventClass=None, evids=(), REQUEST=None) Create an event map from an event or list of events. | source code
manage_refreshConversions(self, REQUEST=None) get the conversion information from the database server | source code
manage_editCache(self, timeout=5, clearthresh=20, REQUEST=None) Reset cache values | source code
manage_clearCache(self, REQUEST=None) Reset cache values | source code
manage_editEventManager(self, REQUEST=None) Call zmanage_editProperties then take care of saving a few values to ZenEventHistory | source code
manage_clearHeartbeats(self, REQUEST=None) truncate heartbeat table | source code
zmanage_editProperties(self, REQUEST=None) Need to handle editing of history event fields differently | source code
manage_addLogMessage(self, evid=None, message='', REQUEST=None) Add a log message to an event | source code
manage_addCommand(self, id, REQUEST=None) Add a new EventCommand | source code
manage_deleteCommands(self, ids=[], REQUEST=None) Delete an EventCommand | source code
installIntoPortal(self) Install skins into portal. | source code
Inherited from `ZenModel.ZenModelRM.ZenModelRM`: `changePythonClass`, `creator`, `editableDeviceList`, `findChild`, `getCreatedTimeString`, `getDmdKey`, `getModificationTimeString`, `getSubObjects`, `getTreeItems`, `getZenRootNode`, `index_object`, `primarySortKey`, `reindex_all`, `rename`, `setTitle`, `unindex_object`, `viewName`, `zmanage_addProperty`, `zmanage_delObjects`, `zmanage_delProperties`, `zmanage_exportObject`, `zmanage_importObject`, `zmanage_importObjects` Inherited from `ZenModel.ZenModelBase.ZenModelBase`: `__call__`, `__hash__`, `all_meta_types`, `aqBaseHasAttr`, `breadCrumbs`, `callZenScreen`, `checkRemotePerm`, `checkValidId`, `createHierarchyObj`, `custPropertyIds`, `custPropertyMap`, `getBreadCrumbName`, `getBreadCrumbUrlPath`, `getDmd`, `getDmdObj`, `getDmdRoot`, `getHierarchyObj`, `getIconPath`, `getIdLink`, `getNowString`, `getObjByPath`, `getPrimaryDmdId`, `getUnusedId`, `getZopeObj`, `helpLink`, `isLocalName`, `manage_deleteObjects`, `prepId`, `saveCustProperties`, `todayDate`, `upToOrganizerBreadCrumbs`, `urlLink`, `view`, `visibleCustPropertyMap`, `yesterdayDate`, `zenScreenUrl`, `zenpathjoin`, `zenpathsplit`, `zentinelTabs` Inherited from `ZenModel.ZenModelBase.ZenModelBase` (private): `_selectedTabName` Inherited from `ZenRelations.RelationshipManager.RelationshipManager`: `addRelation`, `buildRelations`, `cb_isMoveable`, `checkRelations`, `exportXml`, `exportXmlProperties`, `exportXmlRelationships`, `getRelationshipManagerId`, `getRelationshipNames`, `getRelationships`, `manage_addRelation`, `manage_removeRelation`, `manage_workspace`, `moveMeBetweenRels`, `moveObject`, `removeRelation` Inherited from `ZenRelations.RelationshipManager.RelationshipManager` (private): `_getCopy`, `_notifyOfCopyTo`, `_setObject` Inherited from `ZenRelations.PrimaryPathObjectManager.PrimaryPathObjectManager` (private): `_delObject` Inherited from `ZenRelations.RelCopySupport.RelCopyContainer`: `manage_linkObjects`, `manage_unlinkObjects` Inherited from `ZenRelations.RelCopySupport.RelCopyContainer` (private): `_checkId`, `_getRelName`, `_getSourceObjects`, `_verifyObjectLink`, `_verifyObjectPaste` Inherited from `OFS.ObjectManager.ObjectManager`: `__class_init__`, `__contains__`, `__delitem__`, `__getitem__`, `__iter__`, `__len__`, `__nonzero__`, `__setitem__`, `filtered_meta_types`, `get`, `getSiteManager`, `hasObject`, `items`, `keys`, `list_imports`, `manage_FTPlist`, `manage_FTPstat`, `manage_afterAdd`, `manage_afterClone`, `manage_beforeDelete`, `manage_delObjects`, `manage_exportObject`, `manage_hasId`, `manage_importObject`, `objectIds`, `objectIds_d`, `objectItems`, `objectItems_d`, `objectMap`, `objectMap_d`, `objectValues`, `objectValues_d`, `setSiteManager`, `superValues`, `tpValues`, `values` Inherited from `OFS.ObjectManager.ObjectManager` (private): `_delOb`, `_getImportPaths`, `_getOb`, `_importObjectFromFile`, `_setOb`, `_subobject_permissions` Inherited from `OFS.CopySupport.CopyContainer`: `cb_dataItems`, `cb_dataValid`, `manage_CopyContainerAllItems`, `manage_CopyContainerFirstItem`, `manage_clone`, `manage_copyObjects`, `manage_cutObjects`, `manage_pasteObjects`, `manage_renameObject`, `manage_renameObjects`, `validClipData` Inherited from `OFS.CopySupport.CopyContainer` (private): `_get_id` Inherited from `App.Management.Navigation`: `manage_zmi_logout` Inherited from `ZenRelations.PrimaryPathObjectManager.PrimaryPathManager`: `getPrimaryId`, `getPrimaryParent`, `getPrimaryPath`, `getPrimaryUrlPath`, `primaryAq` Inherited from `ZenRelations.ZItem.ZItem`: `__repr__`, `getId`, `manage_editedDialog`, `this`, `titleOrId`, `title_and_id`, `title_or_id`, `tpURL` Inherited from `OFS.CopySupport.CopySource`: `cb_isCopyable`, `cb_userHasCopyOrMovePermission` Inherited from `OFS.CopySupport.CopySource` (private): `_canCopy`, `_postCopy`, `_setId` Inherited from `App.Management.Tabs`: `filtered_manage_options`, `tabs_path_default`, `tabs_path_info` Inherited from `webdav.Collection.Collection`: `DELETE`, `HEAD`, `PUT`, `dav__init`, `listDAVObjects` Inherited from `webdav.Resource.Resource`: `COPY`, `LOCK`, `MKCOL`, `MOVE`, `OPTIONS`, `PROPFIND`, `PROPPATCH`, `TRACE`, `UNLOCK`, `dav__simpleifhandler`, `dav__validate`, `manage_DAVget` Inherited from `webdav.Lockable.LockableItem`: `wl_clearLocks`, `wl_delLock`, `wl_getLock`, `wl_hasLock`, `wl_isLocked`, `wl_lockItems`, `wl_lockTokens`, `wl_lockValues`, `wl_lockmapping`, `wl_setLock` Inherited from `webdav.EtagSupport.EtagSupport`: `http__etag`, `http__parseMatchList`, `http__processMatchHeaders`, `http__refreshEtag` Inherited from `OFS.Traversable.Traversable`: `absolute_url`, `absolute_url_path`, `getPhysicalPath`, `restrictedTraverse`, `unrestrictedTraverse`, `virtual_url_path` Inherited from `AccessControl.Owned.Owned`: `changeOwnership`, `getOwner`, `getOwnerTuple`, `getWrappedOwner`, `manage_changeOwnershipType`, `manage_fixupOwnershipAfterAdd`, `manage_takeOwnership`, `owner_info`, `userCanTakeOwnership` Inherited from `AccessControl.Owned.Owned` (private): `_deleteOwnershipAfterAdd` Inherited from `AccessControl.Role.RoleManager`: `ac_inherited_permissions`, `access_debug_info`, `acquiredRolesAreUsedBy`, `get_local_roles`, `get_local_roles_for_userid`, `get_valid_userids`, `has_local_roles`, `manage_access`, `manage_acquiredPermissions`, `manage_addLocalRoles`, `manage_changePermissions`, `manage_defined_roles`, `manage_delLocalRoles`, `manage_editRoles`, `manage_getUserRolesAndPermissions`, `manage_permission`, `manage_role`, `manage_setLocalRoles`, `permission_settings`, `permissionsOfRole`, `possible_permissions`, `rolesOfPermission`, `userdefined_roles`, `users_with_local_role`, `validRoles`, `valid_roles`, `validate_roles` Inherited from `AccessControl.Role.RoleManager` (private): `_addRole`, `_delRoles`, `_has_user_defined_role`, `_setRoles` Inherited from `AccessControl.PermissionMapping.RoleManager`: `manage_getPermissionMapping`, `manage_setPermissionMapping` Inherited from `AccessControl.PermissionMapping.RoleManager` (private): `_isBeingUsedAsAMethod` Inherited from `App.Undo.UndoSupport`: `get_request_var_or_attr`, `manage_undo_transactions`, `undoable_transactions` Inherited from `ZenRelations.ZenPropertyManager.ZenPropertyManager`: `deleteZenProperty`, `getOverriddenObjects`, `getProperty`, `getPropertyType`, `getZ`, `hasProperty`, `isLocal`, `manage_editProperties`, `saveZenProperties`, `setZenProperty`, `zenPropIsPassword`, `zenPropertyIds`, `zenPropertyItems`, `zenPropertyMap`, `zenPropertyOptions`, `zenPropertyPath`, `zenPropertyString` Inherited from `ZenRelations.ZenPropertyManager.ZenPropertyManager` (private): `_findParentWithProperty`, `_setPropValue`, `_setProperty`, `_updateProperty` Inherited from `OFS.History.Historical`: `manage_afterHistoryCopy`, `manage_beforeHistoryCopy`, `manage_change_history`, `manage_historicalComparison`, `manage_historyCompare`, `manage_historyCopy` Inherited from `ZenModel.ZenPacker.ZenPacker`: `addToZenPack`, `eligiblePacks`, `findObject` Inherited from `ZenUtils.ObjectCache.ObjectCache`: `addToCache`, `checkCache`, `cleanCache`, `clearCache`, `getCache`, `getCacheClearthresh`, `getCacheTimeout`, `initCache` Inherited from `DbAccessBase.DbAccessBase`: `cleanstring`, `close`, `connect` Inherited from `OFS.PropertyManager.PropertyManager`: `manage_addProperty`, `manage_changeProperties`, `manage_changePropertyTypes`, `manage_delProperties`, `propdict`, `propertyDescription`, `propertyIds`, `propertyItems`, `propertyLabel`, `propertyMap`, `propertyValues`, `valid_property_id` Inherited from `OFS.PropertyManager.PropertyManager` (private): `_delPropValue`, `_delProperty`, `_propertyMap`, `_wrapperCheck` Inherited from `OFS.ZDOM.ElementWithAttributes`: `getAttribute`, `getAttributeNode`, `getAttributes` Inherited from `OFS.ZDOM.Element`: `getChildNodes`, `getElementsByTagName`, `getFirstChild`, `getLastChild`, `getNextSibling`, `getNodeName`, `getNodeType`, `getParentNode`, `getPreviousSibling`, `getTagName` Inherited from `OFS.ZDOM.Node`: `getNodeValue`, `getOwnerDocument`, `hasChildNodes`

Class Methods | [hide private]
Inherited from `ZenRelations.RelationshipManager.RelationshipManager`: `lookupSchema`

Class Variables | [hide private]
| eventStateConversions = `'New', 0, ('Acknowledged', 1), ('Suppr`...``
| eventActions = `'status', 'history', 'drop'`
| severityConversions = `'Critical', 5, ('Error', 4), ('Warning',`...``
| severities = `dict([(b, a) for a, b in severityConversions])`
| priorityConversions = `'None',-1, ('Emergency', 0), ('Alert', 1`...``
| priorities = `dict([(b, a) for a, b in priorityConversions])`
| statusTable = `"status"`
| detailTable = `"detail"`
| logTable = `"log"`
| lastTimeField = `"lastTime"`
| firstTimeField = `"firstTime"`
| deviceField = `"device"`
| componentField = `"component"`
| eventClassField = `"eventClass"`
| severityField = `"severity"`
| stateField = `"eventState"`
| countField = `"count"`
| prodStateField = `"prodState"`
| DeviceGroupField = `"DeviceGroups"`
| SystemField = `"Systems"`
| DeviceWhere = `"\"device = '%s'\" % me.getDmdKey()"`
| DeviceResultFields = `"eventState", "severity", "component", "e`...``
| ComponentWhere = `"\"(device = '%s' and component = '%s')\"" " `...``
| ComponentResultFields = `"eventState", "severity", "eventClass"`...``
| IpAddressWhere = `"\"ipAddress='%s'\" % (me.getId())"`
| EventClassWhere = `"\"eventClass like '%s%%'\" % me.getDmdKey()"`
| EventClassInstWhere = `"""\"eventClass = '%s' and eventClassKey`...``
| DeviceClassWhere = `"\"(DeviceClass = '%s' or DeviceClass like `...``
| LocationWhere = `"\"Location like '%s%%'\" % me.getDmdKey()"`
| SystemWhere = `"\"Systems like '%%|%s%%'\" % me.getDmdKey()"`
| DeviceGroupWhere = `"\"DeviceGroups like '%%|%s%%'\" % me.getDm`...``
| defaultResultFields = `"eventState", "severity", "device", "com`...``
| defaultFields = `'eventState', 'severity', 'evid'`
| defaultEventId = `'device', 'component', 'eventClass', 'eventKe`...``
| requiredEventFields = `'device', 'summary', 'severity'`
| refreshConversionsForm = `DTMLFile('dtml/refreshNcoProduct', gl`...``
| defaultAvailabilityDays = `7`
| defaultPriority = `3`
| eventAgingHours = `4`
| eventAgingSeverity = `4`
| historyMaxAgeDays = `0`
| _properties = `{'id': 'backend', 'type': 'string', 'mode': 'r',`...``
| _relations = `"commands", ToManyCont(ToOne, "Products.ZenEvents`...``
| factory_type_information = `{'immediate_view': 'editEventManage`...``
| security = `ClassSecurityInfo()`
Inherited from `ZenModel.ZenModelRM.ZenModelRM`: `default_catalog`, `isInTree`, `meta_type` Inherited from `ZenModel.ZenModelBase.ZenModelBase`: `index_html`, `sub_meta_types` Inherited from `ZenModel.ZenModelBase.ZenModelBase` (private): `_zendoc` Inherited from `ZenRelations.RelationshipManager.RelationshipManager`: `manage_main`, `manage_options` Inherited from `ZenRelations.RelationshipManager.RelationshipManager` (private): `_operation` Inherited from `OFS.ObjectManager.ObjectManager`: `has_order_support`, `isAnObjectManager`, `isPrincipiaFolderish`, `manage_addProduct`, `manage_importExportForm`, `manage_index_main`, `meta_types` Inherited from `OFS.ObjectManager.ObjectManager` (private): `_components`, `_objects` Inherited from `OFS.CopySupport.CopyContainer`: `manage_renameForm` Inherited from `App.Management.Navigation`: `manage`, `manage_copyright`, `manage_form_title`, `manage_menu`, `manage_page_footer`, `manage_page_header`, `manage_top_frame`, `manage_zmi_prefs`, `zope_quick_start` Inherited from `ZenRelations.ZItem.ZItem`: `REQUEST`, `__allow_access_to_unprotected_subobjects__`, `__name__`, `__propsets__`, `getId__roles__`, `icon`, `id`, `isTopLevelPrincipiaApplicationObject`, `title` Inherited from `ZenRelations.ZItem.ZItem` (private): `_manage_editedDialog` Inherited from `App.Management.Tabs`: `manage_tabs`, `manage_workspace__roles__` Inherited from `webdav.Collection.Collection`: `__dav_collection__` Inherited from `webdav.Resource.Resource`: `__dav_resource__`, `__http_methods__` Inherited from `OFS.Traversable.Traversable`: `getPhysicalRoot` Inherited from `AccessControl.Owned.Owned`: `manage_owner` Inherited from `AccessControl.Role.RoleManager`: `__ac_local_roles__`, `__ac_roles__`, `aclAChecked`, `aclEChecked`, `aclPChecked`, `manage_acquiredForm`, `manage_editLocalRoles`, `manage_listLocalRoles`, `manage_permissionForm`, `manage_reportUserPermissions`, `manage_roleForm`, `permissionMappingPossibleValues`, `selectedRoles`, `smallRolesWidget` Inherited from `AccessControl.Role.RoleManager` (private): `_normal_manage_access` Inherited from `App.Undo.UndoSupport`: `manage_UndoForm` Inherited from `ZenRelations.ZenPropertyManager.ZenPropertyManager`: `__pychecker__`, `manage_propertiesForm` Inherited from `ZenRelations.ZenPropertyManager.ZenPropertyManager` (private): `_onlystars` Inherited from `OFS.History.Historical`: `HistoricalRevisions`, `manage_change_history_page` Inherited from `OFS.History.Historical` (private): `_manage_historyComparePage` Inherited from `ZenUtils.ObjectCache.ObjectCache`: `editCache` Inherited from `DbAccessBase.DbAccessBase` (private): `_v_cpool` Inherited from `OFS.PropertyManager.PropertyManager`: `manage_propertyTypeForm`, `propertysheets` Inherited from `OFS.PropertyManager.PropertyManager` (private): `_reserved_names`

Method Details | [hide private]

### __init__(self, id, title='', hostname='localhost', username='root', password='', database='events', port=3306, defaultWhere='', defaultOrderby='', defaultResultFields=[]) (Constructor) | source code
Sets up event database access and initializes the cache. Parameters: `id` (string) - A unique id `title` (string) - A title `hostname` (string) - The hostname of the events database server `username` (string) - The name of a user with permissions to access the events database `password` (string) - The password of the user `database` (string) - The name of the events database `port` (int) - The port on which the database server is listening `defaultWhere` (string) - The default where clause to use when building queries `defaultOrderby` (string) - The default order by clause to use when building queries `defaultResultFields` (list) - DEPRECATED. Currently unused. Overrides: ZenUtils.ObjectCache.ObjectCache.__init__

### getEventResultFields(self, context) | source code
A wrapper for lookupManagedEntityResultFields accepting an object with an `event_key` attribute.
    >>> class dummy(object):
    ...     event_key = 'Device'
    ...
    >>> d = dummy()
    >>> f = dmd.ZenEventManager.getEventResultFields(d)
    >>> f==dmd.ZenEventManager.DeviceResultFields
    True
    >>> d.event_key = 'Robot'
    >>> f = dmd.ZenEventManager.getEventResultFields(d)
    >>> f==dmd.ZenEventManager.defaultResultFields
    True
Parameters: `context` (ManagedEntity) - An object with an `event_key` attribute. Returns: tuple A sequence of strings representing columns in the database.

### getEventListME(self, me, **kwargs) | source code
Queries the database for events on a managed entity. Parameters: `me` (ManagedEntity) - The object for which to fetch events Returns: list ZEvent objects

### filteredWhere(self, where, filters, values) | source code
Create SQL representing conditions that match passed filters and append it to a given where clause. Expressions are built using various criteria, including the type of filter widget representing the column and factors specific to the column itself. All `textfield` columns except `count` will be matched as regular expressions. `count` may be passed as a comparison expression such as ">=2", "=8", "<10", etc., or an integer, in which case it will be evaluated as ">=n". `firstTime` and `lastTime` are turned into seconds since the epoch, then evaluated as '>=n' and '<=n', respectively. `multiselectmenu` columns (prodState, severity, eventState, priority) arrive as a list of values to match, and become 'and (field=v1 or field=v2...)' where field is the column and vn is the value. Parameters: `where` (str) - The where clause to which to append further conditions `filters` (dict or JSON str representing dict) - Values for which to create filters (e.g., {'device':'^loc.*$', 'severity':[4, 5]}) `values` (list) - Clause will be parameterized and the values list will be populated with the values for the query

### _filterCatalogResultsForIds(self, catalog, querySet) | source code
Used by both the id matching sub queries this gets brain results and returns a list of ids Parameters: `catalog` - catalog we are searching `querySet` - Advanced Query Search Terms

### _getComponentIdsMatching(self, searchTerm) | source code
This returns a list of component ids where the titleOrId matches the searchTerm Parameters: `searchTerm` - query for which we want to search for (can be regex)

### _getDeviceIdsMatching(self, searchTerm, globSearch=True) | source code
This returns a list of device ids where the titleOrId matches the searchTerm Parameters: `searchTerm` - query for which we want to search for (can be regex)

### getEventBatchME(self, me, selectstatus=None, resultFields=[], where="", orderby="", severity=None, state=2, startdate=None, enddate=None, offset=0, rows=0, getTotalCount=False, filter="", goodevids=[], badevids=[], **kwargs) | source code
Returns a batch of events based on criteria from checked rows on the event console. The event console can show thousands of events, and we want to support a "Select All" feature; enter this method. It builds a query based on the select status from the console ("All", "None", "Acknowledged", "Unacknowledged") and any checkboxes that have been modified manually. Parameters: `me` (ManagedEntity) - The managed entity for which to query events. `resultFields` (list) - The columns to return from the database. `where` (string) - The base where clause to modify. `orderby` (string) - The "ORDER BY" string governing sort order. `severity` (int) - The minimum severity for which to query. `state` (int) - The minimum state for which to query. `startdate` (string, DateTime) - The early date limit `enddate` (string, DateTime) - The late date limit `offset` (int) - The row at which to begin returning `rows` (int) - DEPRECATED The number of rows to return (ignored). `getTotalCount` (bool) - Whether or not to return a count of the total number of rows `filter` (string) - A glob by which to filter events `goodevids` (list) - Ids of events that specifically should be included `badevids` (list) - Ids of events that specifically should not be included Returns: list Ids of matching events To Do: Remove unused parameters from the method definition

### getEventIds(self, me, selectstatus=None, orderby="", filters=None, evids=[], excludeIds=[], asof=None) | source code
Returns a batch of events based on criteria from checked rows on the event console. The event console can show thousands of events, and we want to support a "Select All" feature; enter this method. It builds a query based on the select status from the console ("All", "New", "Acknowledged", "Suppressed") and any checkboxes that have been modified manually. Parameters: `me` (ManagedEntity) - The managed entity for which to query events. `orderby` (string) - The "ORDER BY" string governing sort order. `filters` (dict or JSON str representing dict) - Values for which to create filters (e.g., {'device':'^loc.*$', 'severity':[4, 5]}) `evids` (list) - Ids of events that specifically should be included `excludeIds` (list) - Ids of events that specifically should not be included Returns: set Ids of matching events

### getEventList(self, resultFields=None, where="", orderby="", severity=None, state=2, startdate=None, enddate=None, offset=0, rows=0, getTotalCount=False, filter="", filters=None, parameterizedWhere=None, **kwargs) | source code
Fetch a list of events from the database matching certain criteria. Parameters: `resultFields` (list) - The columns to return from the database. `where` (string) - The base where clause to modify. `orderby` (string) - The "ORDER BY" string governing sort order. `severity` (int) - The minimum severity for which to query. `state` (int) - The minimum state for which to query. `startdate` (string, DateTime) - The early date limit `enddate` (string, DateTime) - The late date limit `offset` (int) - The row at which to begin returning `rows` (int) - The number of rows to return. `getTotalCount` (bool) - Whether or not to return a count of the total number of rows `filter` (string) - A glob by which to filter events Returns: list Matching events as ZEvents. To Do: Remove unused parameters from the method definition

### getEventSummaryME(self, me, severity=1, state=1, prodState=None) | source code
Return the CSS class, number of acknowledged events, and number of unacknowledged events, per severity, for a `ManagedEntity`. Parameters: `me` (ManagedEntity) - The object of the inquiry. `severity` (int) - The minimum severity for which to retrieve events `state` (int) - The minimum state for which to retrieve events `prodState` (int) - The minimum production state for which to retrieve events Returns: list List of lists of the form [class, acked count, unacked count].

### getEventSummary(self, where="", severity=1, state=1, prodState=None) | source code
Return a list of tuples with number of events and the color of the severity that the number represents. This method should not be called directly, but overridden by subclasses. Parameters: `where` (string) - The base where clause to modify. `severity` (int) - The minimum severity for which to retrieve events `state` (int) - The minimum state for which to retrieve events `prodState` (int) - The minimum production state for which to retrieve events Returns: list List of lists of the form [class, acked count, unacked count].

### getEventDetail(self, evid=None, dedupid=None, better=False) | source code
Return an EventDetail object for a particular event. Parameters: `evid` (string) - Event ID `dedupid` (string) - string used to determine duplicates `better` (boolean) - provide even more detail than normal? Returns: EventDetail object fields from the event

### getGenericStatus(self, me) | source code
Return status based on a where clause defined for the me event_type. No fancy caching done this might be a little slow if there are a lot of events. Where clause is evaled

### getEventOwnerList(self, where="", severity=0, state=1) | source code
Return a list of userids that correspond to the events in where. select distinct ownerid from status where device="win2k.confmon.loc" and eventState > 2

### lookupManagedEntityWhere(self, me) | source code
Lookup and build where clause for managed entity. Parameters: `me` (object) - managed entity Returns: string where clause

### lookupManagedEntityField(self, event_key) | source code
Lookup database field for managed entity default using event_key. Parameters: `event_key` (string) - event Returns: object field for the managed entity

### lookupManagedEntityResultFields(self, event_key) | source code
Gets the column names that should be requested in an event query for this entity type. Returns a set of result fields predefined for this entity type. If none have been defined, returns the default result fields.
    >>> f = dmd.ZenEventManager.lookupManagedEntityResultFields('Device')
    >>> f==dmd.ZenEventManager.DeviceResultFields
    True
    >>> f = dmd.ZenEventManager.lookupManagedEntityResultFields('Robot')
    >>> f==dmd.ZenEventManager.defaultResultFields
    True
Parameters: `event_key` (string) - The event key of a managed entity. Returns: A tuple of strings representing columns in the database.

### _setupDateRange(self, startdate=None, enddate=None) | source code
Make a start and end date range that is at least one day long. returns a start and end date as a proper database element.

### _scrubOrderby(self, orderby) | source code
validates the syntax and columns for an orderby used on the status and history tables. Also removes adjacent sorts of the same columns as an optimization Returns: orderby by clause Raises: `exception` - if order by clause is invalid

### sendEvent(self, event) | source code
Send an event to the backend. Parameters: `event` (event object) - event To Do: implement

### escape(self, value) | source code
Prepare string values for db by escaping special characters. Parameters: `value` (string) - string To Do: implement

### loadSchema(self) | source code
Load schema from database. If field is a date set value to true.

### manage_deleteHistoricalEvents(self, devname=None, agedDays=None, REQUEST=None) | source code
Delete historical events. If devices is given then only delete events for that device. If agedDays is given then only delete events that are older than that many days. devname and agedDays are mutually exclusive. No real reason for this other than there is no current need to use both in same call and I don't want to test the combination. This is an option during device deletion. It is also used by zenactions to keep history table clean. NB: Device.deleteDevice() is not currently calling this when devices are deleted. See ticket #2996.

### zmanage_editProperties(self, REQUEST=None) | source code
Need to handle editing of history event fields differently Overrides: ZenModel.ZenModelBase.ZenModelBase.zmanage_editProperties

### manage_addCommand(self, id, REQUEST=None) | source code
Add a new EventCommand Parameters: `id` (string) - new command name `REQUEST` (Zope REQUEST object) - Zope REQUEST object

### manage_deleteCommands(self, ids=[], REQUEST=None) | source code
Delete an EventCommand Parameters: `ids` (list of strings) - commands to delete `REQUEST` (Zope REQUEST object) - Zope REQUEST object

Class Variable Details | [hide private]

  ### eventStateConversions Value:
      'New', 0, ('Acknowledged', 1), ('Suppressed', 2),

  ### severityConversions Value:
      'Critical', 5, ('Error', 4), ('Warning', 3), ('Info', 2), ('Debug', 1)
      , ('Clear', 0),

  ### priorityConversions Value:
      'None',-1, ('Emergency', 0), ('Alert', 1), ('Critical', 2), ('Error',
      3), ('Warning', 4), ('Notice', 6), ('Info', 8), ('Debug', 10),

  ### DeviceResultFields Value:
      "eventState", "severity", "component", "eventClass", "summary", "first
      Time", "lastTime", "count"

  ### ComponentWhere Value:
      "\"(device = '%s' and component = '%s')\"" " % (me.device().getDmdKey(
      ), me.name())"

  ### ComponentResultFields Value:
      "eventState", "severity", "eventClass", "summary", "firstTime", "lastT
      ime", "count"

  ### EventClassInstWhere Value:
      """\"eventClass = '%s' and eventClassKey = '%s'\" % (\
                                      me.getEventClass(), me.eventClassKey)"
      ""

  ### DeviceClassWhere Value:
      "\"(DeviceClass = '%s' or DeviceClass like '%s/%%') \" % \
                               ( me.getDmdKey(), me.getDmdKey() )"

  ### DeviceGroupWhere Value:
      "\"DeviceGroups like '%%|%s%%'\" % me.getDmdKey()"

  ### defaultResultFields Value:
      "eventState", "severity", "device", "component", "eventClass", "summar
      y", "firstTime", "lastTime", "count"

  ### defaultEventId Value:
      'device', 'component', 'eventClass', 'eventKey', 'severity'

  ### refreshConversionsForm Value:
      DTMLFile('dtml/refreshNcoProduct', globals())

  ### _properties Value:
      {'id': 'backend', 'type': 'string', 'mode': 'r',}, {'id': 'username',
      'type': 'string', 'mode': 'w'}, {'id': 'password', 'type': 'string', '
      mode': 'w'}, {'id': 'host', 'type': 'string', 'mode': 'w'}, {'id': 'da
      tabase', 'type': 'string', 'mode': 'w'}, {'id': 'port', 'type': 'int',
       'mode': 'w'}, {'id': 'defaultWhere', 'type': 'text', 'mode': 'w'}, {'
      id': 'defaultOrderby', 'type': 'text', 'mode': 'w'}, {'id': 'defaultRe
      sultFields', 'type': 'lines', 'mode': 'w'}, {'id': 'statusTable', 'typ
      e': 'string', 'mode': 'w'}, {'id': 'detailTable', 'type': 'string', 'm
      ...

  ### _relations Value:
      "commands", ToManyCont(ToOne, "Products.ZenEvents.EventCommand", "even
      tManager"),

  ### factory_type_information Value:
      {'immediate_view': 'editEventManager', 'actions':({'id': 'edit', 'name
      ': 'Edit', 'action': 'editEventManager', 'permissions':("Manage DMD",)
      }, {'id': 'edit', 'name': 'Fields', 'action': 'editEventManagerFields'
      , 'permissions':("Manage DMD",)}, {'id': 'history_edit', 'name': 'Hist
      ory Fields', 'action': 'editEventManagerHistoryFields', 'permissions':
      ("Manage DMD",)}, {'id': 'commands', 'name': 'Commands', 'action': 'li
      stEventCommands', 'permissions':("Manage DMD",)}, {'id': 'changes', 'n
      ame': 'Modifications', 'action': 'viewNewHistory', 'permissions':(ZEN_
      ...