Sisense Community logo
    • Community Feedback
    • Chapters
    • Events
    • Forums
      • Help and How To
      • Product Feedback Forum
      • Strategy & Use Cases
    • Blogs
    • KB Docs
      • KB Docs
      • Add-Ons & Plug-Ins
      • APIs
      • Best Practices
      • Blox
      • CDT
      • Cloud Managed Service
      • Data Models
      • Data Sources
      • Embedding Analytics
      • How-Tos & FAQs
      • Onboarding
      • PySisense
      • Security
      • Sisense Administration
      • Sisense Intelligence & AI
      • Troubleshooting
      • Widget & Dashboard Scripts
    • Support
    • Learning
      • Sisense Academy: Free Courses and Certifications
      • Official Developer Documentation
      • Official Product Documentation
      • Official Sisense Youtube Channel
      • Sisense Compose SDK Playground
    • Use Case Gallery
    All PostsDiscussionsBlogsIdeasQuestions
    Leaderboards
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    Discussions
    • Knowledge Base DocsChevronRightIcon
    • APIsChevronRightIcon
    Leveraging Usage Analytics for maintaining a healthy environment
                     

    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://docs.sisense.com/main/SisenseLinux/enabling-usage-analytics.htm

    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://docs.sisense.com/main/SisenseLinux/configuration-manager-sisense-documentation.htm

    *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%2Cdatasource.title%2ClastPublish%2CparentFolder%2Cowner

    Or Dashboards API Call (Admin)

    https://localhost:8081/api/v1/dashboards/admin?dashboardType=owner&asObject=false&fields=title%2Ccreated%2ClastOpened%2ClastUpdated%2ClastPublish%2Cdatasource.title%2CparentFolder%2Cowner%2CwidgetCount%2ClastRepublished

    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

    Enjoy!

     

    Community_Admin
    By
    Community_Admin
    Posted 4 years ago·Last reply 4 years ago
                                           
             
    1 comment

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
                   
    lharrison

    lharrison

    ·4 years ago

    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.

                                           
                                                                                     
    •                                                              
    •                                                              
    •