Services

The Qlik Sense services run as Microsoft Windows services, which you can deploy on a single server or on separate server nodes that have dedicated roles in a Qlik Sense site. For example, you could deploy a scheduler node that only runs the scheduler service and manages the reloads of apps.

The Qlik Sense services are as follows.

Qlik Sense Repository Service (QRS)

Required by all Qlik Sense services to run and serve apps, and connects to the repository database. The Qlik Sense Repository Service manages persistence, licensing, security, and service configuration data. The QRS is needed by all other Qlik Sense services to run and serve apps. In a multi-node site, one instance of the Qlik Sense Repository Service (QRS) runs on each node, connecting it to the shared repository database.

In addition, the QRS stores the app structures and the paths to the binary files. The app data is stored as .qvf files in the file share.

Paths

The following table lists the paths used by the Qlik Sense Repository Service (QRS).

Executable %ProgramFiles%\Qlik\Sense\Repository\Repository.exe
Data %ProgramData%\Qlik\Sense\Repository
Logs

%ProgramData%\Qlik\Sense\Log\Repository

See: Logging

Repository database

In a default Qlik Sense installation, the repository database is an instance of PostgreSQL installed locally that runs its own database cluster specifically for the repository.

All files related to the repository database in a default Qlik Sense installation are stored in the following folder:

%ProgramData%\Qlik\Sense\Repository\PostgreSQL

Bootstrap mode

You can use the following parameters to start the Qlik Sense Repository Service in bootstrap mode when you need to deploy Qlik Sense with a service account that does not have administrator privileges.

See: Changing the user account to run Qlik Sense services

  • -bootstrap

    Use this parameter to start Qlik Sense Repository Service in bootstrap mode.

  • -bootstrap=install

    Use this parameter to start Qlik Sense Repository Service in bootstrap mode when installing.

  • -bootstrap=uninstall

    Use this parameter when uninstalling Qlik Sense.

  • -iscentral

    Use this flag in addition to the bootstrap flag when installing or configuring a central node.

Do the following:

  1. Stop all Qlik Sense services except Qlik Sense Repository Database.
  2. Run repository.exe -bootstrap from an elevated command prompt. The Qlik Sense Service Dispatcher must be running before the Repository.exe -bootstrap is executed.
  3. Start all Qlik Sense services. You must start the Qlik Sense Service Dispatcher (QSD) before starting the Qlik Sense Repository Service (QRS).
Note: By default, when you are running Qlik Sense with an administrator account, bootstrap is executed each time the Qlik Sense services are restarted. To disable automatic bootstrap in the Qlik Sense repository, you must update the configuration file. By default, the Repository.exe.config file can be found in C:\Program Files\Qlik\Sense\Repository\ on your Qlik Sense machine. Edit the configuration file and change the value of the DisableAutomaticBootstrap key to true. Restart the Qlik Sense Repository Service using the Windows Services application to enable this new configuration.

Metrics

This section lists the metrics related to the Qlik Sense Repository Service (QRS).

Selecting the metrics to display

REST API metrics

The following metrics are available in the Performance Monitor in Microsoft Windows:

  • Number of DELETE calls
  • Number of GET calls
  • Number of POST calls
  • Number of PUT calls
  • Number of HTTP status 200 (OK)
  • Number of HTTP status 201 (Created)
  • Number of HTTP status 400 (Bad request)
  • Number of HTTP status 401 (Unauthorized)
  • Number of HTTP status 403 (Forbidden)
  • Number of HTTP status 406 (Not acceptable)
  • Number of HTTP status 409 (Conflict)
  • Number of HTTP status 415 (Unsupported media type)
  • Number of HTTP status 500 (Internal server error)
  • Number of HTTP status 503 (Service unavailable)

Qlik Sense Repository Database (QRD)

In a default Qlik Sense installation, the Qlik Sense Repository Service (QRS) uses the Qlik Sense Repository Database (QRD) service to read and write data in the repository database. By default a PostgreSQL database is installed locally with your Qlik Sense installation otherwise you can choose to install PostgreSQL on a separate dedicated server.

Paths

The following table lists the paths used by the Qlik Sense Repository Database (QRD) service.

Executable

In a default Qlik Sense installation, the repository database is an instance of PostgreSQL that creates its own database cluster.

The following folder contains the contains the PostgreSQL executable file for the QRD:

%ProgramFiles%\Qlik\Sense\Repository\PostgreSQL\<database version>\bin

Data %ProgramData%\Qlik\Sense\Repository\PostgreSQL
Logs There are no logs for the QRD service. Instead see the PostgreSQL log files.

Qlik Sense Proxy Service (QPS)

The Qlik Sense Proxy Service (QPS manages site authentication, session handling, and load balancing.

On the central node in a multi-node site, you should have a dedicated Qlik Sense Proxy Service (QPS) for the Qlik Management Console (QMC) and not for the hub.

Paths

The following table lists the paths used by the Qlik Sense Proxy Service (QPS).

Executable %ProgramFiles%\Qlik\Sense\Proxy\Proxy.exe
Data %ProgramData%\Qlik\Sense\Proxy
Logs %ProgramData%\Qlik\Sense\Log\Proxy

See: Logging

Bootstrap mode

You can use the following parameters to start the Qlik Sense Proxy Service in bootstrap mode when you need to deploy Qlik Sense with a service account that does not have administrator privileges.

See: Changing the user account to run Qlik Sense services

  • -bootstrap

    Use this parameter to start Qlik Sense Proxy Service in bootstrap mode.

  • -bootstrap=install

    Use this parameter to start Qlik Sense Proxy Service in bootstrap mode when installing.

  • -bootstrap=uninstall

    Use this parameter when uninstalling Qlik Sense.

Do the following:

  1. Stop Qlik Sense services.
  2. Run proxy.exe -bootstrap from an elevated command prompt.
  3. Start Qlik Sense services.

Metrics

This section lists the metrics related to the Qlik Sense Proxy Service (QPS). The following metrics are available in the Performance Monitor in Microsoft Windows:

See: Performance log

See: Selecting the metrics to display

  • ActiveConnections: The number of active connections from the client.
    A connection is a stream (or a socket) between a Qlik Sense client and the Qlik Sense Proxy Service (QPS). This stream is often connected to another stream, which runs from the QPS to the Qlik Sense Repository Service (QRS) or the Qlik Sense Engine Service (QES). The two streams allow the client to communicate with the QRS or the QES.
  • ActiveStreams: The number of active data streams (or sockets), either from the browser to the QPS or from the QPS to the QRS or the QES.
  • ActiveSessions: The number of active sessions in the QPS.
    A Qlik Sense user gets a proxy session when the user has been authenticated. The session is terminated after a certain period of inactivity.
  • LoadBalancingDecisions: The number of users who currently have at least one engine session.
  • PrintingLoadBalancingDecisions: The number of users who have been load balanced to the Qlik Sense Printing Service (QPR).
  • Tickets: The number of issued login tickets that have not yet been consumed.
  • ActiveClientWebsockets: The number of active WebSockets between the client and the QPS.
  • ActiveEngineWebsockets: The number of active WebSockets between the QPS and the target Qlik Sense service.

The metrics are also available as entries in the Performance log for the QPS.

Qlik Sense Scheduler Service (QSS)

The Qlik Sense Scheduler Service (QSS) manages the scheduled reloads of apps, as well as other types of reload triggering based on task events. Depending on the type of deployment, the Qlik Sense Scheduler Service runs as master, slave, or both on a node.

Master

There is only one master Qlik Sense Scheduler Service within a site and it is always located on the central node, where the master Qlik Sense Repository Service runs. The central node must have the Qlik Sense Scheduler Service installed even if more QSS nodes are added because the QSS on the central node coordinates all QSS activities within the site.

The master QSS handles all task administration. For example, which tasks to execute and when to execute a specific task. When the time comes to execute a task, the master QSS sends the task ID to a slave QSS within the site. The load balancing operation performed by the master QSS determines which slave QSS to distribute the task ID to.

When a slave QSS completes a task, it returns the task state (successful or fail) to the master QSS. The master QSS uses the task state to perform task chaining. It uses the task state to determine if other events are affected by the state of the completed task and need to be executed. You configure task chaining in the Qlik Management Console (QMC).

If the slave QSS fails to perform the task, the master QSS repeatedly requests the same or another slave QSS to perform the task until it has been completed or until the maximum number of attempts has been reached.

Slave

If a Qlik Sense Scheduler Service (QSS) runs on a rim node, the QSS is considered to be a slave QSS. When receiving a task ID from the master QSS, the slave QSS reads the task from the local repository database and executes the task. When a slave QSS completes a task, it returns the task state (successful or fail) to the master QSS.

Tasks

Tasks are used to perform a wide variety of operations and can be chained together in any arbitrary pattern. The tasks are handled by the Qlik Sense Scheduler Service (QSS) and managed in the Qlik Management Console (QMC).

Reload

The reload task is used to fully reload the data in an app from the source. Any old data is discarded.

Paths

The following table lists the paths used by the Qlik Sense Scheduler Service (QSS).

Executable %ProgramFiles%\Qlik\Sense\Scheduler\Scheduler.exe
Data -
Logs

%ProgramData%\Qlik\Sense\Log\Scheduler

See: Logging

Bootstrap mode

You can use the following parameters to start the Qlik Sense Scheduler Service in bootstrap mode when you need to deploy Qlik Sense with a service account that does not have administrator privileges.

See: Changing the user account to run Qlik Sense services

  • -bootstrap

    Use this parameter to start Qlik Sense Scheduler Service in bootstrap mode.

  • -bootstrap=install

    Use this parameter to start Qlik Sense Scheduler Service in bootstrap mode when installing.

  • -bootstrap=uninstall

    Use this parameter when uninstalling Qlik Sense.

Do the following:

  1. Stop Qlik Sense services.
  2. Run scheduler.exe -bootstrap from an elevated command prompt.
  3. Start Qlik Sense services.

Metrics

This section lists the metrics related to the Qlik Sense Scheduler Service (QSS). The following metrics are available in the Performance Monitor in Microsoft Windows:

See: Selecting the metrics to display

  • Number of connected slaves
  • Number of Qlik Sense Engine Service (QES) instances that are running on a slave (this metric is only available on the node where the QES instances run)
  • Number of running processes
  • Number of running tasks as understood by the master
  • Number of running tasks on the slave
  • Number of task messages that have been dispatched by the slave
  • Number of task messages that have been received by the master
  • Number of task retries
  • Number of tasks that have completed successfully when executed by the slave
  • Number of tasks that have failed when executed by the slave
  • Number of tasks that the master has acknowledged as completed
  • Number of tasks that the master has acknowledged as failed
  • Number of times that the settings have been updated
  • Number of tasks that have attempted to start
  • Number of tasks that have attempted to stop

Qlik Sense Engine Service (QES)

The Qlik Sense Engine Service (QES) handles all application calculations and logic. In a multi-node site, we recommend that you have a dedicated Qlik Sense Engine Service (QES) on the central node that you use specifically for the Qlik Management Console (QMC) and not for the hub.

Paths

The following table lists the paths used by the Qlik Sense Engine Service (QES).

Executable %ProgramFiles%\Qlik\Sense\Engine\Engine.exe
Data %ProgramData%\Qlik\Sense\Engine
Logs %ProgramData%\Qlik\Sense\Log\Engine

See: Logging

Configuration

%ProgramData%\Qlik\Sense\Engine\Settings.ini

This file contains the QES settings. The file is created when the service first runs.

Qlik Logging Service

The Qlik Sense services (proxy, scheduler, repository, and engine) transfer log messages to the Qlik Logging Service. The Qlik Logging Service centralizes the logging by collecting all the messages and inserting them into the PostgreSQL database.

Qlik Sense Printing Service (QPR)

This service manages export in Qlik Sense. In a multi-node site, one instance of the Qlik Sense Printing Service (QPR) runs on each node. Export requests from clients are directed to the printing services in the multi-node site using round robin load balancing. If the first export request is load balanced to the QPR on node 1, the second export request is load balanced to the QPR on node 2, and so on.

Paths

The following table lists the paths used by the Qlik Sense Printing Service (QPR).

Executable %ProgramFiles%\Qlik\Sense\Printing\Printing.exe
Data %ProgramData%\Qlik\Sense\Printing
Logs

%ProgramData%\Qlik\Sense\Log\Printing

See: Logging

Qlik Sense Service Dispatcher (QSD)

This is a service controller used to launch and manage the following Qlik Sense services:

  • Broker Service: acts as an interface to and an intermediary between services started by the Qlik Sense Service Dispatcher(QSD). The service is launched and managed by the Qlik Sense Service Dispatcher (QSD) when required.
  • Data Profiling Service: is used to access and modify the app load data model. It communicates directly with the Qlik Sense Engine Service (QES) on the node. The service is launched and managed by the Qlik Sense Service Dispatcher (QSD) when required.
  • Hub Service: controls which content a user is allowed to see based on their access rights as defined in the QMC. The service is launched and managed by the Qlik Sense Service Dispatcher(QSD) when required.
  • Migration Service: ensures that your apps can be used in the currently installed version of Qlik Sense. This service only runs on the central node in a site. The service is launched and managed by the Qlik Sense Service Dispatcher (QSD) when required.
  • Web Extension Service: is used to control web extensions such as visualizations, mashups, and widgets. The service is launched and managed by the Qlik Sense Service Dispatcher (QSD) when required.
  • Capability Service: is used to handle Qlik Sense .NET SDK system feature configuration.
  • Converter Service: is used by the QlikView converter tool.
  • On-demand App Service: generates on-demand apps that load subsets of data from very large data sets.
  • Hybrid Deployment Service (HDS): manages target deployments and credentials related to hybrid connectivity between environments, specifically the distribution of apps from the QSE.
  • Hybrid Setup Console (HSC): serves the HSC user interface which is used to configure target deployments and app distribution.
  • App Distribution Service (ADS): distributes apps and associated metadata to defined distribution targets, based on policy based app distribution rules.
  • Precedents Service: examines and captures precedents in the data models and field use in charts from apps for use in insight advisor. The service also captures user-learned feedback from insight advisor.

Paths

The following table lists the paths used by the Qlik Sense Service Dispatcher (QSD) and the services that are launched and managed by the QSD.

Executables
  • QSD: %ProgramFiles%\Qlik\Sense\ServiceDispatcher\ServiceDispatcher.exe
  • Services that are launched and managed by the QSD: %ProgramFiles%\Qlik\Sense\ServiceDispatcher\node\node.exe
Logs
  • Broker Service: %ProgramData%\Qlik\Sense\Log\BrokerService
  • Data Profiling Service: %ProgramData%\Qlik\Sense\Log\DataProfiling
  • Hub Service: %ProgramData%\Qlik\Sense\Log\HubService
  • Migration Service: %ProgramData%\Qlik\Sense\Log\AppMigration
  • Web Extension Service: %ProgramData%\Qlik\Sense\Log\WebExtensionService
  • On-demand App Service: %ProgramData%\Qlik\Sense\Log\OdagService
  • Capability Service: %ProgramData%\Qlik\Sense\Log\CapabilityService
  • Hybrid Deployment Service: %ProgramData%\Qlik\Sense\Log\HybridDeploymentService

  • Hybrid Setup Console: %ProgramData%\Qlik\Sense\Log\HybridSetupConsole

  • App Distribution Service: %ProgramData%\Qlik\Sense\Log\AppDistributionService

  • Precedents Service: %ProgramData%\Qlik\Sense\Log\PrecedentsService

See: Logging

Qlik License Service

The Qlik License Service is included in Qlik Sense EnterpriseFebruary 2019 and later releases and is used when Qlik Sense is activated using a signed key license. The Qlik License Service stores the information about the license, and communicates with a License Back-end Service, hosted by Qlik, for product activations and entitlement management. Port 443 is used for accessing the License Back-end Service and retrieving license information.

In a Qlik Sense Enterprise on Windows multi-node deployment, the Qlik License Service is installed on every node. You can manage the status of the Qlik License Service by starting and stopping the Qlik Sense Service Dispatcher, listed in the list of services running in the Windows machine.

Deployment examples of nodes running Qlik Sense services

You can deploy Qlik Sense services to run individually or combine them on dedicated server nodes.

  • Complete: A single-node deployment that includes all Qlik Sense services.
  • Consumer node: A node that delivers Qlik Sense apps to end users. It includes the Qlik Sense Engine Service service, the Qlik Sense Proxy Service, and the Qlik Repository service.
  • Proxy node: A node that manages Qlik Sense authentication, session handling, and load balancing. It includes the QRS, and the QPS services.
  • Engine node: A node that provides the analytical power of Qlik Sense to the client. It includes the QRS, and the QES services.
  • Proxy and engine node: A combined node that includes the QRS, QPS, and QES service.
  • Scheduler: A node that manages scheduled reloads of Qlik Sense apps and other types of reload triggering. It includes the QRS, QSS, and QES services. In order to perform reloads the QSS requires the QES to be running on the same node.

Service dependencies

This section describes the dependencies related to the Qlik Sense services (for example, dependencies on the operating system and other software).

Repository database

The Qlik Sense Repository Service (QRS) connects to the repository database to store and retrieve data necessary for the Qlik Sense services on the node on which the QRS is running. In a default Qlik Sense installation, the Qlik Sense Repository Service (QRS) uses the Qlik Sense Repository Database (QRD) service to read and write data in the repository database. A PostgreSQL database is used by default.

File share

The file share stores the binary files for the Qlik Sense apps.

Directory service

The QRS and Qlik Sense Proxy Service (QPS) communicate with a configured directory service (for example, Microsoft Active Directory) using, for example, LDAP or ODBC.

Start and restart of services

When a node starts up, the Qlik Sense services are started automatically.

Start-up behavior

The Qlik Sense Repository Database (QRD) and Qlik Sense Repository Service (QRS) are started first.

When any other Qlik Sense service starts, it contacts its local QRS to get configuration parameters. If the service has not been configured to run, it periodically checks back with the local QRS.

Manual start

If you need to start services manually, start them in the following order:

  1. Qlik Sense Repository Database (QRD)
  2. Qlik Sense logging service

  3. Qlik Sense Service Dispatcher (QSD)
  4. Qlik Sense Repository Service (QRS)
  5. Qlik Sense Proxy Service (QPS), Qlik Sense Engine Service (QES), Qlik Sense Scheduler Service (QSS), and Qlik Sense Printing Service (QPR) in no specific order

The start-up order is important. During start-up the QRS must be able to contact the Qlik License Service, which is managed by the QSD. The other services are dependent on the QRS. The QSD must therefore be running when the QRS is started.

Did this information help you?

Thanks for letting us know. Is there anything you'd like to tell us about this topic?

Can you tell us why it did not help you and how we can improve it?