Installing/Updating Sisense Internal Monitoring

This topic describes how to install or update the Sisense Internal Monitoring app (which is a Sisense custom Prometheus stack Helm chart).

Prerequisites

See the prerequisites in Manually Installing Sisense Helm Chart - Single Node or Manually Installing Sisense Helm Chart - Multinode/Cloud.

Note:

The Sisense Helm chart cannot be installed if your are Installing Sisense without ClusterVisiblity.

Adding the Helm Repo and Searching for the Helm Chart

  1. If needed, add the Sisense Helm repo, and run a quick update to sync with the remote repo:

    Copy
    helm repo add sisense-fusion https://data.sisense.com/linux/helm/charts/fusion
    helm repo update
  2. You can search the available chart version via one of the following commands:

Copy
# Only official versions
helm search repo sisense-fusion/kube-prometheus-stack -l

# Including non-official/development/customized versions
helm search repo sisense-fusion/kube-prometheus-stack -l

Upgrading Internal Monitoring

If you already have your own predefined prom-values.yaml file which you used from previous installations, and you are upgrading the Internal Monitoring version, perform the following command:

Copy
# Set your values file name, examples below:
PROM_VALUES=prom-values-single.yaml
# PROM_VALUES=prom-values-multi.yaml

vi ${PROM_VALUES}
# Change the value of "version:" into the new Sisense version, then save and and exit
# Example:
# version: L2024.1.0.51

# Set your monitoring namespace
MONITORING_NAMESPACE=monitoring

# Set the version in format Sever 2
SISENSE_SEMVER=<Version in format Semver 2>
# Example for L2024.1.0.51:
# SISENSE_SEMVER=2024.1.051

helm upgrade --namespace=${MONITORING_NAMESPACE} sisense-prom-operator sisense-fusion/kube-prometheus-stack --version ${SISENSE_SEMVER} -f ${PROM_VALUES}

You can now continue with the Sisense installation/upgrade.

First Installation

Persistent Volume Pre-configuration Before First Installation on a Single-node Environment

If you are installing on a Multi-node cluster, skip this section and proceed to Values Configuration.

Otherwise, for Single-node, before first installation:

  1. Make sure that you have the AlertManager and Prometheus Persistent Volumes (PV) below with the following commands:

Copy
kubectl get pv alertmanager-db --no-headers --ignore-not-found
kubectl get pv prometheus-db-prometheus-0 --no-headers --ignore-not-found
  1. If either of them are missing (both are required):

    1. Download the following file(s) for whichever PV is missing:

    1. For the missing PV(s), create it/them with the following commands:

      Copy
      kubectl apply -f alertmanager-pv.yaml
      kubectl apply -f prometheus-pv.yaml

Values Configuration

  1. Download the relevant values file into your server:

  1. Edit the values as needed (for example: securityContext parameters, such as runAsUser, or runAsGroup, etc…).

    The parameters below must be set as follows:

Single-node Installation Parameters

For Single-node installation:

  1. Replace <Your k8s node name> with your Kubernetes node name (this appears in 3 locations in the file).

  1. Replace <Sisense version> with the Sisense version of your installation (Example: L2024.1.0.51).

Examples:

Copy
# Repeated in 3 locations in the file
nodeSelector:
  kubernetes.io/hostname: <Your k8s node name>
  #kubernetes.io/hostname: mynodename

# Repeated just once
externalLabels:
  version: <Sisense version>
  #version: L2024.1.0.51

Multi-node Installation Parameters

For Multi-node installation:

  1. Replace <Your RWO StorageClass name> with your RWO StorageClass name (this appears in 2 locations in the file).

  2. Replace <Sisense namespace> with the namespace where Sisense is going to be installed (usually sisense; this appears in 3 locations in the file).

  3. Replace <Sisense version> with the Sisense version of your installation (Example: L2024.1.0.51).

Examples:

Copy
# Repeated in 2 locations in the file
volumeClaimTemplate:
  spec:
    accessModes: ["ReadWriteOnce"]
    storageClassName: <Your RWO StorageClass name>
    #storageClassName: gp3

# Repeated just once
externalLabels:
  version: <Sisense version>
  #version: L2024.1.0.51

# In below, switch "<Sisense namespace>" to the actual namespace name
affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
        - matchExpressions:
          # key: node-sisense-Application
          - key: node-<Sisense namespace>-Application
            operator: In
            values:
            - "true"
        - matchExpressions:
          # key: node-sisense-Query
          - key: node-<Sisense namespace>-Query
            operator: In
            values:
            - "true"
        - matchExpressions:
          # key: node-sisense-Build
          - key: node-<Sisense namespace>-Build
            operator: In
            values:
            - "true"

Installation

  1. After you have completed the pre-configuration above, install the Internal Monitoring app using the following command:

Copy
# Set your values file name, examples below:
PROM_VALUES=prom-values-single.yaml
# PROM_VALUES=prom-values-multi.yaml

# Set your monitoring namespace
MONITORING_NAMESPACE=monitoring

# Set the version in format Sever 2
SISENSE_SEMVER=<Version in format Semver 2>
# Example for L2024.1.0.51:
# SISENSE_SEMVER=2024.1.051

helm upgrade --namespace=${MONITORING_NAMESPACE} sisense-prom-operator sisense-fusion/kube-prometheus-stack \
  --version ${SISENSE_SEMVER} -f ${PROM_VALUES} --install --create-namespace
  1. Make sure that the Prometheus pods are running:

Copy
kubectl -n ${MONITORING_NAMESPACE} get pods

You can now continue with the Sisense installation/upgrade.