opEvents Summary Reports

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

  • the previous day,
  • the previous week
  • and the previous month.

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:

  • The "Advanced" menu lets you set a "Top N" parameter for limiting the lists of interesting events, nodes, etc.
    The report display changes on the fly and all charts and Top X displays are recomputed with the new parameter. The default for Top N is 10.
    Saving or emailing a report from the GUI saves the report with the currently active Top N parameter.
  • The same menu also lets you select a "Summary Interval" of your choice.
    Setting a summary interval causes the recomputation and redisplay of the incident duration histogram, and the events and incient summaries over time: the relevant data is grouped into intervals of the desired length.
    The summary interval must be an integral multiple of the minimum interval the report data was collected with. Like with Top N, the currently active interval value affects saved and emailed reports.
    If no explicit summary interval is given, then a default suitable for the report's duration is chosen:
    • for reports spanning no more than 24 hours, the default summary interval is 1 hour.
    • for a report between 24 hours and one week, the summary interval is 6 hours.
    • for a report above one week the summary interval is 24 hours.

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.