Introduction

opEvents 2.0 introduces a new feature for generating fairly flexible reports that summarize the nodes, events and issues in your environment and present this information in both graphical and tabular forms. This page describes the capabilities, and usage and configuration aspects of this feature.

Capabilities

Reports can be created for arbitrary time periods, from the GUI: select the "Views" menu, "Summary Reports" and use the "New Report" button.

Any existing report can be emailed to a recipient of your choice from within the GUI, or saved as XLSX spreadsheet (which includes the report graphs and charts and the summary data). Emailed reports contain a brief textual overview plus the report as XLSX spreadsheet.

In addition to on-demand one-offs, reports are also automatically prepared for

These automatic reports can be emailed to any number of recipients (optionally and automatically).

Old report data can be purged, if desired.

The report summarisation parameters can be adjusted (on demand) for report display, saving and emailing.

Reports include information about nodes and their events, severities and events over time, as well as "incidents"  (i.e. down-times of stateful entities, e.g. nodes, interfaces or services).

Configuration

The basic reporting parameters are configured in conf/opCommon.nmis. Here is an example section (from install/opCommon.nmis):

'opevents' => {
  # lots of other directives
  'opevents_report_mininterval' => 900,     # granularity for interval reporting
  'opevents_daily_report_title' => "Daily Summary Report",
  'opevents_daily_report_recipients' => [], # list of email addresses for automatic mailout
  'opevents_weekly_report_title' => "Weekly Summary Report",
  'opevents_weekly_report_recipients' => [], # list of email addresses for automatic mailout
  'opevents_monthly_report_title' => "Monthly Summary Report",
  'opevents_monthly_report_recipients' => [], # list of email addresses for automatic mailout
  # other directives
},



DirectiveDescription
opevents_daily_report_title,
opevents_weekly_report_title,
opevents_monthly_report_title

This sets the title for the automatically generated summary report for the respective period.
This setting is optional (but highly recommended).
If such a report is emailed to anybody, then the title is also used as the email's Subject.

opevents_daily_report_recipients,
opevents_weekly_report_recipients,
opevents_monthly_report_recipients

This setting is optional. If set to a list of email addresses, then the respective report is emailed to all the listed recipients.
Please note that email addresses must be enclosed in single quotes, e.g.

'opevents_monthly_report_recipients' => [ 'first@recipie.nt', 'other@pers.on' ]
opevents_report_minintervalThis sets the minimum summarisation interval (i.e. the highest available precision). The default is 15 minutes.
Reports can be viewed (and saved) with integral multiples of this interval only.


Display and Summarisation options

When opEvents collects reportdata, the events and incidents are pre-summarised into intervals of opevents_report_mininterval seconds (default: 15 minutes).
This pre-summarised data is stored in the database. Once that has happened, the report can be (re-created and) displayed even if the underlying events (or nodes) are purged or removed altogether.

For displaying, saving or emailing reports, the pre-summarised data can be simplified and reduced further, if desired:

Scheduling

Summary report data is collected if and when opEventsd is run with the argument act=create-report. The opEvents 2.0 installer creates a suitable cron schedule in /etc/cron.d/opevents which causes the daily, weekly and monthly report data collection.

If no report recipients are configured, then opEventsd will only perform the data collection; otherwise it'll collect, then apply the default summarisation parameters and email the resulting report to all recipients.

You can use either opEventsd or the GUI to create an on-demand report; but overriding the defaults with custom parameters is possible only with opEventsd. To determine the required command line format, simply run opEventsd with act=create-report and it'll print an option overview like this:

$ /usr/local/omk/bin/opevents-cli.pl act=create-report
Usage: opeventsd.pl act=create-report {start=<time/date> end=<time/date> | [daily|weekly|monthly]=true} 
  [topn=N] [summary_int=NM[dhm]] [path=<outputfile.xlsx] [email=X@Y.Z] [title=...]
All standard opEvents time formats can be used for start and end.
If topn or summary_int are given, then the report is summarized 
with these values instead of the defaults for the given report duration.
If one or more email=X options are given, then the report is emailed 
to these addresses.
If daily, weekly or monthly is true, then the start/end is optional and the 
report is emailed to all configured or given email recipients.
If a path is given, then the report is saved in that XLSX file.