Utilities for analyzing and debugging Zenoss environments.
- To install the latest tools from zenoss.toolbox:
- Login to the zenoss master
- Become the zenoss user:
su - zenoss
- Download the latest zenoss.toolbox:
wget -O master.zip --no-check-certificate https://github.com/zenoss/zenoss.toolbox/archive/master.zip
- Use python's easy_install to install the zenoss.toolbox:
easy_install ./master.zip
findposkeyerror will scan the supplied zodb path, looking for
dangling references for certain objects and fix those if --fixrels
is supplied as a command argument.
zencatalogscan will scan the various zenoss catalogs for any references
that point to unresolvable paths. It is safe to run this in the background.
If you run with "-f" or "--fix" it will attempt to uncatalog any detected
references that are no longer present.
zodbscan will scan the zodb and zodb_session databases, looking for
dangling references. If it finds one, it will analyze the pickled object
state to determine the path through the object graph, the name of the
attribute referencing the missing oid, and the class that should be there:
==================================================
DATABASE INTEGRITY SCAN: zodb
==================================================
FOUND DANGLING REFERENCE
PATH /zport/dmd/Devices/devices/ian
TYPE <class 'Products.ZenModel.Device.Device'>
OID 0x0001ff38 '\x00\x00\x00\x00\x00\x01\xff8' 130872
Refers to a missing object:
NAME os
TYPE <class 'Products.ZenModel.OperatingSystem.OperatingSystem'>
OID 0x0001ff43 '\x00\x00\x00\x00\x00\x01\xffC' 130883
SUMMARY:
Found 1 dangling references
Scanned 96294 out of 96294 reachable objects
cleancatalog will scan the global catalog and remove entries that
point to unresolvable paths. It is safe to run in the background.
Author: Ian McCracken (ian@zenoss.com)