Skip to end of metadata
Go to start of metadata


opCharts has dashboards built into the heart of it's engine.  Dashboards have the ability to display components, components can load data from many different sources and display it as a graph/table/pie/chart/etc.  Right now only graphs are supported.

Customising the opCharts GUI contains some tips for GUI customisation.

Users, Roles, Privileges and Objects ( Portal mode / RBAC)

See this documentation 


Data Sources

/usr/local/omk/conf/data_sources.json defines the data sources that the system will make available to the charts.  Currently only SQL external data sources are supported.  The default configuration in data_sources.json file ships with examples for MSSQL and MySQL servers. Here is an example a data source definition: 

         "name" : "mssql_example",  # name used to access this data source in charts.json
         "type" : "sql", # fixed, no other types are currently available
         "data_models" : [ "sql_query" ], # also fixed.
         "parameters" : {
            "scheme" : "dbi", # fixed
            "driver" : "ODBC:DRIVER=FreeTDS", # dbi options that have been installed are available, only MSSQL and MySQL are tested
            "host" : "", # SQL server host/ip
            "port" : "1433", # port SQL can be found on
            "database_name" : "testdb", # database to pull data from
            "username" : "sa", # username
            "password" : "password" #password

The name specified for your data source will be used in other configuration files to access the data from this data source.


Dashboards can be created and set as the default view after logging in. 

    • defined application wide (not stored per user)
    • names are unique, cannot be changed after creation (because they are used to link into other places, like default dashboards
    • care should to be taken to ensure that a dashboard that is visible to a customer does not contain graphs that the customer should not see
      •  the inclusion of components in a dashboard means any user who is allowed to see and load those components
    • if a dashboard is deleted which is also set to a users default dashboard the user will just see the regular index page because the one picked cannot be found.

                     More documentation on Dashboards can be found HERE: Dashboards

Configuration Options

After making any configuration changes you must restart the omkd daemon:

/etc/init.d/omkd restart

Panel View Options

  • KPI Based
  • Resource Based

In order to toggle between these two options adjust the /usr/local/omk/opCommon.nmis file. 

For KPI based panels use the following setting:

    'opcharts_gui_node_panel_display' => 'kpi',

 For Resource based panels use the following setting:

    'opcharts_gui_node_panel_display' => 'resource',

These two options are mutually exclusive, it must be one or the other. For an explanation of these two options see opCharts User Guide#Panelview

Remember to restart the omkd daemon after making configuration changes.

Node List Options

The node list displays nodes in two formats, panel and list/table.  The default view shown is defined in the the /usr/local/omk/opCommon.nmis file: 

'opcharts_gui_node_list_view_type' => 'table', #options: 'table' or 'panel'

Table view options

Customising table views is described here:  opCharts 3.2.2 - Customising Table Columns

Node info options

Customising node info options is described here:  opCharts 3.2.2 - Customising Table Columns

Node list performance

As of opCharts version 3.2.6 Node list performance has been improved significantly and will be noticeable on systems with higher node counts, particularly on the node list page and on and scheduled outage page.

There are two basic modes that can be run: db off and db on. db off has cache running in memory. db on uses the db for caching. When db is set to on, the nodesum files are cached into the db and filters are run against the db instead of doing the filters manually in memory. NMISx db caching is now the faster option. By default this config item is turned off, to enable this edit your opCommon.nmis file located at /usr/local/omk/conf/opCommon.nmis and set nmisx_db_cache_enable to 1. For systems with a low number of nodes, using the db may not show any performance improvement

nmisx_db_cache_enable' => 1

There are two more configuration items that control how the cache works:

nmisx_cache_min_age_before_refresh' => 60

This setting tells the app how long to wait before checking to see if the cache needs refreshing. In order to know if the cache needs refreshing we check the time the nodesum files are written and compare that against the time the cache was built. This is a simple optimisation. Since we access the cache quite often it gets a little expensive to check it several times a second, this prevents those checks for at least X seconds. The idea is that NMIS only writes the nodesum files at most once a minute so don’t bother looking more than that often.

nmisx_cache_time' => 900

This setting controls how long the data will stay in the cache before it’s removed. This is only for db mode, in memory mode this will have no affect.


  • No labels