Installing/Updating Sisense Internal Monitoring
Last updated: October 21, 2026
| Tier | Deployment |
|
|
This topic describes how to install or update the Sisense Internal Monitoring app with Helm. Internal Monitoring is a Sisense build of the kube-prometheus-stack Helm chart. It deploys the Prometheus Operator, Prometheus, Alertmanager, Grafana, node-exporter, and kube-state-metrics, and collects metrics from the Sisense services.
If you install Sisense with sisense.sh, you do not need this topic: the installer installs Internal Monitoring for you when internal_monitoring: true is set in the configuration file. Use this topic when you install Sisense with Helm.
Prerequisites
-
Sisense installed with Helm, or about to be installed with Helm. See Manually Installing Sisense Helm Chart - Single Node or Installing Sisense with Helm on an Existing Cluster (Multinode/Cloud).
-
kubectlandhelmaccess to the cluster with cluster-admin rights. The chart creates cluster-scoped resources: CustomResourceDefinitions (CRDs), ClusterRoles and ClusterRoleBindings, and a node-exporter DaemonSet that runs on every node. -
On a multi-node cluster, a ReadWriteOnce (RWO) StorageClass for the Prometheus and Alertmanager volumes.
Note:
Internal Monitoring cannot be installed when you are Installing Sisense without ClusterVisibility, because it requires cluster-wide permissions. The sisense.sh installer also skips Internal Monitoring when cluster_visibility: false is set, and on OpenShift.
Release Name, Namespace, and Installation Order
-
Install the chart with the release name
sisense-prom-operatorin the namespacemonitoring. The Sisense chart relies on both names:-
The Sisense ServiceMonitors carry the label
release: sisense-prom-operator, which this Prometheus uses to select the ServiceMonitors it scrapes. -
The Prometheus service name,
sisense-prom-operator-kube-prometheus, is derived from the release name. The Sisense Grafana data source points to it. -
The Sisense validation job receives permissions in the
monitoringnamespace only if that namespace exists when Sisense is installed or upgraded.
-
-
Install or upgrade Internal Monitoring before you install or upgrade Sisense. The Sisense chart's ServiceMonitors require the Prometheus Operator CRDs that this chart installs.
Adding the Helm Repo and Searching for the Helm Chart
-
If needed, add the Sisense Helm repo, and run a quick update to sync with the remote repo:
Copyhelm repo add sisense-fusion https://data.sisense.com/linux/helm/charts/fusion
helm repo update -
Search for the available chart versions with one of the following commands. Use the chart version that matches your Sisense version (for example,
2026.4.0).
# Only official versions
helm search repo sisense-fusion/kube-prometheus-stack --versions
# Including non-official/development/customized versions
helm search repo sisense-fusion/kube-prometheus-stack --versions --devel
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.
On a Single-node environment, Prometheus and Alertmanager store their data in hostPath Persistent Volumes (PVs) under /opt/sisense on the node. Before the first installation:
-
Check whether the AlertManager and Prometheus PVs already exist:
Copykubectl get pv alertmanager-db --no-headers --ignore-not-found
kubectl get pv prometheus-db-prometheus-0 --no-headers --ignore-not-found -
If either of them is missing (both are required):
-
On the node, make sure the directories exist and are owned by the user and group that the pods run as (
runAsUserandrunAsGroupin the values file,1000by default):Copysudo mkdir -p /opt/sisense/prometheus /opt/sisense/alertmanager
sudo chown -R 1000:1000 /opt/sisense/prometheus /opt/sisense/alertmanager -
Download the file for each missing PV:
-
prometheus-pv.yaml (10 GiB,
/opt/sisense/prometheus) -
alertmanager-pv.yaml (1 GiB,
/opt/sisense/alertmanager)
-
-
Create the missing PVs:
Copykubectl apply -f alertmanager-pv.yaml
kubectl apply -f prometheus-pv.yaml
-
Values Configuration
-
Download the relevant values file into your server:
-
Values file for Single-node installation: prom-values-single.yaml
-
Values file for Multi-node installation: prom-values-multi.yml
-
-
Edit the values as needed (for example, the
securityContextparametersrunAsUser,runAsGroup, andfsGroup).The parameters below must be set as described in the following sections.
Important:
The sample values files set the Grafana administrator password to admin (grafana.adminPassword). Change it before you install.
Single-node Installation Parameters
For Single-node installation:
-
Replace
<Your k8s node name>with your Kubernetes node name, as shown bykubectl get nodes(this appears in 3 locations in the file). -
Replace
<Sisense version>with the Sisense version of your installation (for example,2026.4.0).
Examples:
# 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: 2026.4.0
Multi-node Installation Parameters
For Multi-node installation:
-
Replace
<Your RWO StorageClass name>with your RWO StorageClass name (this appears in 2 locations in the file). To use the cluster's default StorageClass, delete thestorageClassNamelines instead. -
In the
prometheus-node-exporteraffinity, the node label keys are written for a Sisense namespace namedsisense(for example,node-sisense-Application). If Sisense is installed in a different namespace, replacesisensein these keys with your namespace (this appears in 3 locations in the file). -
Replace
<Sisense version>with the Sisense version of your installation (for example,2026.4.0).
Examples:
# 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: 2026.4.0
# Replace "sisense" in the keys below with your Sisense namespace
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-sisense-Application
operator: In
values:
- "true"
- matchExpressions:
- key: node-sisense-Query
operator: In
values:
- "true"
- matchExpressions:
- key: node-sisense-Build
operator: In
values:
- "true"
Installation
-
After you have completed the pre-configuration above, install the Internal Monitoring app using the following command. The chart installs the Prometheus Operator CRDs on first installation.
Copy# Set your values file name, examples below:
PROM_VALUES=prom-values-single.yaml
# PROM_VALUES=prom-values-multi.yml
# Monitoring namespace (keep "monitoring")
MONITORING_NAMESPACE=monitoring
# Chart version, matching your Sisense version
SISENSE_SEMVER=2026.4.0
helm upgrade --install sisense-prom-operator sisense-fusion/kube-prometheus-stack \
--namespace ${MONITORING_NAMESPACE} --create-namespace \
--version ${SISENSE_SEMVER} -f ${PROM_VALUES} -
Make sure that the Prometheus pods are running:
Copykubectl -n ${MONITORING_NAMESPACE} get pods
You can now continue with the Sisense installation/upgrade.
Enabling Monitoring in the Sisense Helm Values
Internal Monitoring collects metrics from the Sisense services only after you enable monitoring in the values file of the Sisense Helm chart. Set the following values, and then install or upgrade the Sisense release with your complete values file:
-
The
metrics.enabledsettings create ServiceMonitor resources for MongoDB, RabbitMQ, and ZooKeeper. Enable them only after Internal Monitoring is installed: without the Prometheus Operator CRDs, the Sisense installation fails. -
The
grafana.datasourcesblock connects the Sisense Grafana to this Prometheus. Keep it consistent with the Grafana settings already in your values file. -
When
global.monitoring.internalistrue, the Sisense post-installation validation also waits for the Logging pods. Install the Logging chart right after Sisense. See Installing/Updating Sisense Logging Helm Chart.
Accessing Grafana and Prometheus
-
Grafana is exposed as a NodePort service on port
30300: openhttp://<node IP address>:30300and log in asadminwith the password set ingrafana.adminPassword. Make sure your firewall allows access to this port. -
Prometheus is exposed only inside the cluster (ClusterIP service, port
9090). To open it from your computer, use port forwarding:Copykubectl -n monitoring port-forward svc/sisense-prom-operator-kube-prometheus 9090:9090
Upgrading Internal Monitoring
Upgrade Internal Monitoring before you upgrade Sisense, using the values file (prom-values-single.yaml or prom-values-multi.yml) from your previous installation.
-
In your values file, change the value of
version:(underexternalLabels) to the new Sisense version. -
Update the Prometheus Operator CRDs. Helm installs CRDs only on first installation and does not upgrade them, so apply the CRDs from the new chart version:
Copy# Chart version, matching the new Sisense version
SISENSE_SEMVER=2026.4.0
helm repo update
helm pull sisense-fusion/kube-prometheus-stack --version ${SISENSE_SEMVER} --untar --untardir ./kps-${SISENSE_SEMVER}
kubectl apply --server-side --force-conflicts -f ./kps-${SISENSE_SEMVER}/kube-prometheus-stack/charts/crds/crds/ -
Upgrade the release. Always pass your complete values file, and do not use
--reuse-values: new chart versions can change default values.Copy# Set your values file name, examples below:
PROM_VALUES=prom-values-single.yaml
# PROM_VALUES=prom-values-multi.yml
MONITORING_NAMESPACE=monitoring
helm upgrade sisense-prom-operator sisense-fusion/kube-prometheus-stack \
--namespace ${MONITORING_NAMESPACE} --version ${SISENSE_SEMVER} -f ${PROM_VALUES}
You can now continue with the Sisense upgrade.