Information stored in InfluxDB
Butler stores a lot of information in InfluxDB. This page describes the different measurements and tags that Butler send to InfluxDB.
New in Butler 15.0.0
Butler 15.0.0 adds InfluxDB support for all task types in Qlik Sense:
- External program tasks (success and failure)
- User sync tasks (success and failure)
- Distribute tasks (success and failure)
- Preload tasks (success and failure)
Previously, only reload tasks were supported. See the upgrade notes for configuration changes required when upgrading.
Overview
Butler writes data to InfluxDB from multiple sources:
Task execution events (via UDP messages from Qlik Sense log appenders)
- Reload tasks (success/failure)
- External program tasks (success/failure)
- Distribute tasks (success/failure)
- Preload tasks (success/failure)
- User sync tasks (success/failure)
System monitoring (scheduled/continuous monitoring)
- Windows service status
- Qlik Sense server version information
- Qlik Sense server license status
- Qlik Sense end user access license information
- Qlik Sense license releases
- Butler memory usage and uptime
Each measurement below includes details about the tags and fields stored in InfluxDB.
Failed reload tasks
Measurement: reload_task_failed
Tags
| Tag name | Description |
|---|---|
| host | Server on which the reload took place. |
| user | Full user info (directory + ID) for user doing the reload. Typically sa_scheduler for tasks started via scheduler. For manually started (from QMC) tasks the actual user starting the task is used. |
| task_id | ID of reload task that failed. |
| task_name | Name of reload task that failed. |
| app_id | ID of Sense app whose reload failed. |
| app_name | Name of Sense app whose reload failed. |
| log_level | Log level of the Sense log file entry causing the alert |
| task_executingNodeName | Name of node where the reload task was executed. |
| task_executionStatusNum | Reload task's execution result code (numeric). |
| task_executionStatusText | Reload task's execution result (text). |
| appTag_<app tag name 1 from Qlik Sense> | App tag defined in the QMC for the Qlik Sense app. |
| appTag_<app tag name 2 from Qlik Sense> | App tag defined in the QMC for the Qlik Sense app. |
| taskTag_<reload task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense reload task. |
| taskTag_<reload task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense reload task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the reload task. |
| log_message | Raw message from the Sense log file entry that triggered the alert. |
| task_executionStartTime_json | Start time of the reload task. Stringified JSON with seconds, minutes, hours. |
| task_executionStopTime_json | Stop time of the reload task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_json | Duration of the reload task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_sec | Duration of the reload task in seconds. |
| task_executionDuration_min | Duration of the reload task in minutes. |
| task_executionDuration_h | Duration of the reload task in hours. |
| task_scriptLogSize | Size (number of characters) of the reload script log associated with the event. |
| task_scriptLogTailCount | Number of lines from the end of the reload script log that are included in the event. |
| reload_log | Last few lines of the reload script log associated with the event. |
Successful reload tasks
Measurement: reload_task_success
Tags
| Tag name | Description |
|---|---|
| host | Server on which the reload took place. |
| user | Full user info (directory + ID) for user doing the reload. Typically sa_scheduler for tasks started via scheduler. For manually started (from QMC) tasks the actual user starting the task is used. |
| task_id | ID of reload task. |
| task_name | Name of reload task. |
| app_id | ID of Sense app that was reloaded. |
| app_name | Name of Sense app that was reloaded. |
| log_level | Log level of the Sense log file entry causing the event |
| task_executingNodeName | Name of node where the reload task was executed. |
| task_executionStatusNum | Reload task's execution result code (numeric). |
| task_executionStatusText | Reload task's execution result (text). |
| appTag_<app tag name 1 from Qlik Sense> | App tag defined in the QMC for the Qlik Sense app. |
| appTag_<app tag name 2 from Qlik Sense> | App tag defined in the QMC for the Qlik Sense app. |
| taskTag_<reload task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense reload task. |
| taskTag_<reload task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense reload task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the reload task. |
| log_message | Raw message from the Sense log file entry that triggered the event. |
| task_executionStartTime_json | Start time of the reload task. Stringified JSON with seconds, minutes, hours. |
| task_executionStopTime_json | Stop time of the reload task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_json | Duration of the reload task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_sec | Duration of the reload task in seconds. |
| task_executionDuration_min | Duration of the reload task in minutes. |
| task_executionDuration_h | Duration of the reload task in hours. |
Failed external program tasks
Measurement: external_program_task_failed
Tags
| Tag name | Description |
|---|---|
| host | Server on which the external program task executed. |
| user | Full user info (directory + ID) for user running the task. Typically sa_scheduler for scheduled tasks. |
| task_id | ID of external program task that failed. |
| task_name | Name of external program task that failed. |
| log_level | Log level of the Sense log file entry causing the alert. |
| taskTag_<task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense external program task. |
| taskTag_<task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense external program task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the external program task. |
| log_message | Raw message from the Sense log file entry that triggered the event. |
Successful external program tasks
Measurement: external_program_task_success
Tags
| Tag name | Description |
|---|---|
| host | Server on which the external program task executed. |
| user | Full user info (directory + ID) for user running the task. Typically sa_scheduler for scheduled tasks. |
| task_id | ID of external program task. |
| task_name | Name of external program task. |
| log_level | Log level of the Sense log file entry causing the event. |
| task_executingNodeName | Name of node where the external program task was executed. |
| task_executionStatusNum | External program task's execution result code (numeric). |
| task_executionStatusText | External program task's execution result (text). |
| taskTag_<task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense external program task. |
| taskTag_<task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense external program task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the external program task. |
| log_message | Raw message from the Sense log file entry that triggered the event. |
| task_executionStartTime_json | Start time of the external program task. Stringified JSON with seconds, minutes, hours. |
| task_executionStopTime_json | Stop time of the external program task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_json | Duration of the external program task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_sec | Duration of the external program task in seconds. |
| task_executionDuration_min | Duration of the external program task in minutes. |
| task_executionDuration_h | Duration of the external program task in hours. |
Failed distribute tasks
Measurement: distribute_task_failed
Tags
| Tag name | Description |
|---|---|
| host | Server on which the distribute task executed. |
| user | Full user info (directory + ID) for user running the task. Typically sa_scheduler for scheduled tasks. |
| task_id | ID of distribute task that failed. |
| task_name | Name of distribute task that failed. |
| app_id | ID of Sense app associated with the distribute task (if available). |
| app_name | Name of Sense app associated with the distribute task (if available). |
| log_level | Log level of the Sense log file entry causing the alert. |
| taskTag_<task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense distribute task. |
| taskTag_<task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense distribute task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the distribute task. |
| log_message | Raw message from the Sense log file entry that triggered the event. |
Successful distribute tasks
Measurement: distribute_task_success
Tags
| Tag name | Description |
|---|---|
| host | Server on which the distribute task executed. |
| user | Full user info (directory + ID) for user running the task. Typically sa_scheduler for scheduled tasks. |
| task_id | ID of distribute task. |
| task_name | Name of distribute task. |
| app_id | ID of Sense app associated with the distribute task (if available). |
| app_name | Name of Sense app associated with the distribute task (if available). |
| log_level | Log level of the Sense log file entry causing the event. |
| task_executingNodeName | Name of node where the distribute task was executed. |
| task_executionStatusNum | Distribute task's execution result code (numeric). |
| task_executionStatusText | Distribute task's execution result (text). |
| taskTag_<task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense distribute task. |
| taskTag_<task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense distribute task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the distribute task. |
| log_message | Raw message from the Sense log file entry that triggered the event. |
| task_executionStartTime_json | Start time of the distribute task. Stringified JSON with seconds, minutes, hours. |
| task_executionStopTime_json | Stop time of the distribute task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_json | Duration of the distribute task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_sec | Duration of the distribute task in seconds. |
| task_executionDuration_min | Duration of the distribute task in minutes. |
| task_executionDuration_h | Duration of the distribute task in hours. |
Failed preload tasks
Measurement: preload_task_failed
Tags
| Tag name | Description |
|---|---|
| host | Server on which the preload task executed. |
| user | Full user info (directory + ID) for user running the task. Typically sa_scheduler for scheduled tasks. |
| task_id | ID of preload task that failed. |
| task_name | Name of preload task that failed. |
| app_id | ID of Sense app associated with the preload task (if available). |
| app_name | Name of Sense app associated with the preload task (if available). |
| log_level | Log level of the Sense log file entry causing the alert. |
| taskTag_<task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense preload task. |
| taskTag_<task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense preload task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the preload task. |
| log_message | Raw message from the Sense log file entry that triggered the event. |
Successful preload tasks
Measurement: preload_task_success
Tags
| Tag name | Description |
|---|---|
| host | Server on which the preload task executed. |
| user | Full user info (directory + ID) for user running the task. Typically sa_scheduler for scheduled tasks. |
| task_id | ID of preload task. |
| task_name | Name of preload task. |
| app_id | ID of Sense app associated with the preload task (if available). |
| app_name | Name of Sense app associated with the preload task (if available). |
| log_level | Log level of the Sense log file entry causing the event. |
| task_executingNodeName | Name of node where the preload task was executed. |
| task_executionStatusNum | Preload task's execution result code (numeric). |
| task_executionStatusText | Preload task's execution result (text). |
| taskTag_<task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense preload task. |
| taskTag_<task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense preload task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the preload task. |
| log_message | Raw message from the Sense log file entry that triggered the event. |
| task_executionStartTime_json | Start time of the preload task. Stringified JSON with seconds, minutes, hours. |
| task_executionStopTime_json | Stop time of the preload task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_json | Duration of the preload task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_sec | Duration of the preload task in seconds. |
| task_executionDuration_min | Duration of the preload task in minutes. |
| task_executionDuration_h | Duration of the preload task in hours. |
Failed user sync tasks
Measurement: user_sync_task_failed
Tags
| Tag name | Description |
|---|---|
| host | Server on which the user sync task executed. |
| user | Full user info (directory + ID) for user running the task. Typically sa_scheduler for scheduled tasks. |
| task_id | ID of user sync task that failed. |
| task_name | Name of user sync task that failed. |
| log_level | Log level of the Sense log file entry causing the alert. |
| taskTag_<task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense user sync task. |
| taskTag_<task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense user sync task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the user sync task. |
| log_message | Raw message from the Sense log file entry that triggered the event. |
Successful user sync tasks
Measurement: user_sync_task_success
Tags
| Tag name | Description |
|---|---|
| host | Server on which the user sync task executed. |
| user | Full user info (directory + ID) for user running the task. Typically sa_scheduler for scheduled tasks. |
| task_id | ID of user sync task. |
| task_name | Name of user sync task. |
| log_level | Log level of the Sense log file entry causing the event. |
| task_executingNodeName | Name of node where the user sync task was executed. |
| task_executionStatusNum | User sync task's execution result code (numeric). |
| task_executionStatusText | User sync task's execution result (text). |
| taskTag_<task tag name 1 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense user sync task. |
| taskTag_<task tag name 2 from Qlik Sense> | Task tag defined in the QMC for the Qlik Sense user sync task. |
| static-tag-1 | Static tag specified in the Butler configuration file. |
| static-tag-2 | Static tag specified in the Butler configuration file. |
Fields
| Field name | Description |
|---|---|
| log_timestamp | Timestamp of the Sense log file entry that triggered the event. |
| execution_id | Execution ID of the user sync task. |
| log_message | Raw message from the Sense log file entry that triggered the event. |
| task_executionStartTime_json | Start time of the user sync task. Stringified JSON with seconds, minutes, hours. |
| task_executionStopTime_json | Stop time of the user sync task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_json | Duration of the user sync task. Stringified JSON with seconds, minutes, hours. |
| task_executionDuration_sec | Duration of the user sync task in seconds. |
| task_executionDuration_min | Duration of the user sync task in minutes. |
| task_executionDuration_h | Duration of the user sync task in hours. |
Windows service info
Measurement: win_service_state
Tags
| Tag name | Description |
|---|---|
| butler_instance | Name of the Butler instance, from config file. |
| host | Server on which the reload took place. |
| service_name | Name of the Windows service. |
| display_name | Display name of the Windows service. |
| friendly_name | Friendly name of the Windows service (as defined in the Butler config file). |
Fields
| Field name | Description |
|---|---|
| state_num | State of the Windows service (numeric). |
| state_text | State of the Windows service (text). |
| startup_mode_num | Startup mode of the Windows service (numeric). |
| startup_mode_text | Startup mode of the Windows service (text). |
Qlik Sense server version info
Measurement: qlik_sense_version
Tags
| Tag name | Description |
|---|---|
| butler_instance | Name of the Butler instance, from Butler.influxDb.instanceTag in config file. |
In addition to above, all tags defined in Butler.qlikSenseVersion.versionMonitor.destination.influxDb.tag.static in the config file are added to each datapoint that is sent to InfluxDB.
Fields
| Field name | Description |
|---|---|
| content_hash | Content hash, as returned from the Sense version API. |
| sense_id | Sense ID, as returned from the Sense version API. This is usually on the form qliksenseserver:<version> |
| product_name | Sense product name, for example Qlik Sense |
| deployment_type | Sense deployment type, for example QlikSenseServer |
| version | Sense version, for example 14.173.4 |
| release_label | Sense release label, for example February 2024 Patch 1 |
| deprecated_product_version | Sense old/deprecated product version, for example 4.0.x |
| copyright_year_range | Sense copyright year range, for example 1993-2024 |
Qlik Sense server license info
Measurement: qlik_sense_server_license
Tags
| Tag name | Description |
|---|---|
| butler_instance | Name of the Butler instance, from Butler.influxDb.instanceTag in config file. |
In addition to above, all tags defined in Butler.qlikSenseLicense.serverLicenseMonitor.destination.influxDb.tag.static in the config file are added to each datapoint that is sent to InfluxDB.
Fields
| Field name | Description |
|---|---|
| license_expired | Whether the Sense license has expired. true/false. |
| expiry_date | Expiry date of the Sense server license, YYYY-MM-DD format. |
| days_until_expiry | Number of days until the Sense server license expires. If expiration date has passed this number will be negative. |
Qlik Sense end user access license info
The access license information returned by the Qlik Sense API is not very well documented by Qlik.
As a result it is not always clear what the different fields mean.
This is highlighted for each affected field below.
Measurement: qlik_sense_license
Each datapoint has a tag called license_type that can have the following values:
professionalanalyzeranalyzer_capacitytoken_logintoken_usertokens_available
The tags are the same for all license types, but the fields differ as follows.
Tags
| Tag name | Description |
|---|---|
| butler_instance | Name of the Butler instance, from Butler.influxDb.instanceTag in config file. |
In addition to above, all tags defined in Butler.qlikSenseLicense.licenseMonitor.destination.influxDb.tag.static in the config file are added to each datapoint that is sent to InfluxDB.
License types "professional" and "analyzer"
| Field name | Description |
|---|---|
| allocated | Number of allocated professional licenses. |
| available | Number of available professional licenses. |
| excess | Number of excess professional licenses. Unclear what this means. |
| quarantined | Number of quarantined professional licenses. |
| total | Total number of professional licenses included in the installed Qlik Sense license. |
| used | Number of professional licenses in use right now. |
License type "analyzer_capacity"
| Field name | Description |
|---|---|
| allocated_minutes | Total number of analyzer capacity minutes available in the installed Qlik Sense license. |
| unavailable_minutes | Number of analyzer capacity minutes that are currently unavailable. Unclear what this means. |
| used_minutes | Number of analyzer capacity minutes used so far this month. |
License type "token_login"
| Field name | Description |
|---|---|
| allocated_tokens | Unclear what this means. |
| token_cost | Unclear what this means. |
| unavailable_tokens | Unclear what this means. |
| used_tokens | Unclear what this means. |
License type "token_user"
| Field name | Description |
|---|---|
| allocated_tokens | Unclear what this means. |
| quarantined_tokens | Unclear what this means. |
| token_cost | Unclear what this means. |
| used_tokens | Unclear what this means. |
License type "tokens_available"
This license type contains aggregated token information.
| Field name | Description |
|---|---|
| available_tokens | Number of tokens available. Unclear what this means. |
| total_tokens | Total number of tokens included in the installed Qlik Sense license. Unclear what this means. |
Butler uptime info
Measurement: butler_memory_usage
Tags
| Tag name | Description |
|---|---|
| butler_instance | Name of the Butler instance, from config file. |
| version | Version of Butler. |
Fields
| Field name | Description |
|---|---|
| heap_used | Amount of heap memory used by Butler. |
| heap_total | Total amount of heap memory available to Butler. |
| external | Amount of external memory used by Butler. |
| process_memory | Amount of memory used by the Butler process. |
Qlik Sense license releases
Measurement: qlik_sense_license_release
This measurement tracks when Butler automatically releases unused Qlik Sense licenses based on the configured inactivity threshold.
Tags
| Tag name | Description |
|---|---|
| butler_instance | Name of the Butler instance, from Butler.influxDb.instanceTag in config file. |
| license_type | Type of license that was released (e.g., professional, analyzer). |
| user | User whose license was released, in format userDir\userId. |
In addition to above, all tags defined in Butler.qlikSenseLicense.licenseRelease.destination.influxDb.tag.static in the config file are added to each datapoint that is sent to InfluxDB.
Fields
| Field name | Description |
|---|---|
| days_since_last_use | Number of days since the license was last used by the user. |