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:
- Stop all Qlik Sense services except Qlik Sense Repository Database.
- Run repository.exe -bootstrap from an elevated command prompt. The Qlik Sense Service Dispatcher must be running before the Repository.exe -bootstrap is executed.
- Start all Qlik Sense services. You must start the Qlik Sense Service Dispatcher (QSD) before starting the Qlik Sense Repository Service (QRS).
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:
- Stop Qlik Sense services.
- Run proxy.exe -bootstrap from an elevated command prompt.
- 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 manager, worker, or both on a node.
Manager
There is only one manager Qlik Sense Scheduler Service within a site and it is always located on the central node, where the manager 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 manager 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 manager QSS sends the task ID to a worker QSS within the site. The load balancing operation performed by the manager QSS determines which worker QSS to distribute the task ID to.
When a worker QSS completes a task, it returns the task state (successful or fail) to the manager QSS. The manager 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 worker QSS fails to perform the task, the manager QSS repeatedly requests the same or another worker QSS to perform the task until it has been completed or until the maximum number of attempts has been reached.
Worker
If a Qlik Sense Scheduler Service (QSS) runs on a rim node, the QSS is considered to be a worker QSS. When receiving a task ID from the manager QSS, the worker QSS reads the task from the local repository database and executes the task. When a worker QSS completes a task, it returns the task state (successful or fail) to the manager 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:
- Stop Qlik Sense services.
- Run scheduler.exe -bootstrap from an elevated command prompt.
- 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 workers
- Number of Qlik Sense Engine Service (QES) instances that are running on a worker (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 manager
- Number of running tasks on the worker
- Number of task messages that have been dispatched by the worker
- Number of task messages that have been received by the manager
- Number of task retries
- Number of tasks that have completed successfully when executed by the worker
- Number of tasks that have failed when executed by the worker
- Number of tasks that the manager has acknowledged as completed
- Number of tasks that the manager 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 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.
- 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: 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 |
|
---|---|
Logs |
See: Logging |
Qlik License Service
The Qlik License Service is included in Qlik Sense Enterprise February 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:
- Qlik Sense Repository Database (QRD)
- Qlik Sense Service Dispatcher (QSD)
- Qlik Sense Repository Service (QRS)
- 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.