- Zenoss 4.x
When writing event transforms or researching how events are mapped to certain event classes, it is often useful to have a complete list of the existing transforms and event class mappings, and the Resource Manager UI does not provide this information in a single place. The Python script included in this article shows the location and content of every transform and (non-empty) event class mapping in your Zenoss instance. Run the script from the command line of the Zenoss master as the zenoss user. It does not require invoking zendmd.
- Connect to the Zenoss master server as the zenoss user.
Note: when switching to the zenoss user using the su command, you must specify the “-” option in order to update your PATH to include the zenoss user's bin directory. For example: “su - zenoss”. Otherwise, the listEventClassKeys script (as installed below) might not be found without specifying its full path.
- Change to the zenoss user's home directory:
- Create the bin subdirectory to hold the script:
$ mkdir -p bin
- Change to the bin subdirectory:
$ cd bin
- Download the attached listTransforms script.
- Display the contents of the listTransforms file and verify that it matches the script listed below:
$ cat listTransforms
- Make the listTransforms file executable:
$ chmod +x listTransforms
- Run the script and pipe the output through a pager; less, for example:
$ listTransforms | less
Alternatively, you can redirect the output to a file; for example:
$ listTransforms > transforms
$ less transforms
#! /usr/bin/env python import Globals from Products.ZenUtils.ZenScriptBase import ZenScriptBase dmd = ZenScriptBase(connect=True).dmd for eventClass in sorted([dmd.Events] + dmd.Events.getSubOrganizers(), key=lambda c: c.getOrganizerName().lower()): name = eventClass.getOrganizerName() if eventClass.transform: label = '[Transform] %s' % name print '%s\n%s' % (label, '-' * len(label)) print eventClass.transform, '\n' for mapping in sorted(eventClass.instances(), key=lambda m: m.id.lower()): if mapping.transform: label = '[Mapping] %s/%s' % (name, mapping.id) print '%s\n%s' % (label, '-' * len(label)) print mapping.transform, '\n'