DataStax Help Center

OpsCenter saved dashboards missing for users

Summary

Occasionally, an OpsCenter user's saved dashboards will fail to load, resulting in a blank 'Home' tab for the user in the browser. This is due to a preset in the storage for OpsCenter dashboards that has no definition associated with it any longer.

Symptoms

When the user clicks the 'Home' icon on the left pane, the main page fails to load any saved dashboards. No errors are raised in logs or the browser console. An empty preset will be in the set of objects returned by the OpsCenter API call 

GET /{cluster_id}/rc/dashboard_presets/

which will have a UUID and an empty set like

"448d4dba-2679-497f-80da-f0efa441cec4": {}

 to identify the triggering preset.

 

Here is an example of verifying the above using the popular curl tool:

1. Since we need to get a certain user's dashboard, we need to obtain a session token from OpsCenter with a curl command like:

curl -X POST -d '{"username":"<username>","password":"<password>"}' 'http://<opscenter URL/IP>:8888/login'

which should return something like this:

{"sessionid": "3a04b8a82f99c24ebaebecd3ebe3aef3"}

2. Then, using that session token we can request the dashboards for the user with a command like the following, substituting the session token below for the one returned by your OpsCenter server:

curl -H 'opscenter-session: 3a04b8a82f99c24ebaebecd3ebe3aef3' http://<opscenter URL/IP>:8888/<cluster_name>/rc/dashboard_presets/

which should return a list of dashboards in a JSON document, including presets with empty definitions as indicated above.

 

More details about using the OpsCenter API to manage dashboards can be found at the OpsCenter API reference pages.

Cause

When the empty preset is returned to the current GUI logic, it fails to handle it gracefully and display the other good presets. The empty preset UUIDs are keys in the "OpsCenter"."settings" Cassandra table backing OpsCenter that have been removed in all other locations but remain in the preset list. The causes of empty or missing presets have not been determined. They are suspected to be left behind when the data model backing the OpsCenter display gets changed through upgrades, but this has not been verified.

Workaround

The dashboard functionality can be restored with another API call to delete the empty preset followed by a restart of the OpsCenter server. The call is 

DELETE /{cluster_id}/rc/dashboard_presets/{preset_id}

where preset_id is the UUID with the empty set above.

 

Following our examples using curl from above, we would use something like this, substituting the session token and preset ID as appropriate:

curl -H 'opscenter-session: 3a04b8a82f99c24ebaebecd3ebe3aef3' -X DELETE http://<opscenter URL/IP>:8888/<cluster_name>/rc/dashboard_presets/448d4dba-2679-497f-80da-f0efa441cec4

Solution

This is being addressed on internal JIRA OPSC-6990 for detection and handling of empty presets in the storage layer, and OPSC-6991 for graceful handling of unexpected presets in the UI layer. It is expected to be resolved in an upcoming OpsCenter release.

Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk