Tungsten Dashboard Configuration Best Practices
*** There is a one-to-one relationship between Tungsten services and haproxy ports. See examples following this section. ***
Host and port are required for all clusters.
A cluster is marked as a composite parent if it has the "children" array, even if the array is empty.
A cluster is marked as a composite child if it has the "memberOf" key defined.
All Composite member (child) clusters require their own definitions so we know about the host and port for each.
All cluster service names MUST be unique. If you have clusters in different environments that have the same names, they will conflict.
Added in v1.0.7: To solve the above limitation that all cluster service names must be unique, add the sub-key
actualNamepointing to the "real" name of the service, and change the top-level cluster service name to some alias that you understand.For example, you have two clusters named "east", one in prod and the other in staging:
"clusters": {"east_prod": {"host":"localhost","port":"8091","actualName":"east"},"east_staging": {"host":"localhost","port":"8092","actualName":"east"}},ImportantWhen using composite clusters, the
childrenkey (for the composite service) and thememberOfkey (for the member cluster services) must point to the "alias" names, not theactualNamevalue. For example:"clusters": {"global_prod": {"host":"localhost","port":"8091","children": [ "east_prod","west_prod" ],"actualName":"global"},"east_prod": {"host":"localhost","port":"8092","memberOf":"global_prod""actualName":"east"},"west_prod": {"host":"localhost","port":"8092","memberOf":"global_prod""actualName":"west"}},Please note that the
host: localhostshould remain localhost because this tells the app to call the haproxy server on the GUI server node, which will then handle routing to the appropriate manager/database node.You may add your own custom menu options to the tools menu by editing the menus->tools section in the json configuration.
By default the Auto-refresh feature is disabled (i.e. set to zero). You may enable
autoRefreshDelayby setting it to one of the Auto-Refresh time interval values.By default, the list of Auto-Refresh time intervals is defined as 5, 10, 30, 60, 120 or 300 seconds. You may change that by using the
autoRefreshListsetting, i.e.:"autoRefreshList": [3,5,10,30,60,120,300,600]ImportantPLEASE NOTE:
autoRefreshListvalues less than 3 seconds are strongly discouraged.Under normal circumstances, you should not need to get a lock, since all operations automatically attempt to obtain a lock for efficiency purposes. This has the side-effect of leaving your session in a locked state.
There are two settings that help address this situation,
autoUnlockHeartbeatandautoUnlockAll.You may set
autoUnlockHeartbeatto 1 to automatically unlock after issuing a heartbeat command.You may set
autoUnlockAllto 1 to automatically unlock after issuing any command.You may set
dashboardMaintenanceScreento 1 to display a Maintenance-In-Progress message.The default Tab Badge update rate is 30 seconds. You may disable it by setting
tabUpdateRateto zero (0). You may change the refresh rate in seconds by specifying a non-zero value."tabUpdateRate":60Use
lockBaseDirto change the location of the temporary lock files. The defaultlockBaseDiris{WEBROOT}, making the default lock directory{WEBROOT}/locks/, (i.e. alockBaseDirof/tmpwill yield a lock directory of/tmp/locks)."lockBaseDir":"/tmp"Added in v1.0.7: Use
msgFadeOutTimerto automatically close messages after the defined timeout in seconds. The default is60seconds."msgFadeOutTimer":60Added in v1.0.8: Set
disableConfigDisplayto 1 to prevent the menu choice for Tools -> Display Configuration from appearing."disableTooltips":1Added in v1.0.8: Set
disableTooltipsto 1 to prevent the formatted hover-over help tooltips from appearing."disableTooltips":1Added in v1.0.10: Use
enableGrafanato display a button which opens Grafana in an iframe."enableGrafana":1Added in v1.0.10: Use
enablePrometheusto display a button which opens Prometheus in an iframe."enablePrometheus":1Added in v1.0.8: Use
windowTitleto change the browser window title from the default of "Tungsten Dashboard"."windowTitle":"Prod Env | Tungsten Dashboard"Added in v1.0.8: The
sortByConfigOrderNotAlphacontrols the Cluster View sort. By default the list of cluster services is sorted alphabetically. SetsortByConfigOrderNotAlphato 1 for the cluster services to be displayed in the order listed in the config.php file."sortByConfigOrderNotAlpha":1Added in v1.0.8: The
enableRBACsetting controls the Role-Based Access Control (RBAC) feature. Disabled by default, set it to one and populate the list of read-write users via the siblingadministratorssetting.There are two roles:
Administrator - Full access
Operator - Read-only access
When
enableRBACis set to one, all users not listed in theadministratorssetting are read-only Operators.When enabled, the user's current role will be displayed in the footer. Refresh the page to activate any changes to
config.php.ImportantThis feature requires Basic Auth to be properly configured on the Web server.
"enableRBAC":1Use the
administratorssetting to list the users with admin privs:"administrators": [ "adminUser1","adminUser2" ]