JumpToDashboard - Troubleshooting the most common configuration issues
JumpToDashboard - Troubleshooting the most common configuration issues This article provides possible solutions to the most common configuration issues with the JumpToDashboard plugin. Please review the symptom of the issue first (what error/behavior you experience with the JumpToDashboard plugin) and then follow the solution instructions. If this doesn’t solve your issue, feel free to contact our Support Team describing your issue in detail. Symptoms: A target (usually with “_drill” in prefix) dashboard disappeared for non-owner users in the left-hand side panel. Solution: this behavior could be intended and is controlled by the JumpToDashboard parameter called “hideDrilledDashboards”. To make the dashboard visible for the non-owners, please check the following: 1. Log in as a dashboard owner and find the dashboard in question in the left-hand side panel. Click the 3-dots menu and make sure it’s not hidden: 2. If it’s not hidden by the owner intentionally, then navigate to the Admin tab > System Management (under Server & Hardware) > File Management > plugins > jumpToDashboard > js > config.js and check if hideDrilledDashboards set to true. If so, then change it to false and save the changes in the config file. 3. Wait until the JumpToDashboard plugin is rebuilt under the Admin tab > Server & Hardware > Add-ons page and ask your user to refresh the browser page to check if a drill dashboard appears on the left-hand side panel. Symptoms: No "Jump to dashboard" menu appears in a widget edit mode clicking the 3-dots menu. Solution: there could be different reasons for such behavior so check the most common cases below: Double-check if the JumpToDashboard plugin is enabled under the Admin tab > Server & Hardware > Add-ons page. Make sure that both dashboards (parent and target) are based on the same ElastiCube. By default, the JumpToDashboard plugin has sameCubeRestriction: true in the config.js file that prevents the ‘jump to’ menu from appearing when a drill dashboard uses a different data source. Check that the prefix you used for the drill dashboard creation is correct. It could be changed in the config.js file. By default, it uses “_drill”: Symptoms: when clicking on a widget that should open a drill dashboard, nothing happens. Solution: in such cases, we recommend opening your browser console (for example, F12 for Chrome > Console tab) to see if there are any errors that could indicate the issue. For example, a 403 error in the console indicates that the target dashboard is not shared with the user who is experiencing the issue. To fix it, login as an owner of the drill dashboard and share it with the relevant user or group. Symptoms: when clicking on a widget to get the drill dashboard you get a 404 error. Solution: This issue usually happens when the target/drill dashboard is removed from the system. In order to fix it, please follow the steps below: Log in to the system as an owner. Find the parent widget and open it in edit mode. Click the 3 dots menu > choose the ‘Jump to dashboard’ menu and select any other dashboard that exists in the system. Press Apply and publish the changes to other users. Note: if you need just to remove a drill dashboard that doesn’t exist from this widget and not substitute it with another one, try the following: after you choose a new drill dashboard, just unselect it after that and then save the changes. If the jump to dashboard menu doesn’t appear for this widget, try to create a new temporary dashboard with “_drill” in the prefix and do the same. Symptoms: The drill dashboard is not opening for some viewers. Solution: republish the drill dashboard to make sure the updated version is delivered to all end users. Additional Resources: JumpToDashboard Plugin - How to Use and Customize1.6KViews1like2CommentsUsing Grafana to troubleshoot performance issues
Overview Out of the box, Sisense running on Linux comes with embedded monitoring tool Grafana. Sisense created a few dashboards that can be helpful in order to troubleshoot the performance issues. Grafana can be accessed from Admin page->System Settings-> Monitoring (in top right corner) or by https://your_web_site/app/grafana/ The dashboards list is available by navigating on the left-hand side menu on a 4 square button-> manage Navigation Grafana has some base controls that makes it straightforward to gather info about the system over a period of time. Within a dashboard you will see similar headers to the following: 1: Filter dropdowns - such as namespace (by default, Sisense components run in the sisense namespace), pods, and node(s). 2: Time period - can be configured to be relative or absolute (according to browser timezone) 3: Refresh - can manually toggle the refresh or set a refresh rate Within a visualization, you can hover over particular lines or click on one or more values Click and drag over a time period to zoom in on the time period for more accurate values For more information, check out the official Grafana docs - Working with Grafana dashboard UI Available Dashboards We will focus our troubleshooting using 4 dashboards: Nodes All Pods per namespace Kubernetes / Compute Resources / Namespace (Workloads) Import the dashboard 12928 Nodes Dashboard This dashboard is useful for troubleshooting overall node performance during a period of time. It can tell us what the CPU, RAM, Disk I/O, and networking usage of the machine during a period of time. Use the 'instance' drop down to select which node to examine. All Pods per Namespace Dashboard The dashboard header will allow you to filter the pods/nodes, setup the timeframe, specify refresh/autorefresh: The dashboard has 3 widgets (CPU, RAM and Network) and will show the load of a server pod-by-pod (separately) overlapping each other This is useful when checking what the RAM consumption of a pod is. Please note this dashboard not does not show overall RAM consumption by default, it will show the RAM of each pod individually. Click to check how to add Total: In Grafana (hosted on /app/grafana), under dashboard named all pods per namespace , two widgets (Cpu Usage, Memory Usage) need to add the sum of all Pods. This is mandatory information when troubleshooting resource pressure situations. Add the following metric to the memory widget: sum (container_memory_working_set_bytes{job="kubelet", pod_name=~"$pod", container_name!=""}) We can then see more clearly the state of the machine (RAM in this case): using the Pod filter you can filter all the query or build POD by typing "qry" or "bld" in a filter and selecting needed Pods: Hover over on the widget item to see the name of a POD Drag and drop to select needed timeframe: Kubernetes / Compute Resources / Namespace (Workloads) This dashboard has a lot more widgets and will show you the total usage of RAM, CPU etc Useful when need to see total usage to identify Safe-Mode trigger. For multinode see the manual This dashboard additional widgets that can be helpful in monitoring your server performance, network usage, etc. Sisense Cluster Detail Dashboard (#12928) This dashboard is included by default in many recent versions of Sisense on Linux. This dashboard has a lot of pre-set-up widgets that will show you pods, cluster, Drive, RAM etc usage. Before you try to import this dashboard, check to see if the dashboard is already in your Grafana dashboard menu. If your instance is on an older release or you would like to import a dashboard from other users, follow the steps below: 1. Click the 4 square menu icon, then Manage dashboard 2. Press on import dashboard in the top right corner 3. Specify the number of a dashboard 12928 (or other dashboard number) and press load 4. Select Logs Data source "Prometheus" 5. Click import and enjoy3.6KViews2likes0Comments- 1.4KViews0likes1Comment
Installation Linux error - Timeout when waiting for 127.0.0.1:10250 to stop
If you see the following errors in the installation log: failed: [node1] (item=10250) => {"changed": false, "elapsed": 2, "item": "10250", "msg": "Timeout when waiting for 127.0.0.1:10250 to stop."} failed: [node1] (item=10248) => {"changed": false, "elapsed": 2, "item": "10248", "msg": "Timeout when waiting for 127.0.0.1:10248 to stop."} failed: [node1] (item=10249) => {"changed": false, "elapsed": 2, "item": "10249", "msg": "Timeout when waiting for 127.0.0.1:10249 to stop."} failed: [node1] (item=10256) => {"changed": false, "elapsed": 2, "item": "10256", "msg": "Timeout when waiting for 127.0.0.1:10256 to stop."} This means that the ports for the Kubernetes cluster are closed: TCP 10248 - 10259 Kubernetes Note - these ports need to be open even if it is not a multi-node deployment.25KViews0likes0CommentsHow to check network performance in Linux
You might need to check the network performance between the nodes of the multi-node cluster or between a Linux server and a remote database on Linux. 1., Install the following tool on each node: For Ubuntu: sudo apt install iperf3 For Red Hat / CentOS / Amazon Linux: sudo yum install iperf 2. Start the server on the first node: iperf3 -s (or 'iperf -s') 3. Notice its port from the output and then launch the client on another node / another server: iperf3 -c IP_of_the_server_above -p port_of_the_server Feel free to heck the the following combination: node1 - node2 , node1 - node3 , node2 - node3 (or Sisense server - database server) And example output: ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 172.16.0.98, port 49216 [ 5] local 172.16.0.38 port 5201 connected to 172.16.0.98 port 49218 [ ID] Interval Transfer Bandwidth [ 5] 0.00-1.00 sec 105 MBytes 884 Mbits/sec [ 5] 1.00-2.00 sec 110 MBytes 922 Mbits/sec [ 5] 2.00-3.00 sec 110 MBytes 924 Mbits/sec [ 5] 3.00-4.00 sec 110 MBytes 923 Mbits/sec [ 5] 4.00-5.00 sec 110 MBytes 926 Mbits/sec [ 5] 5.00-6.00 sec 110 MBytes 919 Mbits/sec [ 5] 6.00-7.00 sec 110 MBytes 921 Mbits/sec [ 5] 7.00-8.00 sec 110 MBytes 922 Mbits/sec [ 5] 8.00-9.00 sec 110 MBytes 926 Mbits/sec [ 5] 9.00-10.00 sec 109 MBytes 913 Mbits/sec [ 5] 10.00-10.05 sec 4.99 MBytes 927 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 5] 0.00-10.05 sec 0.00 Bytes 0.00 bits/sec sender [ 5] 0.00-10.05 sec 1.07 GBytes 918 Mbits/sec receiver1.5KViews0likes0CommentsHow much RAM used by a dashboard/widget (Linux)
In order to control the RAM usage and to set up proper Data Group Limits, you would like to know how much RAM is used by a dashboard/widget. In Linux, you can use Grafana, in Windows, you can use Performance Monitor 1. Make sure that no one else is using the dashboard connected to the same cube as the dashboard that you checking 2. Open three separate tabs in your browser: - Dashboard you would like to check - Grafana - Elasticube Data Tab 3. Restart the query pod by: - In Data Tab stop the cube that is a datasource of the Dashboard - wait for 5-10 sec and start the cube (do not use the "restart" option, to get the correct result you need to stop and then start the cube) 4. In Grafana "All pods per namespace" dashboard filter for a newly created query pod of the cube by "ec-cube_Name" or by "qry" enable autorefresh for more convenience and check current usage 5. Refresh the tab with the dashboard. It will send the request to query pod to calculate the result 6. Check the RAM usage of a POD in Grafana Using the same technique you can check widget usage, to do so open the required widget by pressing on edit (pencil) button, instead of the entire dashboard and you will be able to restart only the widget page that will send the query only from a particular widget. check the video demo https://www.loom.com/share/227b3acf97dd4c4fa74156642a857258 The main reasons of the performance issues are: - Heavy formulas are used inside widgets. In this case, you can move the calculations to a cube level i.e. create a custom table/column with formulas so they would be calculated when build, and on a dashboard, you will use results and aggregations etc - Data Security. In the case of data security, the main issue is that the results of the queries that Sisense usually re-uses between customers cannot be reused. Data Security adds additional join with Data Security that makes sisense think that the query is unique and calculate result again. - Many-to-many Many-to-many The many-to-many relationship is inflating your data due to duplication resulting from the Cartesian product generated from this relationship. Sisense recommend installing the JAQLine plugin in order to inspect the connections between the tables: For more information, see the following articles: Many to Many Relationships Star Schema Multi Fact Schema Also, please check a comprehensive guide we compiled to troubleshoot the performance issue.1.1KViews0likes0CommentsHow to check Total usage of RAM in Grafana in Multinode
Using the Linux monitoring Grafana dashboard General /Kubernetes / Compute Resources / Namespace (Workloads) that is showing total memory allocation in a sever, by default, you cannot switch between nodes (build/query) and check the total load of Build or Query servers separately. Solution: 1 Edit the dashboard 2. Add new Variable 3. see settings query: label_values(kube_node_info, node) 4. Edit Memory Usage Widget 5. add filter by node node=~"$node" Now you should be able to switch between nodes5.2KViews0likes0CommentsAdding RabbitMQ Administrator CLI (rabbitmqadmin) to Container
How to enable it? Run the following script: for i in 0 1 ; do echo sisense-rabbitmq-ha-$i " "; kubectl -n sisense exec -it sisense-rabbitmq-ha-$i -c rabbitmq-ha -- bash -c "apk update;apk add python;wget http://127.0.0.1:15672/cli/rabbitmqadmin;chmod a+x rabbitmqadmin" ; done This will install the CLI in all Pods. If you only have one Pod (single node deployment), you will probably see the following error: sisense-rabbitmq-ha-1 Error from server (NotFound): pods "sisense-rabbitmq-ha-1" not found You can ignore it. (Optional) Enable bash auto-completion for the CLI After you've successfully installed rabbitmqadmin, you can enable the tab-enabled auto-completion by running: source $(./rabbitmqadmin --bash-completion) ./rabbitmqadmin [PRESS TAB + TAB]: --depth --host --sort --vhost delete help publish --format --password --sort-reverse close export import purge --help --port --username declare get list show How to print the number of messages and consumers per queue? ./rabbitmqadmin list queues name consumers messages +------------------------------------------------------------------------------------------+-----------+----------+ | name | consumers | messages | +------------------------------------------------------------------------------------------+-----------+----------+ | activities/addDirectActivity_v1 | 1 | 0 | | alerts/updateAlertsForDeletedGroups_v1 | 1 | 0 | | alerts/updateAlertsForDeletedUsers_v1 | 1 | 0 | ... More info about the commands can be found here.1.3KViews0likes0Comments