Export / Import Dashboards, Maps and Charts from opCharts to a New Server
Introduction
The purpose of this article is how to export and import dashboards, maps, and charts from an old server running opCharts and migrate to a new server.
Reviewing your dashboards, charts, or maps:
You can use the opcharts-cli.pl tool. This is located in /usr/local/omk/bin.
Some examples below for listing views:
/usr/local/omk/bin/opcharts-cli.pl act=list-dashboards /usr/local/omk/bin/opcharts-cli.pl act=list-charts /usr/local/omk/bin/opcharts-cli.pl act=list-maps
As well as:
cd /usr/local/omk/bin/ ./opcharts-cli.pl act=list-dashboards ./opcharts-cli.pl act=list-charts ./opcharts-cli.pl act=list-maps
For a full list of available operations, we can run opcharts-cli.pl on its own, for example /usr/local/omk/bin/opcharts-cli.pl.
Usage: opcharts-cli.pl act=[action to take] [options...] opcharts-cli.pl act=list-{charts|maps|dashboards|business|pollers|collectors|enterprise} opcharts-cli.pl act=delete-{charts|maps|dashboards|business|pollers|collectors|enterprise} [name=A name=B...] opcharts-cli.pl act=export-{charts|maps|dashboards|business|pollers|collectors|enterprise} [name=A name=B...] [file=path] file: save JSON to file, otherwise printed to STDOUT. name: list of resource names to export. defaults to all resources. opcharts-cli.pl act=import-{charts|maps|dashboards|business|pollers|collector|enterprise} [name=A name=B...] [file=path] [force=true] file: read JSON from file, otherwise read from STDIN name: list of resource names to import. defaults to all resources. force: if true will force the import to happen, replacing existing entries if they exist with the same name opcharts-cli.pl act=import-subnets [force=true] caches the subnets opcharts-cli.pl act=clear-subnets clears the subnet cache opcharts-cli.pl act=import-user-dashboard name=dashboard-name users='user1, user2, ...' change the default dashboard for a list of users opcharts-cli.pl act=clear-all-node-depend clear all node depend (subnet) opcharts-cli.pl act=update-subnet-dependency Update all nodes dependencies opcharts-cli.pl act=setup-db Sets up opCharts required indexes for MongoDB opcharts-cli.pl act=enrich-business-services Enrich data for each business service to make fields sortable opcharts-cli.pl act={add|delete}-enterprise-service-object name="Enterprise Service Name" [type=node|interface|monitored_service] [node_uuid=A] [index=1] [monitored_service_name=A] Add or delete a node, interface or monitored service from an existing enterprise service. opcharts-cli.pl act=migrate-business-service [name=A] [rename=B] Creates an enterprise service from a business service, if the migrated name conflicts you can pass 'rename=example' to give the enterprise service a new name. options: info=true: print informational output debug=true: print diagnostic output
Exporting dashboards, maps, and charts to a file (Export All Files)
/usr/local/omk/bin/opcharts-cli.pl act=export-maps file=/tmp/maps.json /usr/local/omk/bin/opcharts-cli.pl act=export-dashboards file=/tmp/dashboards.json /usr/local/omk/bin/opcharts-cli.pl act=export-charts file=/tmp/charts.json
You can then either use a SFTP application of choice to download these from the NMIS server to your local machine, or use SCP to copy direct from the CLI.
If you only require exporting a single view, you can instead add the name=My_Dashboard argument to the command:
/usr/local/omk/bin/opcharts-cli.pl act=export-dashboards name=My_Dashboard file=/tmp/my_dashboard.json
Importing dashboards, maps, and charts from a file
/usr/local/omk/bin/opcharts-cli.pl act=import-maps file=/tmp/mpas.json /usr/local/omk/bin/opcharts-cli.pl act=import-dashboards file=/tmp/dashboards.json /usr/local/omk/bin/opcharts-cli.pl act=import-charts file=/tmp/charts.json
After you import the dashboards/charts/maps this will then be displayed in the relevant section of the opCharts GUI.