Installing opCharts in a non standard location

Option Overview

Some administrators may want to install opCharts in a location other than the default of /usr/local/omk.  This is possible by telling the installer about the desired location and making a few other changes to the opCharts and OMK environment.  For this example we'll assume the desired location is /opt/opmantek/omk and nmis is also installed in a non standard location /opt/opmantek/nmis. NMIS8 - Installing NMIS in a Non Standard Location has documentation on firstly installing NMIS in a non standard location.

This is only supported in opCharts 3.4 and above.

Installer Site Option

./opCharts-3.4.0.run -- -t /opt/opmantek/omk -x /opt/opmantek/nmis

Proceed through the install as you would regularly.

Our installer takes care in setting some options for this solution, but there will be a few after installation steps to get this solution finalized.

  • /directories/<omk_base>

    • this is set to the omk install location you passed in as -t
  • /nmis/<nmis_dir>

    • this is set to the nmis install location you passed in as -x
  • /nmis/nmis_dir

    • this is set to the nmis install location you passed in as -x


After Install Steps

We try and automate as much of the configuration during install and we are always improving this process but these items will need to be manually configured.

Services

On install the omkd and opchartsd service will both fail to start as they are pointing to an invalid application location. We assume you are using systemd.

OMKD Service

systemctl edit omkd.service

This will create an overrides files in /etc/systemd/system/omkd.service.d/override.conf

You will need to override the ExecStart, this is an example for our app installed in /opt/opmantek/omk

[Service]
ExecStart=
ExecStart=/opt/opmantek/omk/script/opmantek.pl -f -p /var/run/opmantek.exe.pid -r

opchartsd Service

systemctl edit opchartsd.service

This will create an overrides files in /etc/systemd/system/opchartsd.service.d/override.conf

You will need to override the ExecStart, this is an example for our app installed in /opt/opmantek/omk

[Service]
ExecStart=
ExecStart=/opt/opmantek/omk/bin/opchartsd.pl

After editing

systemctl daemon-reload
systemctl restart omkd
systemctl restart opchartsd

TopN

This plugin helps opCharts calculate TopN, you will need to change the exportprogram to your OMK install dir

/opt/opmantek/nmis/conf/plugins/TopNExport.pm
my $exportprogram="/opt/opmantek/omk/bin/nmis_topn_export.exe";

InterfacesExport

This plugin helps keep opCharts updated with the latest interface information, its currently hard coded to use /usr/local/omk, you will need to change this to your OMK install dir.

/opt/opmantek/nmis/conf/plugins/InterfaceExport.pm
my $exportprogram="/usr/local/omk/bin/opcharts-cli.pl";

NMISLogs

opCharts and opEvents make use of events generated by NMIS, we need to tell it the base dir of where these logs are currently being written to. Note this location is configurable in NMIS Conf so your location may differ from our example.

/opt/opmantek/omk/bin/patch_config.pl ../conf/opCommon.nmis /nmis/'<nmis_logs>'=/opt/opmantek/nmis/log