Add custom dashboards to the SDM menu
After you upgrade Unravel Snowflake, you need to manually add custom dashboards to the Smart Dashboard Menu (SDM).
Overview
When custom dashboards exist in your Unravel instance but aren't visible in the SDM menu, you must configure them manually. This procedure retrieves dashboard information and adds any missing dashboards as children of the Dashboards menu item.
Add custom dashboards to the SDM menu
Follow these six steps to add your custom dashboards to the SDM menu.
Step 1: Get the list of all dashboards
To retrieve a complete list of all available dashboards in your Unravel instance:
Log in to the Unravel UI.
Navigate to the dashboards page by updating the URL. If your Unravel URL is https://customer-sf.saas.unraveldata.com/, append /dashboards to create https://customer-sf.saas.unraveldata.com/dashboards.
Open the Dev Tools located at the bottom left corner of the screen.
Execute the following API request:
GET .kibana*/_search { "query": { "bool": { "filter": [ { "term": { "type": "dashboard" } } ] } }, "_source": [ "dashboard.title" ], "size": 100 }Sample output:
{ "took": 5, "timed_out": false, "_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 14, "relation": "eq" }, "max_score": 0, "hits": [ { "_index": ".kibana_1", "_id": "dashboard:09e7ed80-ddbf-11ed-9b08-ddd525039b69", "_score": 0, "_source": { "dashboard": { "title": "Unravel System Admin Dashboard" } } },The response provides a list of all available dashboards. Note the dashboard.title value for each dashboard, as you'll use this information later.
Step 2: Retrieve the Dashboards menu object ID
Identify the object ID for the Dashboards menu in the SDM configuration. You need this ID to associate custom dashboards as children of the Dashboards menu.
Sample Response:
{ "took": 2, "timed_out": false, "_shards": { "total": 2, "successful": 2, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 2.9618306, "hits": [ { "_index": "sdm_menu_t1-snapshot", "_id": "106", "_score": 2.9618306, "_source": { "tenant_id": "1", "is_valid": true, "object_type": "OS_DASHBOARD", "object_id": "106", "object_name": "Dashboards", "parent_object_id": "0", "action_url": "/os_dashboard", "icon": "icon-value-dashboard", "tool_tip": "OS dashboards Menu", "order": 6, "is_visible": true, "module": "NGUI", "component_name": "OPENSEARCH_DASHBOARD" } } ] }}In the Dev Tools console, execute the following API request:
GET sdm_menu_t1-snapshot/_search { "query": { "term": { "object_name": { "value": "Dashboards" } } } }In the response, locate the object_id value for the Dashboards menu. For example, "object_id": "106". This ID becomes the parent_object_id for any new custom dashboards you add.
Step 3: Access the OOTB dashboards
View the Out-of-the-Box (OOTB) dashboards already configured in the SDM menu.
Execute the following API request, replacing 106 with the Dashboards menu object ID from Step 2:
GET sdm_menu_t1-snapshot/_search?size=100 { "query": { "term": { "parent_object_id": { "value": "106" } } }, "_source": "object_name" }Review the results. This list shows all OOTB dashboards that are already visible in the SDM menu.
Sample output:
{ "took": 3, "timed_out": false, "_shards": { "total": 2, "successful": 2, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 16, "relation": "eq" }, "max_score": 1.4708517, "hits": [ { "_index": "sdm_menu_t1-snapshot", "_id": "106_113", "_score": 1.4708517, "_source": { "object_name": "_System Unravel Monitoring - Kafka" } }, { "_index": "sdm_menu_t1-snapshot", "_id": "106_103", "_score": 1.4708517, "_source": { "object_name": "_System Unravel Monitoring - System" } },...
Step 4: Identify missing custom dashboards
Compare the complete list from Step 1 with the OOTB dashboards from Step 3. The dashboards that appear in Step 1 but not in Step 3 are your custom dashboards. These are the dashboards you need to add to the SDM menu.
Step 5: Add missing dashboards to the SDM menu
For each missing custom dashboard, add a new entry to the SDM menu using the API.
Execute the following POST request for each custom dashboard:
POST sdm_menu_t1-snapshot/_doc/106_201 { "tenant_id": "1", "is_valid": true, "object_type": "OS_DASHBOARD", "object_id": "106_201", "object_name": "custom dashboard", "parent_object_id": "106", "action_url": "/app/dashboards#/view/106_201", "icon": "value-dashboard.ico", "tool_tip": "custom dashboard", "order": 13, "is_visible": true, "module": "NGUI", "component_name": "OS_dashboard_custom_dashboard" }For each custom dashboard, update the following fields:
Document ID: Start with 106_201 and increment for subsequent dashboards (for example, 106_202, 106_203). The first number (106) represents the parent menu ID.
Object ID: Use the same value as the Document ID.
Object Name: Replace "custom dashboard" with the name of your custom dashboard.
Parent Object ID: Use the Dashboards menu object ID from Step 2 (for example, 106).
Action URL: Update the ID in /app/dashboards#/view/106_201 to match your Document ID.
Tool Tip: Provide a descriptive tooltip for the custom dashboard.
Tool Tip: Provide a descriptive tooltip for the custom dashboard.
Repeat this for each custom dashboard that's missing from the SDM menu.
Step 6: Refresh the dashboards page
After you add all custom dashboards to the SDM menu, refresh the dashboards page to verify the changes.
Reload the dashboards page in your browser.
Verify that all dashboards now appear in the SDM menu, including both OOTB and custom dashboards.