Introduction
Opmantek applications' released on or after 30 Sept 2020 will work on Opmantek's latest and fastest platform, however, earlier installed products are incompatible with this new platform.
This solution was needed as NMIS 8.6.7G1, opReports 3.2.0 and other Opmantek applications released prior to 30 September were installed on server(s).
However, opReports 3.4.1 was needed to overcome the issue in the 95th Percentile calculation in the WAN Utilisation Distribution Report and the WAN Utilisation Distribution Summary Report prior to opReports 3.4.1
opReports 3.2.0 and other Opmantek applications released prior to 30 September were installed on server(s) at /usr/local/omk/
opReports 3.4.1 was then installed at /opt/omk/ as follows:
- opReports-3.4.1-standalone.tar.gz was created as follows
(provided for informational purposes as opReports-3.4.1-standalone.tar.gz was provided to the Customer):- Install NMIS8 at /usr/local/nmis8 on a new VM with desired operating system created for the purpose of assembling opReports-3.4.1-standalone.tar.gz
- Install the needed version of opReports at the default install directory /usr/local/omk
Create our custom install of opReports at /opt/omk
/opt/cd /opt sudo cp -rf /usr/local/omk /opt sudo chown -R root:nmis /opt/omk cd /opt/omk/ # make sure we are in /opt/omk/ pwd /opt/omk # clean up sudo rm -rf ./{bin/*,log/*,var/*,lib/,script/,manifest,install.log} # check the files we are going to edit (change direcvtory from /usr/local/omk to /opt/omk) sudo grep -arRnF "/usr/local/omk" /opt/omk/ /opt/omk/install/opconfigd.service.bak:20:ExecStart=/usr/local/omk/bin/opconfigd.pl /opt/omk/install/cron.d/opreports:4:*/5 * * * * root /usr/local/omk/bin/opreports-scheduler.exe /opt/omk/install/cron.d/oplicense:4:8 5 * * * root /usr/local/omk/bin/oplicense-cli.pl act=refresh_bundle_licenses quiet=1 /opt/omk/install/opeventsd.service.bak:20:ExecStart=/usr/local/omk/bin/opeventsd.pl /opt/omk/install/opCommon.nmis:27: '<omk_base>' => '/usr/local/omk', /opt/omk/install/omkd.init.d.bak:26:DAEMON=/usr/local/omk/script/opmantek.pl /opt/omk/install/omkd.service:20:ExecStart=/usr/local/omk/script/opmantek.pl -f -p /var/run/opmantek.exe.pid -r /opt/omk/install/omk-rotate.conf:8:/usr/local/omk/log/*.log /opt/omk/install/omk-rotate.conf:27:/usr/local/omk/log/snow_api.log /opt/omk/install/opflowd.service.bak:20:ExecStart=/usr/local/omk/bin/opflowd.pl /opt/omk/install/opchartsd.service.bak:20:ExecStart=/usr/local/omk/bin/opchartsd.pl /opt/omk/install/schedule/example_snapshot.json:6: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/install/schedule/health-businesshours.json:10: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/install/schedule/monthly_qos.json:11: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/install/schedule/weekend.json:11: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/install/schedule/daily.json:16: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/install/schedule/util_oneoff.json:12: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/conf/opeventsd.service:20:ExecStart=/usr/local/omk/bin/opeventsd.pl /opt/omk/conf/opconfigd.service:20:ExecStart=/usr/local/omk/bin/opconfigd.pl /opt/omk/conf/opCommon.nmis:35: '<omk_base>' => '/usr/local/omk', /opt/omk/conf/opflowd.service:20:ExecStart=/usr/local/omk/bin/opflowd.pl /opt/omk/conf/opCommon.nmis.prepatch:27: '<omk_base>' => '/usr/local/omk', /opt/omk/conf/omkd.service:20:ExecStart=/usr/local/omk/script/opmantek.pl -f -p /var/run/opmantek.exe.pid -r /opt/omk/conf/omk-rotate.conf:8:/usr/local/omk/log/*.log /opt/omk/conf/omk-rotate.conf:27:/usr/local/omk/log/snow_api.log /opt/omk/conf/opchartsd.service:20:ExecStart=/usr/local/omk/bin/opchartsd.pl /opt/omk/conf/omkd.init.d:26:DAEMON=/usr/local/omk/script/opmantek.pl /opt/omk/conf/schedule/example_snapshot.json:84: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/conf/schedule/health-businesshours.json:13: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/conf/schedule/monthly_qos.json:2: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/conf/schedule/weekend.json:25: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/conf/schedule/daily.json:28: "outputdir" : "/usr/local/omk/var/reports" /opt/omk/conf/schedule/util_oneoff.json:10: "outputdir" : "/usr/local/omk/var/reports", /opt/omk/templates/unauthorised.html.ep:37:% my $log_dir = $self->config->{'<omk_logs>'} || "/usr/local/omk/logs/"; /opt/omk/templates/unauthorised.html.ep:38:% my $conf_dir = $self->config->{'<omk_conf>'} || "/usr/local/omk/conf"; /opt/omk/templates/unauthorised.html.ep:39:% my $base_dir = $self->config->{'<omk_base>'} || "/usr/local/omk/"; /opt/omk/templates/exception.html.ep:38:% my $log_dir = $self->config->{'<omk_logs>'} || "/usr/local/omk/logs/"; /opt/omk/templates/exception.html.ep:39:% my $conf_dir = $self->config->{'<omk_conf>'} || "/usr/local/omk/conf"; /opt/omk/templates/exception.html.ep:40:% my $base_dir = $self->config->{'<omk_base>'} || "/usr/local/omk/"; /opt/omk/templates/not_found.production.html.ep:38:% my $log_dir = $self->config->{'<omk_logs>'} || "/usr/local/omk/logs/"; /opt/omk/templates/not_found.production.html.ep:39:% my $conf_dir = $self->config->{'<omk_conf>'} || "/usr/local/omk/conf"; /opt/omk/templates/not_found.production.html.ep:40:% my $base_dir = $self->config->{'<omk_base>'} || "/usr/local/omk/"; # edit the above files: sudo sh -c 'grep -arRnFl "/usr/local/omk" /opt/omk/|while read LINE; do sed -i "s!/usr/local/omk!/opt/omk/!g" "${LINE}";done;' # check all files have been edited - returns nothing if all references to /usr/local/omk have been corrected to /opt/omk sudo grep -arRnF "/usr/local/omk" /opt/omk/
- Place the provided opReports-3.4.1-standalone.tar.gz file in /opt/ directory
Uncompress the file, then set permissions on /opt/omk/ directory structure appropriately:
/opt/sudo tar -xzvf opReports-3.4.1-standalone.tar.gz sudo chown -R root:nmis /opt/omk/