Follow

How To Use ReportRunner to Run Report Plugins

 Pre-Requisites

  • access to command line
  • understanding of python
  • understanding of custom report creation

Applies To

  • Zenoss 4.x

Summary

A number of the reports rely on Python code to generate data (report plugins). These plugins can be run directly from the command-line, and the results saved as either raw Python output or as CSV data. This article describes how to list the plugins and run the report plugins with options to control their generation.

Procedure

Listing the Report Plugins

To view the complete list of report plugins, run the following command as the zenoss user on the Zenoss master:

python $ZENHOME/Products/ZenReports/ReportRunner.py --list

Running the Report Plugins

To run a report plugin, run the ReportRunner as the zenoss user:

python $ZENHOME/Products/ZenReports/ReportRunner.py plugin_name

For example,

python $ZENHOME/Products/ZenReports/ReportRunner.py macaddress

or the full path to the plugin can be specified as in this example:

python $ZENHOME/Products/ZenReports/ReportRunner.py /opt/zenoss/Products/ZenReports/plugins/macaddress

Note that report plugin names may be duplicated, so the full path to the plugin may be required in order to run the correct plugin. As an example, the report plugin 'interface_utilization' exists in two different directories.

Modifying Report Plugin Parameters

The parameters that can be passed to the report plugins are very plugin specific, and at the moment require inspection to determine the arguments to pass to the reports.

In this example, we pass the start and end dates, as well as the organizer to report on to the Enterprise Report interface_utilization report plugin.

(note the following command would be entered on one line in the shell)

python $ZENHOME/Products/ZenReports/ReportRunner.py interface_utilization startDate=9/1/2014 endDate=9/31/2014 organizer=/Devices/Server

To Export the Plugin Data as CSV

By default, the ReportRunner exports plugin output as a Python data structure, but it can also export the data as Comma-Seperated-Value (CSV) format.  To export the data, two command-line options can be specified: --export and --export_file

For example, to save the previous script data as CSV and in the file /tmp/September__server_utilization.csv

python $ZENHOME/Products/ZenReports/ReportRunner.py interface_utilization \
startDate=9/1/2014 endDate=9/31/2014 organizer=/Devices/Server --export=csv --export_file=/tmp/September__server_utilization.csv

To View All ReportRunner Options

The help for the ReportRunner command can be obtained through the following command:

python $ZENHOME/Products/ZenReports/ReportRunner.py --help

 

More Information

Note that while report plugins can be run from a remote collector, the performance difference can vary dramatically depending upon how much access to the ZODB is required, and how much work is done on the remote collector, as well as the type of work done on the collector. In order to take advantage of being on a collector, reports will require modifications which is outside the scope of this document.

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk