Skip to content

InfluxDB Metrics

Metrics retrieved from Qlik Sense servers can be stored in InfluxDB. You don't have to be an InfluxDB expert to use Butler SOS, but understanding some basic concepts is helpful.

InfluxDB Concepts

Measurements are containers for related data points—similar to tables in relational databases.

Tags are indexed metadata used for filtering. Tags are always strings and are included in InfluxDB's index, making queries on tag values fast.

Fields are the actual values being measured. Fields can be strings, integers, floats, or booleans. Fields are not indexed, so queries on field values are slower than tag queries.

Common Tags

All measurements share these common tags:

Tag KeyDescription
hostHost name, taken from config file's Butler-SOS.serversToMonitor.servers[].host property
server_nameHuman friendly server name, taken from config file's Butler-SOS.serversToMonitor.servers[].serverName property
server_descriptionDescription of the server, taken from config file's Butler-SOS.serversToMonitor.servers[].serverDescription property

Additional custom tags can be defined in the config file and will be added to all measurements.


General Health Metrics

These measurements contain general health and performance data from Qlik Sense servers.

Measurement: sense_server

This measurement contains various stats from the Qlik associative engine, i.e., the part of Qlik Sense Enterprise (QSEoW) handling apps and user sessions.

Source: Qlik Sense health check API

Tags

Standard tags plus any custom tags defined in the config file.

Fields

Field KeyTypeDescription
versionstringVersion of the Sense engine
startedstringTimestamp when the Sense engine was started
engine_metadatastringVarious metadata about the Sense engine, as a JSON string. Parse using JSON functions to get individual key-value pairs

Measurement: apps

Application-related metrics from the Sense engine.

Field KeyTypeDescription
active_docsstringJSON array of app IDs for active apps. An app is active when a user is currently performing some action on it
active_docs_countintegerNumber of active apps
active_docs_namesstringApp names (as a string) of the active apps. Based on app IDs in active_docs. Requires app names feature to be enabled
in_memory_docsstringJSON array of apps currently loaded into memory, even if they do not have any open sessions or connections
in_memory_docs_countintegerNumber of in-memory apps
in_memory_docs_namesstringApp names of the in-memory apps
loaded_docsstringJSON array of apps currently loaded into memory that also have open sessions or connections
loaded_docs_countintegerNumber of loaded apps
loaded_docs_namesstringApp names of the loaded apps
callsintegerTotal number of requests made to the engine
selectionsintegerTotal number of selections made in the engine

Measurement: cache

Cache-related metrics from the Sense engine.

Field KeyTypeDescription
addedintegerNumber of cache objects added
bytes_addedintegerNumber of bytes added to cache (when available)
hitsintegerNumber of cache hits
lookupsintegerNumber of cache lookups
replacedintegerNumber of cache objects that have been replaced

Measurement: cpu

CPU usage metrics from the Sense engine.

Field KeyTypeDescription
totalfloatPercentage of the CPU used by the engine, averaged over a 30-second period. 100% = full use of one CPU

Measurement: mem

Memory-related metrics from the Sense engine.

Field KeyTypeDescription
allocatedintegerTotal amount of allocated memory (committed + reserved) from the operating system in MB
committedintegerTotal amount of committed memory for the engine process in MB
freeintegerTotal amount of free memory (minimum of free virtual and physical memory) in MB

Measurement: saturated

Engine saturation status.

Field KeyTypeDescription
saturatedintegerWhen the value is 1, the engine is running with high resource usage; otherwise 0

Measurement: session

Session-related metrics from the Sense engine.

Field KeyTypeDescription
activeintegerNumber of active engine sessions. A session is active when a user is currently performing some action on an app
totalintegerTotal number of engine sessions

Measurement: users

User-related metrics from the Sense engine.

Field KeyTypeDescription
activeintegerNumber of distinct active users. An active user is currently performing an action on an app
totalintegerTotal number of distinct users within the current engine sessions

User Session Metrics

These measurements contain detailed information about user sessions, retrieved from the Qlik Sense Proxy Service (QPS) API.

Measurement: user_session_summary

Aggregated view showing the number of sessions for each virtual proxy.

Tags

Tag KeyDescription
hostHost name of the Sense server from which the data was retrieved
server_nameHuman friendly server name
server_descriptionDescription of the server
virtual_proxyName of the virtual proxy for which session count is reported

Fields

Field KeyTypeDescription
session_countintegerNumber of active sessions for the virtual proxy
session_user_id_liststringComma-separated list of user IDs with active sessions

Measurement: user_session_list

Provides a list of active sessions per user.

Tags

Tag KeyDescription
hostHost name of the Sense server
server_nameHuman friendly server name
server_descriptionDescription of the server
user_idUser ID from Qlik Sense's user directory. Format: DOMAIN\user_id
virtual_proxyName of the virtual proxy

Fields

Field KeyTypeDescription
session_countintegerNumber of active sessions for the user on the virtual proxy
sessionsstringComma-separated list of session IDs

Measurement: user_session_details

Detailed per-session data.

Tags

Tag KeyDescription
hostHost name of the Sense server
server_nameHuman friendly server name
server_descriptionDescription of the server
user_idUser ID from Qlik Sense's user directory
virtual_proxyName of the virtual proxy
session_idUnique identifier for the session

Fields

Field KeyTypeDescription
session_idstringUnique identifier for the session
user_idstringUser's complete ID

Event Counters

Measurement: event_count

Aggregated event counters.

Field KeyTypeDescription
event_countintegerNumber of events counted in the measurement interval

User Events

Measurement: user_events

Real-time user activity events (requires log appender configuration on Sense servers).

Tags

Tag KeyDescription
hostHost name of the Sense server
event_actionType of user event: Start session, Stop session, Open connection, Close connection
userFullUser identification in DIRECTORY\userid format
userDirectoryUser's directory
userIdUser's ID
originWhere in Qlik Sense the event originated

Fields

Field KeyTypeDescription
userFullstringUser identification in DIRECTORY\userid format
userDirectorystringUser's directory
userIdstringUser's ID

Log Events

Log events are captured in real-time from Qlik Sense services. Different Sense services produce different types of log events.

Measurement: log_event

Log events from various Sense services (proxy, scheduler, repository, engine).

Common Tags (All Sources)

Tag KeyDescription
hostHost name as reported in Qlik Sense's log files
levelSense log level: WARN, ERROR, FATAL
log_rowRow number in Sense log file where the event can be found
sourceSource system within Sense: qseow-scheduler, qseow-proxy, qseow-repository, qseow-engine
subsystemSubsystem where the event originated. More granular than source

Common Fields (All Sources)

Field KeyTypeDescription
messagestringDescription of what the event is about
raw_eventstringThe raw event message as received from QSEoW
commandstringDescription of what caused the event
contextstringContext in which the event occurred. Not available if none
exception_messagestringIf a serious problem/exception occurs, the associated message is available here

Source: Proxy Service

Proxy log events include these additional tags:

Tag KeyDescription
result_codeResult code as reported by the Sense source system
user_directorySense user directory of the user causing the event
user_idSense user ID for the user
user_fullCombination of user_directory and user_id

Additional fields:

Field KeyDescription
originPart of the proxy service the event originated from
task_idTask ID (if a task is involved in the event)
task_nameTask name (if a task is involved)
ts_isoTimestamp (ISO format) when the event occurred
ts_localEvent timestamp (time format of Sense server)
windows_userWindows account used to run the proxy service

Source: Scheduler Service

Scheduler log events include these additional tags:

Tag KeyDescription
task_idTask ID for tasks related to the event
task_nameTask name
app_idApplication ID (if an app is involved)
app_nameApplication name
execution_idExecution ID for this particular task execution

Source: Repository Service

Repository log events include these additional tags:

Tag KeyDescription
result_codeResult code as reported by the Sense source system
user_directorySense user directory
user_idSense user ID
user_fullCombination of user_directory and user_id

Source: Engine Service (Errors and Warnings)

Engine log events include these additional tags:

Tag KeyDescription
result_codeResult code as reported by the Sense source system
user_directorySense user directory
user_idSense user ID
user_fullCombination of user_directory and user_id
windows_userWindows account used to run the engine service
task_idTask ID (if a task is involved)
task_nameTask name
app_idApplication ID (if an app is involved)
app_nameApplication name
engine_exe_versionVersion of the QIX engine executable

Additional fields:

Field KeyDescription
session_idEngine session ID

Engine Performance Log Events

Performance log events capture detailed performance data from the associative/QIX engine. These can be filtered by Butler SOS.

Accepted Performance Events

Tag KeyDescription
hostThe hostname of the Sense server
levelAlways INFO for performance log events
sourceAlways qseow-qix-perf
log_rowLog row number
subsystemAlways QixPerformance.Engine.Engine
methodEngine method: Global::GetProgress, GenericObject::GetLayout, Global::OpenApp, etc.
object_typeObject type: table, barchart, sheet, CurrentSelection, etc.
proxy_session_idProxy session ID (GUID for user sessions, 0 for internal work)
session_idEngine session ID
user_fullFull user name: <User directory>\<user id>
user_directoryUser directory
user_idUser ID
app_idApp GUID
app_nameApp name (if available)
object_idApp object ID
Field KeyTypeDescription
app_idstringApp GUID
process_timefloatTime needed to process the request (milliseconds)
work_timefloatTime the request did actual work (milliseconds)
lock_timefloatTime waiting for internal lock (milliseconds)
validate_timefloatTime used for validation (milliseconds)
traverse_timefloatTime for traverse part of calculation (milliseconds)
handlestringInterface ID that handled the request
net_ramintegerMemory used for calculation (bytes)
peak_ramintegerPeak memory used for calculation (bytes)
raw_eventJSONRaw event data in JSON format

More details on performance metrics can be found in the Qlik Sense logging documentation.

Rejected Performance Events

For rejected performance log events, counters track how many events were rejected:

Tag KeyDescription
sourceAlways qseow-qix-perf
app_idApp GUID
app_nameApp name (if available)
methodEngine method
object_typeObject type
Field KeyTypeDescription
counterintegerNumber of rejected performance log events
process_timefloatTime needed to process the request (milliseconds)

Log Database Metrics

Measurement: log_event_logdb

Metrics retrieved from the Sense log database (Postgres).

Tags

Tag KeyDescription
hostHost name from config file
server_nameHuman friendly server name
server_descriptionServer description
log_levelThe logging level (ERROR, WARNING, INFO, etc.)
source_processWhich Sense service the log event originated in

Fields

Field KeyTypeDescription
messagestringLog entry as retrieved from the Sense log database

Butler SOS Metrics

Measurement: butlersos_memory_usage

Metrics about Butler SOS' own resource usage. More info on these metrics is available here.

Field KeyTypeDescription
heap_totalfloatTotal size of the allocated heap
heap_usedfloatActual memory used during execution of Butler SOS
process_memoryfloatTotal memory allocated for Butler SOS execution

Released under the MIT License.