Newsletter:2/Get Out of the Office Early and Drink More Beer With These new Community ZenPacks

From Zenoss Wiki
Jump to: navigation, search

Get Out of the Office Early and Drink More Beer With These new Community ZenPacks

This month we are showcasing three ZenPacks developed by Zenoss principal engineer Chet Luther and two more developed by Shane Scott, a Zenoss Master and global DC infrastructure Zenoss architect at Rackspace.
Article3c.jpg

In this and future issues of the Community Newsletter, we will feature several of the latest and greatest ZenPacks to give you a idea of how each one could improve your monitoring efforts. This month we are showcasing three ZenPacks developed by Zenoss principal engineer Chet Luther and two more developed by Shane Scott, a Zenoss Master and global DC infrastructure Zenoss architect at Rackspace.

Chet Luther’s Featured ZenPacks:

Zentrospect ZenPack

The Zentrospect ZenPack lets you monitor Zenoss server via the zenoss-snmp-module. It’s designed to help those of you who have to manage multiple Zenoss Core systems or event a single distributed system.

Although Zenoss Core tracks performance information on all of its processes by default, it isn’t always easy to gather and use all of this information in a centralized way. “Zentrospect consumes the data provided by that zenoss-snmp-module Net-SNMP extension so that you can trend and threshold it just like any other performance data in Zenoss,” Chet explains. “It also automatically keeps an eye out for stale data indicating some kind of collection problem.”

PythonCollector ZenPack

The PythonCollector ZenPack adds a Python datasource class so that you use a custom Python module for asynchronous collections. This new datasource type is, not surprisingly, called “Python.”

Chet says that this datasource type enables you to set up efficient collection from arbitrary sources, something that becomes increasingly useful as you try to integrate cloud services and applications, each with its own custom API. “Other new open source and commercial ZenPacks such as XenServer, WBEM, NetApp and EMC are already making use of Python Collector,” he says.

Zenoss Core already offers a “COMMAND” datasource that lets you create scripts for this kind of arbitrary collection. “The difference with the Python type is that the overhead of forking a new process to collect the data each time is eliminated,” Chet says.

Calculated Performance ZenPack

The Calculated Performance ZenPack adds a new “Calculated Performance” datasource to your Zenoss Core system that can store results derived from calculations obtained from other metrics, such as model attributes or datasources. According to Chet, these metrics can be based on any data your Core installation already collects.

Let’s say you want to create a datasource based on the collection of Linux CPU usage using SNMP, and the data available are ticks spent idle, executing user-land instructions and executing kernel instructions. Using the Calculated Performance ZenPack, you can “create a calculated datasource that trends the result of an expression such as "(user + system) / (idle + user + system)" to get percent CPU utilization instead. The derived value is then available to be used in thresholds, graphs, reports and any of other ways normal Zenoss data points are used,” Chet explains.

Shane Scott’s Featured ZenPacks:

NaN Threshold ZenPack

Based on Chet’s Calculated Performance ZenPack, the NaN Threshold ZenPack lets you select a series of data points in a template and create an event if the value of those points is NaN. It can also generate an alert when a datasource collection has halted.

In Zenoss, thresholds are computed only if data is written, so if a connection fails, “not only are there more points where it could potentially not come all the way back up to the surface, but the thresholds aren’t evaluated at all,” Shane says.

NaN Threshold adds its own daemon that does checking in the background. It gets its configuration for its types of data points and watches other data points as they’re written to determine if it should pop the threshold or not.

Linux Monitor ZenPack

Found in the Zenoss Core ZenPack RPM, the Linux Monitor ZenPack lets you track Linux systems using SSH. Shane says he built this ZenPack for Rackspace because “we were having problems coming up with ideal monitoring for our Linux processes. This is our take on the best way to represent load and memory utilization, as well as some interesting ways to present that data to the user.”

LinuxMonitor employs a modeler called CPU Modeler. According to Shane, it counts the number of logical chips on a host and then automatically adjusts thresholds, load computations, and graphs based on that.

This ZenPack also provides a “Z property” that lets you specify the low memory limit, so that you can supply a percentage that the threshold automatically will adjust to. You can then manage it using a configuration management tool like Puppet of Chet, rather than having to make a bunch of templates.