Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!

Qlik Cloud Monitoring Apps Workflow Guide

100% helpful (9/9)
cancel
Showing results for 
Search instead for 
Did you mean: 
Sonja_Bauernfeind
Digital Support
Digital Support

Qlik Cloud Monitoring Apps Workflow Guide

Last Update:

May 23, 2024 9:58:52 AM

Updated By:

Sonja_Bauernfeind

Created date:

Nov 10, 2023 5:18:18 AM

Installing, upgrading, and managing the Qlik Cloud Monitoring Apps has just gotten a whole lot easier! With two new Qlik Application Automation templates coupled with Qlik Data Alerts, you can now: 

  1. Install/update the apps with a fully guided, click-through installer using an out-of-the-box Qlik Application Automation template. 
  2. Programmatically rotate the API key required for the data connection on a schedule using an out-of-the-box Qlik Application Automation template. This ensures the data connection is always operational. 
  3. Get alerted whenever a new version of a monitoring app is available using Qlik Data Alerts. Repeat Step 1 to complete the update. 

The above allows you to deploy the monitoring apps to your tenant with a hands-off approach. Dive into the individual components below. 

Some monitoring apps are designed for specific Qlik Cloud subscription types. Refer to the compatibility matrix within the Qlik Cloud Monitoring Apps repository.

Content:

 

Part One: 'Qlik Cloud Monitoring Apps Installer' template overview


installer thumb.png

This automation template is a fully guided installer/updater for the Qlik Cloud Monitoring Applications, including but not limited to the App Analyzer, Entitlement Analyzer, Reload Analyzer, and Access Evaluator applications. Leverage this automation template to quickly and easily install and update these or a subset of these applications with all their dependencies. The applications themselves are community-supported; and, they are provided through Qlik's Open-Source Software GitHub and thus are subject to Qlik's open-source guidelines and policies.

For more information, refer to the GitHub repository.

 

Features

  • Can install/upgrade all or select apps.
  • Can create or leverage existing spaces.
  • Programmatically handles pre-requisite settings, roles, and entitlements.
  • Installs latest versions from Qlik’s OSS GitHub.
  • Creates required API key.
  • Creates required analytics data connection.
  • Can create custom reload schedules.
  • Can reload post-install.
  • Tags apps appropriately to track which are installed and their respective versions.
  • Supports both user and capacity-based subscriptions

Click-through installer:

clicke through installer.png

Flow:

Qlik Cloud Monitoring Apps for user-based subscriptions flow.png

Note that if the monitoring applications have been installed manually (i.e., not through this automation) then they will not be detected as existing. The automation will install new copies side-by-side. Any subsequent executions of the automation will detect the newly installed monitoring applications and check their versions, etc. This is due to the fact that the applications are tagged with "QCMA - {appName}" and "QCMA - {version}" during the installation process through the automation. Manually installed applications will not have these tags and therefore will not be detected.

 

Part Two: 'Qlik Cloud Monitoring Apps API Key Rotator' template overview

 

Qlik Cloud Monitoring Apps API Key Rotator.png

This template is intended to be used alongside the Qlik Cloud Monitoring Apps for user-based subscriptions template. This automation provides the ability to keep the API key and associated data connection used for the Qlik Cloud Monitoring Apps up to date on a scheduled basis. Simply input the space Id where the monitoring_apps_REST data connection should reside, and the automation will recreate both the API key and data connection regularly. Ensure that the cadence of the automation’s schedule is less than the expiry of the API key.

 

Configuration

Enter in the Id of the space where the monitoring_apps_REST data connection should reside.

Automation configuration example.png

Ensure that this automation is run off-hours from your scheduled monitoring application reloads so it does not disrupt the reload process.

 

 

Part Three: How to setup a Qlik Alert to know when an app is out of date

Each Qlik Cloud Monitoring App has the following two variables:

  • vLatestVersion: the latest version of the app released on Qlik’s OSS GitHub.
  • vIsLatestVersion: a Boolean of whether the app’s current version is equal to the latest version of the app released on Qlik’s OSS GitHub (1 if true, 0 if false).

With these variables, we can create a new Qlik Data Alert on a per-app basis. For each monitoring app that you want to be notified on if it falls out of date:

  1. Right-click on a chart in the app, select Alerts and then Create new alert.
  2. Clear out the defaults and provide the alert with a name such as <Monitoring App Name> is Out of Date.
  3. Select Add measure and select the fx icon to enter a custom expression. Enter the expression ’$(vLatestVersion)'. Ensure it is wrapped in single quotes, then provide the label for the expression Latest Version.
  4. Select Add measure and select the fx icon to enter a custom expression. Enter the expression $(vIsLatestVersion), then provide the label for the expression Is Latest Version.
  5. Confirm the Details & data tab resembles the following:

    set up alert configuration.png

  6. Navigate to the next tab, Conditions.
  7. Set the Measure to Is Latest Version, the Operator to Equal to, and the Value to 0. This way, if the app is not the latest version (0), it will trigger the alert.
  8. Confirm that the Conditions tab resembles the following:

    set up alert conditions review.png

  9. Navigate to the Distribution tab and confirm that the alert is evaluated When data is refreshed.

Here is an example of an alert received for the App Analyzer, showing that at this point in time, the latest version of the application is 5.1.3 and that the app is out of date:

app analyzer is out of date alert example.png

 

A Qlik Cloud Monitoring Apps Workflow Demo (Video)

 

FAQ

Q: Can I re-run the installer to check if any of the monitoring applications are able to be upgraded to a later version?

A: Yes. Run the installer, select which applications should be checked and select the space that they reside in. If any of the selected applications are not installed or are upgradeable, a prompt will appear to continue to install/upgrade for the relevant applications.

Q: What if multiple people install monitoring applications in different spaces?

A: The template scopes the applications install process to a “target” space, i.e., a shared space (if not published) or a managed space. It will scope the API key name to `QCMA – {spaceId}` of that target space. This allows the template to install/update the monitoring applications across spaces and across users. If one user installs an application to “Space A” and then another user installs a different monitoring application to “Space A”, the template will see that a data connection and associated API key (in this case from another user) exists for that space already and it will install the application leveraging those pre-existing assets.

Q: What if a new monitoring application is released? Will the template provide the ability to install that application as well?

A: Yes. The template receives the list of applications dynamically from GitHub. If a new monitoring application is released, it will become available immediately through the template.

Q: I would like to be notified whenever a new version of a monitoring applications is released. Can this template do that?

A: As per the article above, the automation templates are not responsible for notifications of whether the applications are out of date. This is achieved using Qlik Alerting on a per-application basis as described in Part 3.

Q:I have updated my application, but I noticed that it did not preserve the history. Why is that?

A: The history is preserved in the prior versions of the application’s QVDs so the data is never deleted and can be loaded into the older version. Each upgrade will generate a new set of QVDs as the data models for the applications sometimes change due to bug fixes, updates, new features, etc. If you want to preserve the history when updating, the application can be upgraded with the “Publish side-by-side” method so that the older version of the application will remain as an archival application. However note that the Qlik Alert (from Part 3) will need to be recreated and any community content that was created on the older application will not be transferred to the new application.

Labels (1)
Comments
AlexOmetis
Partner Ambassador
Partner Ambassador

@Daniel_Pilla Thanks for the reply. Let us know if you need some help alpha/beta testing it - we have some internal tenants we can try it on that won't matter if something breaks!

Daniel_Pilla
Employee
Employee

Hi @AlexOmetis,

The template has now been updated to support Capacity-based tenants! It is now named "Qlik Cloud Monitoring Apps Installer" to reflect the change. I will update all of the articles (including this one above) to reflect the change ASAP.

Thanks for the feedback!

Cheers,

hanselalf
Contributor II
Contributor II

Qlik Cloud Monitoring Apps API Key Rotator:

Connection is not set properly! Missing the entries Header and Header Value, as mentioned in App Analizer:

////////////////////////////////////////////////////////////////////////////////////////
// *Required* Configuration 
 
// IMPORTANT: To run this application, the user must be a "Tenant Admin" and must have an API Key, which requires the "Developer Role"
// and APIs to be enabled within the tenant.
 
/*
1. The name of the REST connection that will be used. You must first create a valid REST connection to any endpoint to Qlik Sense tenant.
Example: '<Space>:<Connection Name>'
        Note: ':<Connection Name>' is the relative path which will check for a connection in the current space.
Example Connection: 
URL: https://<tenant-name>.<region>.qlikcloud.com/api/v1/items
Header: "Authorization"
Header Value: "Bearer <token>"
For reference on how to connect: 
*/
////////////////////////////////////////////////////////////////////////////////////////
Daniel_Pilla
Employee
Employee

Hi @hanselalf ,

I just tested the Qlik Cloud Monitoring Apps API Key Rotator automation template and cannot replicate your issue. Note that when you go to view the connection after it is recreated, you will not see the value for the Authorization header because it is encrypted. That does not mean it is not there, however. The connection will be fully operational.

I hope this helps.

Cheers,

Karthik_Parasa
Contributor II
Contributor II

Hi @Daniel_Pilla, Is there any Monitoring App to Analyze Event logs in Qlik Cloud, as it is tough to go through each event manually.

Daniel_Pilla
Employee
Employee

Hi @Karthik_Parasa,

The "Audits" API houses a tremendous amount of event data that spans many areas of the platform. Individual monitoring applications read specific event types from that API (e.g., the Reload Analyzer reads the "com.qlik.v1.app.reload.finished" event and the upcoming Automation Analyzer will read the new "com.qlik.v1.automation.run.ended" event), but no monitoring application today reads in all of the events. That API is not built nor intended for bulk extraction.

 

It is also worth noting that you can create webhooks off of many of the events and use Qlik Application Automation to react to them how you see fit. This way, you do not have to manually scan through them. You can simply be alerted whenever a specific event occurs that you want to track.

Cheers,

galpolak
Contributor
Contributor

Hi @Daniel_Pilla 

This looks amazing, but one thing I'm missing is the ability to set the apps as "child" and all that implies like the qvd connection storage to be S3 connection

Is it available and I missed it? 😅

Or is it planned for the future? 😬

Or none of the above? 😥

DaveChannon
Employee
Employee

Hi @galpolak I have some examples which do this, I'll ping you direct. We don't plan on publishing a template yet, but we will publish the template on qlik.dev in the shorter term.

jrosas
Contributor
Contributor

Hi! I am carrying out the process and it gives the following error. My user has tenant administrator roles

{
"error": "Error calling endpoint \"Qlik Cloud Services - Get User\"",
"endpoint": {
"name": "Get User",
"datasource": "Qlik Cloud Services"
},
"request": {
"url": "https://{domain}/api/v1/users/%5B%5D",
"method": "GET"
},
"response": {
"status": 404,
"body": {
"traceId": "d4239eee9435f3ca4ee4d03eec51698f",
"errors": [
{
"code": "USERS-7",
"status": 404,
"title": "Not found"
}
]
}
},
"external error": true
}

Help!

Daniel_Pilla
Employee
Employee

Hi @jrosas ,

Could you please open a ticket with Qlik Support? It looks like rather than the user ID, an empty array '[]' is being sent.

Thank you.

Cheers,

Version history
Last update:
‎2024-05-23 09:58 AM
Updated by: