cancel
Showing results for 
Search instead for 
Did you mean: 
antonvolov
Sisense Team Member
Sisense Team Member

Logging and Monitoring in Sisense

TL;DR

This article covers the basics of the logging and monitoring infrastructure in Sisense on Linux.

 

What You’ll Learn

  1. What logging and monitoring information Sisense collects
  2. What tools Sisense uses
  3. How to access logging and monitoring tools

 

Use Cases For Applying What You Will Learn 

  1. Check Sisense cluster health
  2. Access logs for troubleshooting
  3. Assess resource consumption and resource needs

 

Prerequisites

Basic knowledge of Linux; basic knowledge of Kubernetes will be a plus. 

 

General concept: Logging and monitoring in Sisense

What does Siesense do in terms of logging and monitoring?

  • Sisense collects logs from all its microservices so we could narrow down the issue if it arises and troubleshoot Sisense components one by one
  • Sisense also collects live resources monitoring information like CPU utilization, RAM consumption, disk usage, network traffic, etc. on the computers (nodes) Sisense runs on
  • In the end, Sisense makes logging and monitoring information accessible to clients and Sisense employees

 

Logging in Sisense

antonvolov_0-1664825411626.png

(image taken from https://sisenseglobal.atlassian.net/wiki/spaces/SAS/pages/20265339422/Service+-+Logging+-+Fluentd)

 

General overview of logging in Sisense:

  • Sisense collects logs from all its services
  • Sisense stores logs locally in /var/log/sisense/sisense
  • Sisense sends out logs to external storages

 

How to access service logs?

ssh to Sisense server and cd /var/log/sisense/sisense/ (on a fluentd node)

antonvolov_1-1664825411564.png

Each .log file corresponds to a particular service except for combined.log, which stores all logs in one file

 

Technologies behind logging in Sisense

  • Sisense uses fluent-bit to collect logs from Sisense services
  • Fluent-bit forwards logs to Fluentd
  • Fluentd records logs to /var/log/sisense/sisense
    • Individual logs to files, which corresponds to service containers (query.log, build.log etc.)
    • All logs to one combined.log file
  • Fluentd sends out logs to external storage to store/analyze logs:
    • To Amazon Kinesis and then to Logz.io
    • To elasticsearch

 

Where can I find logging tools and how are they configured?

  • Logging tools are installed in the Sisense namespace: 

kubectl -n sisense get all | grep fluent

  • Fluent-bit and fluentd configuration is done via configmaps:

kubectl -n sisense get cm | grep fluent 

 

Is there a way to access logs externally and not directly in the system?

Yes, Sisense by default uses Logz.io for these purposes, but you also have the option to use Loki and Elasticsearch. The external log provider may be set during the installation or during a Sisense upgrade. 

Use configuration file: "./kubespray/extra_values/installer/installer-values.yaml" from the installation package to set external log provider: 

  • LogzIO: set by default
  • Loki: open the configuration file "./kubespray/extra_values/installer/installer-values.yaml" and set the configuration to "loki.enabled: true". Run the installation/upgrade
  • Elasticsearch: open the configuration file "./kubespray/extra_values/installer/installer-values.yaml" and set the configuration "external_log_provider: elasticsearch". Run the installation/upgrade

 

antonvolov_2-1664825411182.png

 

Monitoring in Sisense

antonvolov_3-1664825411167.png

 

(image taken from https://github.com/srinisbook/Prometheus-grafana)

 

General concepts of monitoring in Sisense:

  • Sisense collects monitoring information like CPU utilization, RAM consumption, disk usage, network traffic, etc. directly from the computers (nodes) Sisense runs on
  • Sisense stores monitoring information in a database
  • Sisense makes the monitoring information available to users by providing a graphical interpretation of the monitoring data 

 

How to access monitoring data?

Log into the Sisense application and go to Admin > System Management > Monitoring

 

antonvolov_4-1664825411158.png

 

The monitoring app, Grafana, will open in a separate tab.

antonvolov_5-1664825411546.png

 

How to switch between monitoring data?

Click on Dashboards in the left menu and select “Browse”.

antonvolov_6-1664825411272.png

You will see the list of available dashboards, each with their corresponding metrics

antonvolov_7-1664825411281.png

 

Technologies behind monitoring in Sisense

  • Sisense uses Prometheus to collect the monitoring data
  • Prometheus:
    • collects metrics
    • executes rules to filter out metrics
    • saves results to the database
  • Sisense uses Grafana to present monitoring data
  • Grafana connects to the Prometheus database, reads metrics, and presents data on dashboards with widgets similar to Sisense dashboards

 

Where can I find logging tools and how are they configured?

  • Monitoring tools are installed in the Monitoring namespace:

kubectl -n monitoring get all

 

Additional reading about Sisense Logging/Monitoring:

If you need additional help, please contact Sisense Support or create a Support Case

 

Version history
Last update:
‎10-03-2022 12:47 PM
Updated by:
Contributors
Community Toolbox

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

Need additional support?:

Community Support Request