Update and add new Highcharts modules for use in Sisense plugins
Update and add new Highcharts modules for use in Sisense plugins The JavaScript library framework Highcharts is natively included in Sisense and is utilized in many native Sisense widgets as well as in numerous Sisense plugins. Although Sisense typically does not alter the Sisense Highcharts library version with every release, the versions of Highcharts included in Sisense may change when upgrading to a new major version release. Highcharts can load additional chart types and other types of functionality via JS module files that contain code-adding features such as additional chart types, which can be used within plugins along with additional code to create additional widget types. If a plugin utilizes a Highcharts module, you can source the module directly in the "plugin.json" file's source parameter, as shown in this example: "source": [ "HighchartModule.js", ], To determine the current Highcharts version being used in your Sisense version, you can use the "Highcharts" command in the web console while viewing any page on your Sisense server. After identifying the current Highcharts version, you can find the corresponding module hosted on the Highcharts code hosting website using the following URL format: https://code.highcharts.com/${Highcharts_Version}/modules/${module_name}.js For example: https://code.highcharts.com/6.0.4/modules/heatmap.js You can save this module and upload it to the plugin folder or replace the older module JS file simply by copying and pasting the code directly. Be sure to update the "plugin.json" file to point to the new module file if the file name has changed or if this is the first time the module is included. Simply sourcing the module file in the "plugin.json" file is sufficient to load the module into Highcharts; no further code is required to load the module.1.3KViews2likes2CommentsHow to Run a Repair
A repair is a process that will re-install the currently used version of Sisense. This can be useful in situations where your installation has become corrupted. No ElastiCube data or Sisense Web configurations will be changed. However, if you made any modifications to the html/css/js files that are used by Sisense Web, they are liable to be overwritten. How to Run a Repair Download the Sisense version you would like to work with. If you are currently on the latest version of Sisense, click here to download the latest version file onto the machine hosting Sisense. Otherwise, you'll need to download the version that you are currently on. You can find the version you're using opening the ElastiCube Manager, clicking Help & How-To's in the upper right corner, and then selecting About. To download a specific version, please contact Sisense support or your Customer Success Manager. Once you have the installer downloaded, right click and run it as an Administrator, and you will be prompted to repair. Just click the Continue button, and follow the instructions.929Views0likes0CommentsHealth and Maintenance of Sisense Environment
Overview: Keeping your Sisense environment healthy and up to date is essential to a successful Sisense instance. This article contains general information about Sisense deployment and maintenance. Please reference the linked articles for additional information. Topics: Clean installation Upgrade Migration Clean installation When first deploying Sisense it is important to review the Installation guide and ensure any prerequisite programs are installed. Keep in mind that Sisense depends on particular Sisense roles and features which are discussed below. Technical Requirements: .NET Framework 4.6.1 (as of Sisense Version 7.3) Visual C++ Redistributable Packages Java Runtime Environment The software components above along with Windows roles and features responsible for running IIS will be installed automatically within Sisense installation. Installing Sisense Minimum Requirements For organizations that do not allow their server to access the internet can use the offline installer process. Installing Sisense Offline For additional information about keeping your Sisense environment clean and performing well, please refer to this article: Performance Issues Troubleshooting Upgrade Each version includes new features and enhancements as well as other improvements. Please read our release notes and check if there are any breaking changes in the version you are upgrading to. We strongly recommend upgrading a staging environment first so you can know how the upgrade will affect your users and your configuration before upgrading your production environment. Make sure to back up your current instance before the upgrade. Feel free to contact your Customer Success Manager (CSM) or our Sisense Support team if any additional consultation is needed. Upgrading Sisense Backing up Sisense Release Notes Migration Occasionally you come across a situation when you need to migrate Sisense to a different server (for example moving from Windows Server 2012 to Windows Server 2016). In general, Sisense consists of 2 parts: Back-End: The Back-end includes your ElastiCubes - where all of the data to analyze is stored Front-End: Front-end that includes dashboards and system configuration. Each each component can be migrated in several ways. For more information please reference the following article and follow the instructions specific to your Sisense version. Please contact your CSM if Sisense migration will make you go over limit on server licenses. Migrating Sisense1.2KViews0likes0CommentsChange the User Activation Expiration Period
Question: How to change the activation period for new users Purpose/Benefits For security purposes, new users have a seven day activation period. After that seven day period they no longer can activate their account. The following steps will explain how to change that setting. Answer: Versions 7.2 and above: 1) As an administrator, open C:\Program Files\Sisense\app\identity-service\src\features\users\v1\users.service.js 2) Find the following line: const EXPIRATION_TIME = 604800; // 604800 seconds = 7 days And change it to a different interval. Save the file. 3) Restart the Sisense.Identity service. Versions 7.1 and below: 1) As an administrator, open C:\Program Files\Sisense\PrismWeb\vnext\src\features\users\users.factory.js 2) Search for expirationDate.setDate to find the line you need to edit. The line to edit will look like the code below: expirationDate.setDate(expirationDate.getDate() + 7); By default, users have a seven day activation period. To change this, substitute the "7" with the number of days in your desired activation time period. In the example below, the activation period is changed to 30 days. expirationDate.setDate(expirationDate.getDate() + 30); Once you've made your change, save the file and close out of it. 3) Perform an IIS reset on the Sisense server by opening the CMD (run as administrator), typing iisreset and hit enter. Your user now has 30 days to activate their account. Please note that this change will be overwritten when an upgrade is performed. Enjoy!747Views0likes0CommentsRestart all Sisense Services Using PowerShell or Force Restart All Sisense Services
These instructions are for customers using Sisense On-Prem deployments. If you are a Sisense Cloud customer please reach out to Support for help with Services. Follow the instructions below to restart all Sisense services and IIS: Log on to the server with your administrator privileges. Locate PowerShell and run it as administrator (right click -> Run as administrator). Copy and run the following commands: Get-Service | where {($_.name -like "*sisense*" ) -or ($_.Name -like "*elastic*" )} | Restart-Service iisreset /noforce Follow the instructions below to Force Stop all Sisense Services and then Start them again: Log on to the server with your administrator privileges. Locate PowerShell and run it as administrator (right click -> Run as administrator). Copy and run the following commands: Get-Service | where {($_.name -like "*sisense*" )} | Stop-Service -Force Get-Service | where {($_.name -like "*sisense*" )} | Start-Service2.9KViews0likes0CommentsReducing Windows Memory Pressure by Removing unused JVM Connectors
Reducing Windows Memory Pressure by Removing unused JVM Connectors A simple technique can reduce memory pressure on Windows Sisense versions by inactivating unused JM connectors. To do this you should search for the Sisense JVM Connectors Configuration application from the Windows Start menu. After opening the Sisense JVM Connectors Configuration application simply uncheck any connectors which are not in use and press the Save button. The amount of memory saved varies depending on which connector. On average each connector uses 2GB. So if you inactivate 5 connectors, you just saved 10 GB of memory. If you need additional help, please contact Sisense Support. PLEASE NOTE: If you cannot locate the JVM as seen in the screenshot, the executable name is "usedConnectorsEditor.bat" and it should be located in the following directory C:\Program Files\Sisense\DataConnectors\JVMContainer\bin As seen in below picture.928Views1like0CommentsPython 3 Script to Import Many ElastiCubes
Introduction The attached script is intended to loop through all ElastiCube folders in your ElastiCubeData folder and import them. Business Case This solution has a couple of possible use cases. The first is to facilitate migrating a Sisense environment with a large number of ElastiCubes. The second would be in the case of disaster recovery, where a number of ElastiCubes must be reattached. Requirements Python 3 must be installed. There should be at least one ElastiCube folder in your ElastiCubeData folder that is intended to be imported. Step 1 Download the attached Python3 Script to your ElastiCubeData folder(usually C:\ProgramData\Sisense\PrismServer\ElastiCubeData). Step 2 Open a IDLE (Python Editor) window as an Administrator. Note: You will get a prompt to allow changes for each ElastiCube unless you run as an Administrator. Step 3 Load the script into IDLE and run. This can take some time to import all ElastiCubes depending on how many you have and the size. Enjoy! Script: import os import subprocess def ImportEC(ECube): cmdline = ["cmd", "/q", "/k", "echo off"] cmd = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE) batch = b"""\ cd C:\Program Files\Sisense\Prism psm ecube attach path="C:\ProgramData\Sisense\PrismServer\ElastiCubeData\ElasticubeToImport" set /p exit """ ECubeBytes = bytes(ECube, 'utf-8') batch = batch.replace(rb'ElasticubeToImport', ECubeBytes) print(batch) cmd.stdin.write(batch) cmd.stdin.flush() result = cmd.stdout.read() EC_List = next(os.walk('.'))[1] for EC in EC_List: print('Python appending EC: ' + EC) ImportEC(EC)657Views0likes0CommentsIdentifying Sisense Services
This article is a reference point for understanding Sisense services and what their purposes are. The notes column contains supplemental information about the service. Please note that this is not an exhaustive list of how you would interact with the services for each scenario. Current List of Sisense Services (as of Version 7.2) Service Name Name Purpose Notes Sisense.Broker Broker Responsible for communication between services. All micro-services utilize the Broker service. In High Availability deployments, this service is associated with RabbitMQ as well. Ensure this service is running as it is a prerequisite for other Sisense services to function. Sisense.CLRConnectorsContainer CLR Connectors Responsible for powering CLR (.NET) connectors. You may restart this service if you're having trouble with particular CLR-based connectors. Sisense.Collector Collector - Sisense Internal Monitoring Responsible for internal monitoring and collection of data about the machine and process performance. This service must be running in order to send logs for Sisense monitoring. Sisense.Configuration Configuration Manager Responsible for powering the Configuration Manager application located at http://localhost:3030 on your Sisense webserver. Also exposes APIs for other configurations. You may restart this service if you find you're having trouble getting the Configuration Manager site to load. Sisense.Discovery Discovery Responsible for saving and storing configuration changes including those made in the Configuration Manager. Typically you will leave this service alone outside of a Sisense migration. Sisense.ECMLogs ElastiCube Manager Logging Responsible for storing build logs from ECM 1.0 and ECM 2.0, PSM, APIS, etc. There should not be any reason for starting this service outside of basic configuration changes (Sisense migration, MongoDB changes, etc). Sisense.ECMS ECM 1.0 (Desktop ElastiCube Manager) Responsible for powering the Desktop ECM. You may restart this service if you're seeing issues building or accessing ElastiCubes on the desktop. Sisense.ECMServer ECM 2.0 (Web ElastiCube Manager) Responsible for powering the Web ECM. You may restart this service if you're seeing issues building or accessing ElastiCubes within Sisense Web. Sisense.Galaxy Galaxy Controls the majority of web server logic. At this time this service also controls: Emails Reporting Export to image You may choose to restart this service in the following example cases: Many API calls that failed with "api not found". User can log in but not able to navigate through dashboards upon login. Emails are not going out. Sisense.Gateway Gateway Main entry point of the Sisense system. This service routes the API between many of the microservices. By default, this services listens on port 8081 and can be changed within the Configuration Manager. You may restart this service if you are having trouble reaching the Sisense site on your designated port. Sisense.HouseKeeper HouseKeeper This service is responsible for memory management of the Sisense application. Typically there is not a need to restart or modify this service. Sisense.Identity Identity Responsible for Sisense groups, roles, users, etc. This service is responsible for authentication and user management. You may restart this service in instances where your user is unable to log in due to errors in authentication (not related to SSO authentication). Sisense.Jobs Jobs Responsible for triggering jobs including emails after a cube build, emailed reports on a schedule, etc. Typically there is not a need to restart or modify this service outside of troubleshooting scheduled jobs. Sisense.JVMConnectorsContainer JVM Connectors Responsible for powering JVM connectors. You may restart this service if you're having trouble with particular JVM-based connectors. Sisense.Orchestrator Orchestration Utilized in HA to synchronize and distribute built ElastiCubes on the build node to the query nodes. You may restart this service changing HA configuration settings. Please consult the HA documentation before restarting this service. Sisense.Oxygen Oxygen (Licensing) Responsible for communicating with Sisense to verify licensing You may need to restart this server if you are having licensing issues within the ECM or Sisense Web. Must be restarted upon license update (along with a logout and log back in). Sisense.Plugins Plugins Management Node.js service which builds plugins. Users do not need to restart this service each time they change plugins. Plugins service watches the plugins folder for changes and runs a build mechanism automatically. Sisense.QueryProxy Query Services Provides a unified way to translate and access the backend SQL Engines. Responsible for query executions, throttling, load balancing, versioning, streaming and results formatting. This service must be running in order for query execution to work. Sisense.Repository Repository Responsible for storing Sisense metadata including: Dashboards Users Data security This service maintains connection to the files contained in MongoDB This service must be running in order for users to view dashboards and log into Sisense Web. Sisense.Shipper Shipper Responsible for shipping logs to Sisense for monitoring. Reads data from C:\ProgramData\Sisense\Monitoring\LOGS folder and ships it. This service must be running in order to send logs for Sisense monitoring. Sisense.SPE Data Prep and Streaming Engine Responsible for powering: Export to Excel Preview table Data Wizard Custom tables and custom columns You should restart this service when changing configuration settings for any of the modules power by it. Sisense.StorageManager Storage Manager Responsible for storing files for file-based connectors such as CSV and Excel files Typically no need to restart or change this service. You should restart this service when changing configuration for this component such as changing the max file size or minimum hard disk space for uploading files.. Sisense.Usage Usage Service This service is responsible for saving off Sisense usage data. Typically no need to restart or change this service. You may restart this service after a change in configuration of the Usage feature. Notable services on Sisense Version 7.1 and below: Service Name Name Purpose Notes ElasticubeManagmentService ElastiCube Management Responsible for powering the Desktop ECM. This service was replaced by Sisense.ECMS and Sisense.ECMServer. You may restart this service if you're seeing issues building or accessing ElastiCubes on the desktop. Sisense.ECMLogsPersistenceService ECM Logs Responsible for storing build logs from the Desktop ECM. This service was replaced by Sisense.ECMLogs. There should not be any reason for starting this service outside of basic configuration changes (Sisense migration, MongoDB changes, etc). Sisense.Pulse Pulse Responsible for powering pulse alerts. This service was replaced by Sisense.Broker. You may restart this service if you are experiencing issues with Pulse across the board.3.9KViews0likes0CommentsHow To Set Up Outlook365 As The Email SMTP Server
Intended Audience If you'd like to replace the stock Sisense emailing service with an Outlook365 SMTP server, this guide is for you. Steps to set up: 1. Run POST v1.0 /settings/email_server With the following body: { "host":"smtp.office365.com", "pass":"", // SMTP SERVER ADMIN PASSWORD "greetingTimeout":0, "enable":true, "socketTimeout":0, "logger":false, "requireTLS":true, "debug":false, "connectionTimeout":0, "ignoreTLS":false, "port":587, "secure":false, "user":$SMTP_SERVER_ADMIN_EMAIL // YOUR SMTP SERVER ADMIN. i.e [email protected] } 2. Open the Configuration Manager by accessing localhost:3030 (Windows) or http://{IP}:30845/app/configuration/system on Linux. 3. Click 5 times on the Sisense logo (top left hand side) to open the advanced settings. 4. Click on the Base Configuration and find the Email section. 5. Change the email.senderEmail to match the user email set in step 1: 6. Restart the Galaxy and Gateway services for the changes to take effect. Note: You should be aware that Outlook365 has a limitation of a maximum of 3 concurrent connections. This means that no more than 3 email requests can be sent the server to the recipients. If more than 3 connections are made, the following reports will fail. If you notice that some emails haven't been received, modify step 1 parameters to enable the logger and debug logs: { ... "debug": true, "logger": true, ... } And restart the Gateway and Galaxy service. Then look for the following error: `432 4.3.2 STOREDRV.ClientSubmit; Sender Thread Limit Exceeded` in the Galaxy logs. Galaxy log location in Windows: %ProgramData%/Sisense/application-logs/galaxy Galaxy log location in Linux: /var/log/sisense/{namespace}/galaxy.log1.4KViews0likes0CommentsDisable Monitoring Logs From Being Sent To Monitoring Service
If for information security reasons you'd like to disable data sent to our monitoring tools, you may disable this by doing the following: On Sisense 7.0 and Above: To disable online logs and have ONLY offline logs, comment out the last paragraph in the shipper.conf file: C:\ProgramData\Sisense\Infra\Data\Shipper\Config\shipper.conf Then restart the Sisense.Shipper service. On Sisense 6.7 and Below: Within Windows Services, stop the monitoring service (after 6.7, the services are called Sisense.Shipper and Sisense.Collector. Before 6.7, there's only one service called Sisense.Monitoring). Using a text editor, open the file C:\Program Files\Sisense\Monitoring Agent\logstash\bin\infraAgent.exe.config Set the run_shipper_outer key to false: 4. Save the file. 5. Start services that were stopped in step 1.710Views0likes0Comments