cancel
Showing results for 
Search instead for 
Did you mean: 
Community_Admin
Community Team Member
Community Team Member

Analytical Need

In this article, we can find a suggested approach on how to better maintain our Sisense environment. The current tools and methodologies take us to an encumbering and challenging work. By creating a dedicated dashboard to show our environment status and add actionable widgets we can make such work much easier.

The final output of this article is a dashboard which will present our environment status (e.g. unused dashboards/ElastiCubes/Users and low/high usage components). + actionable drill-down dashboards (powered by BloX) which make these dashboards much more actionable.

Community_Admin_2-1634652094450.png

Solution

Effort estimation: ~1 hour

Technical Skills required: Low

Usage Analytics

Usage Analytics is part of this solution. Extending the default number of days stored (default is to keep only 30 days of usage) is optional but will provide a clearer status of your environment.

  1. Enable Sisense Usage Analytics - Follow this article to enable the Usage Analytics.

https://documentation.sisense.com/latest/administration/usage-analytics/enableusage.htm#gsc.tab=0

  1. Optional: Extending the number of days stored

In the Sisense configuration manager, under the "Services" tab, locate "Usage service" and update the usage.csvRotateDays to the desired period. 

https://documentation.sisense.com/latest/administration/system-settings/configmgr.htm#gsc.tab=0

*Warning! Increasing the number of days to a higher number than 30 days might affect server performance. Mainly during the usage Analytics cube build. It is strongly recommended to test the cube stability, capacity and performance before scheduling it to a frequent build.

Get unused Dashboards/ElastiCubes/Users data

The Usage Analytics presents information on Sisense objects that had at list one usage. In case we had no usage by a user it won't appear in the Usage Analytics data. This is the reason why we need to call some metadata API's to fetch the missing information.

The process per each API call mentioned below is as follows:

  1. Make sure you are logged in as an Admin user
  2. Copy the API URL, change if required to the server location, and Paste the URL in the HTML address/Postman/etc. (It includes the required fields for this solution)
  3. Convert the JSON to a CSV format. I Recommend this online converter: 

https://toolslick.com/conversion/data/json-to-csv

  1. Download the CSV output and rename

Users API:

http://localhost:8081/api/v1/users?fields=_id%2CuserName%2Cemail%2Ccreated%2ClastLogin

Dashboards API Call (for a user which has access to all dashboards)

http://localhost:8081/api/v1/dashboards?fields=oid%2Ctitle%2Ccreated%2ClastOpened%2ClastUpdated%2Cda...

Or Dashboards API Call (Admin)

https://localhost:8081/api/v1/dashboards/admin?dashboardType=owner&asObject=false&fields=title%2Ccre...

ElastiCubes API:

http://localhost:8081/api/v1/elasticubes/getElasticubes

Usage Analytics Re-Design to support Unused objects data

The Usage Analytics ElastiCube is not a standard cube and the internal queries are being rewritten on each build. The only way to add additional data is by adding new entities/dimensions. This is the reason why the cube structure is not a classic star schema.

Steps to adjust the Usage Analytics ElastiCube for the suggested solution:

  1. Download the Usage Analytics cube file, import and replace the existing Usage Analytics model

Ecube file

 Smodel file

  1. Adjust the file data sources to the CSV sources created in the previous step
  2. In case CSV table names were changed, adjust the custom sql based tables (DimDashboards Extended, DimElasticubes, and Dim Users Extended)
  3. Build!

Healthy Environment Dashboards

  1. Check that the OOTB Usage Analytics dashboards work properly. They shouldn't be affected by the adjustments we've made.
  2. Import attached dashboards

Dashboard 1

Drill1

Drill2

Drill3

Enjoy!

 

Comments
lharrison
7 - Data Storage
7 - Data Storage

It needs to be noted that the 'last opened' field on the dashboards API call is only for the owner. If anyone other than the owner accesses the dashboard, this date is not updated. Please edit this post to include this information - this is not a reliable way to gauge if a dashboard is in use. If there is some way to account for this and get a true last opened date, please let me know.

Version history
Last update:
‎10-19-2021 07:02 AM
Updated by:
Contributors
Community Toolbox

Recommended quick links to assist you in optimizing your community experience:

Need additional support?:

Community Support Request