An universal way on how to collect logs in EKS clusters
Introduction This guide provides step-by-step instructions on how to collect logs in EKS clusters. By following these steps, logs will be copied to a storage location accessible through the Sisense web UI. This approach avoids the need to explain the process to customers, making it more convenient to request logs for troubleshooting and analysis. Prerequisites Access to the control plane to execute kubectl commands. Appropriate permissions to access Sisense web UI. Steps 1. Connect to the Control Plane Before executing any kubectl commands, ensure that you are connected to the Kubernetes control plane. 2. Copy the .log file to a Temporary Location Execute the following command to copy the desired *.log file to a temporary location: kubectl exec -it -n sisense $(kubectl get po -n sisense -l k8s-app=fluentd -o custom-columns=":metadata.name") -- cp /var/log/sisense/sisense/identity.log /tmp/identity.log 3. Copy the .log File from the Temporary Location to the Current Directory. After copying the log file to the temporary location, use the following command to copy it from the temporary location to the current directory: kubectl cp -n sisense $(kubectl get po -n sisense -l k8s-app=fluentd -o custom-columns=":metadata.name"):/tmp/identity.log ./identity.log 4. Copy the .log File to the Storage Folder Now, copy the *.log file from the current directory to the storage folder, which is accessible from the Sisense web UI: kubectl cp -n sisense ./identity.log sisense/$(kubectl get pod -n sisense -l app=management -o jsonpath='{.items[0].metadata.name}'):/opt/sisense/storage/identity0930.log Note: In the above command, replace /var/log/sisense/sisense/identity.log in the first step with the desired log file name, and change identity0930.log in the latest step with the desired log file name. 5. Access Logs from Sisense Web UI The identity0930.log file is now copied to the storage location and can be accessed and downloaded from the Sisense web UI. Follow these steps to access it: Log in to the Sisense web UI. Navigate to the "Admin" tab. Select "System Management" from the options. Click on "File Management." Look for the identity0930.log file and access or download it as needed. Additional Notes In the steps above, we copied the identity.log file and named it identity0930.log in the last step. You can adjust the naming convention as required. Remember to replace the filename in the commands with the desired log file name when working with different logs. Conclusion Following the steps outlined in this article, you can efficiently request logs from customers using Sisense without the need for them to find and access the logs manually. This streamlined process enhances troubleshooting and data analysis capabilities within Sisense for a more effective and seamless experience. Should you require further assistance, kindly reach out to Sisense Support.1.3KViews2likes0CommentsHow to rename the Jump to Dashboard (JTD) name in the right-click menu
This article provides guidance on how to customize the name displayed in the right-click menu for the Jump to Dashboard (JTD) feature in Sisense. This is particularly useful for making dashboard names more user-friendly and intuitive.590Views1like0CommentsBloX: replicating action “send me the report now”
BloX: replicating action “send me the report now” This article explains how to develop an action to send a dashboard as a report to the end user. This action replicates the action “Send me the report now”. This action is available only to the dashboard’s owner, but we will develop a BloX action, which will be available for other users. To solve this challenge you will need to do the following: Create a widget of the type ‘BloX’ on the dashboard you want to have the ability to send reports to the end-users; Create a custom action with the following code: const { widget } = payload; //Get widget’s object from the payload const internalHttp = prism.$injector.get('base.factories.internalHttp'); //Get internal factory to run API requests internalHttp({ url: '/api/v1/reporting', method: 'POST', contentType: 'application/json', data: JSON.stringify({ assetId: widget.dashboard.oid, assetType: "dashboard", recipients: [ { type: 'user', recipient: prism.user._id } ], preferences: { inline: true } }) }).then(res => console.log(res.data)); This action will have the following snippet: { "type": "sendMeReport", "title": "Send me report" } Use this snippet in the widget you have created: { "style": "", "script": "", "title": "", "showCarousel": true, "body": [], "actions": [ { "type": "sendMeReport", "title": "Send me report" } ] } Now, you have a button on the widget. After clicking this button, Sisense will send a report for the currently authenticated user. Please, note that there will be no indication of the running action. When the action is completed there will be a message in the browser’s console. Feel free to customize the logic of this action to show the end-user that the report is generating. Custom action is a powerful tool, which allows you to create custom interactions. Use this approach to create a new action easily. You can customize the proposed action by adding an indication of the running action or by using custom parameters to change format or size of the generated report (check the description of the endpoint /api/v1/reporting for additional information). Check out related content: Creating customer actions Reporting Send Reports341Views1like0CommentsAPI Rate Limiting Clarification
Hello, I'm currently working with your API and I wanted to clarify the rate limiting policy. The documentation mentions a rate limit of X requests per minute, but I'm not certain if this applies to all endpoints or if there are different limits for specific endpoints. Could you please provide clarification on whether there are different rate limits for different API endpoints, and if so, where I can find the specific limits for each endpoint? Thank you.Solved2.6KViews1like5Comments