opReports - Save Report To Distant Server

Overview

There are various scenarios where it may be desirable to access reports on a separate server, for example making the report available to users that do not have access to the OMK server, or distributed generation of reports, but centralised access.

OpReports currently doesn't support cross-server centralisation out of the box, but reports are generated in a self-contained fashion and thus can be transferred safely to a central server. This document describes the simplest two options, file sharing via NFS and periodic copy using rsync.

Directory Sharing Options

rsync

Summary Steps

  • Distant Server
    • Select user for rsync actions
    • Install the appropriate ssh public key in .ssh/authorized_keys
    • Select a directory for opReports (ensure permissions are correct)
  • OMK Server
    • Select a directory for opReports that should be placed on the distant server.
    • Create a cron job that rsync's the selected directory to the corresponding distant server directory.

Example cron job

/etc/cron.d/reportSync
### This cron job will sync the /data/reports directory to a distant server at a one minute interval.
* * * * * root rsync -rz /data/reports 192.168.10.71:/data/share/omk/.

 

Configuration

The new directory needs to be added to the opreports_output_dirs array in /usr/local/omk/conf/opCommon.nmis.  In the example below /data/reports was added.

/usr/local/omk/conf/opCommon.nmis
    'opreports_output_dirs' => [
      '<omk_reports>',
      '<omk_reports>/opflow',
      '/data/reports'
    ],

Following this change restart the omkd service and reload the browser.  When adding or editing a report schedule the new output directory will be available in the drop down menu.