NMS


get device status within a zenoss event transform

Event transformation is a cool feature of Zenoss, but care must be taken to avoid slowing down Zenoss too much, as badly performing event transformations applied to a large number of events might slow down Zenoss. Besides, any exception within an event transformation ends up in $ZENHOME/log/zeneventd.log, so your code needs extra care to avoid […]


Using Ansible to Fetch Information from IOS Devices

In this article, we’ll look at various Ansible modules that can be used to fetch information from Cisco IOS devices: ios_facts, snmp_facts and ios_command. Regardless of the used module, we’ll store the output in a JSON file that can easily be used in other tools. ios_facts ios_facts is the obvious choice. It connects to the […]


rsyslog Lookup Tables Missing Manual

Since a very long time, the rsyslog documentation mentions a lookup table feature, but as a proposal only. However, it is fully implemented as of version 8.18.0 and should become official “very soon”. On top of this, there is a bug in the documentation so the page explaining the actual implementation is not linked from […]


Efficient component look-up in Zenoss

… or how to find an interface object from d.os.interfaces() or d.hw.fans() without a loop. The problem: in Zenoss transforms, I often need to do a check on an attribute of a component, e.g. re.search(‘stuff’, interface.description). The problem is, the event component does not contain the “interface” object. Instead, it contains the interface.getInterfaceName() string. The […]


Storage systems for large NMS

In a project or upgrading Zenoss for a large customer, I have had numerous issues regarding i/o performance. This was certainly expected, but not to that level. Some numbers to explain the situation: the NMS monitors about 1’900 devices Includes about 700+ routers and 1000+ switches Some switches are stacked On routers, we collect 8 […]