Skip to content

Commit

Permalink
12.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mountaindude committed Apr 23, 2024
1 parent 14c2481 commit cb9eb26
Show file tree
Hide file tree
Showing 19 changed files with 375 additions and 81 deletions.
7 changes: 3 additions & 4 deletions content/en/_index.html
Expand Up @@ -184,10 +184,9 @@

{{< blocks/section color="dark">}}

{{% blocks/feature icon="fa-lightbulb" title="Latest release: 12.0" %}}
Outgoing webhooks when reloads fail or Windows services stop are great.

Now they also support https, even with self-signed certificates!
{{% blocks/feature icon="fa-lightbulb" title="Latest release: 12.2" %}}
Control which access licenses will never be released, using user IDs, tags,
custom properties, user directories and other user attributes.

Available on [GitHub](https://github.com/ptarmiganlabs/butler/releases).
{{% /blocks/feature %}}
Expand Down
16 changes: 14 additions & 2 deletions content/en/docs/about/use cases/_index.md
Expand Up @@ -23,6 +23,7 @@ weight = 10
- [Extract metadata for apps](#extract-metadata-for-apps)
- [Easily post messages to Slack](#easily-post-messages-to-slack)
- [Monitor Windows services](#monitor-windows-services)
- [Monitor and release Qlik Sense user licenses](#monitor-and-release-qlik-sense-user-licenses)

## Instant notifications when reload tasks fail or are stopped

Expand All @@ -36,7 +37,7 @@ For both Slack and Teams there are options to use more flexible/configurable ale

The result is a very poweful tool for QSEoW sysadmins, who get real-time insight into what's happening with respect to task execution.

More info [here](docs/getting-started/setup/reload-alerts/).
More info [here](/docs/getting-started/setup/reload-alerts/).

## Forward failed reload events to incident management systems (New Relic, Signl4)

Expand Down Expand Up @@ -177,7 +178,7 @@ I.e. notifying specific Slack users that they have a new message.

Can for example be used to notify user(s) that an app has reloaded with new data, or that some error condition has occured.

More info [here](docs/examples/sense-demo-apps/post-to-slack/).
More info [here](/docs/examples/sense-demo-apps/post-to-slack/).

## Monitor Windows services

Expand All @@ -188,3 +189,14 @@ Monitoring here means tracking the services' state and sending messages to email

It can for example be used to get alerts if a Qlik Sense service for some reason stops.
The concept is not limited to Qlik Sense services though - any Windows service can be monitored.

## Monitor and release Qlik Sense user licenses

Butler can monitor the usage of Qlik Sense user licenses and store the data in InfluxDB, from where the license data can be visualized in Grafana.
This makes it easy to track (and alert if needed) on the number of used licenses, how many are available and when it's time to get more licenses.

Butler can also automatically release Professional and Analyzer user licenses that have been inactive for a certain period of time.
This is useful in environments where some users use Sense sporadically, for example only during certain times of the year.
In such cases it's a waste of resources to keep the license assigned to the user when it's not being used.

More info [here](/docs/concepts/qlik-sense-licenses/).
17 changes: 16 additions & 1 deletion content/en/docs/concepts/qlik sense licenses/_index.md
Expand Up @@ -26,7 +26,22 @@ Butler can automatically release Professional and Analyzer user licenses that ha
This is useful in environments where some users use Sense sporadically, for example only during certain times of the year.
In such cases it's a waste of resources to keep the license assigned to the user when it's not being used.

Butler can be configured to release the license after a certain period of inactivity, allowing it to be used by other users.
Here is how it works:

- Butler will evaluate allocation of professional and analyzer access licenses on a configurable schedule, for example once per day.
- Licenses that have not been used for a certain period of time (e.g. 30 days) will be released.
- Separate inactivity periods can be configured for professional and analyzer licenses.
- Licenses that are within quarantine period will never be released.
- It is possible to exclude certain users from having their licenses released, i.e. guarantee they will always have a license available.
Can be useful for administrators or users that need guaranteed access to Sense.
- The following criteria can be used to exclude users from having their licenses released:
- Specific users (by userDirectory\userId)
- Specific tag(s) assigned to a user.
- Specific custom property value(s) assigned to a user.
- Users belonging to a user directory.
- Users being marked as (not) active in the QMC.
- Users being marked as (not) blocked in the QMC.
- Users being marked as (not) externally removed in the QMC.

## Disclaimer

Expand Down
35 changes: 26 additions & 9 deletions content/en/docs/reference/config file/_index.md
Expand Up @@ -169,7 +169,7 @@ Butler:
# Settings for monitoring Qlik Sense licenses
qlikSenseLicense:
licenseMonitor:
enable: true
enable: false
frequency: every 6 hours # https://bunkat.github.io/later/parsers.html#text
destination:
influxDb: # Store license data in InfluxDB
Expand All @@ -179,15 +179,32 @@ Butler:
- name: foo
value: bar
licenseRelease:
enable: true
enable: false # true/false. If true, Butler will release unused licenses according to settings below
dryRun: true # true/false. If true, Butler will not actually release any licenses, just log what it would have done.
frequency: every 6 hours # https://bunkat.github.io/later/parsers.html#text
neverReleaseUsers: # Users that should never have their license released
- userDir: 'INTERNAL'
userId: 'sa_repository'
- userDir: 'INTERNAL'
userId: 'sa_api'
- userDir: 'USERDIR'
userId: 'qs_admin_account'
neverRelease: # Various ways of defining which users should never have their licenses released
user: # Users who should never have their licenses released
- userDir: 'INTERNAL'
userId: 'sa_repository'
- userDir: 'INTERNAL'
userId: 'sa_api'
- userDir: 'USERDIR'
userId: 'qs_admin_account'
tag: # Users with these tags will never have their licenses released
- License do not release
- some other tag
customProperty: # Users with these custom properties will never have their licenses released
- name: LicenseManage
value: do-not-release
userDirectory: # List of user directories whose users should never have their licenses released
- INTERNAL
- ADMIN
inactive: Ignore # Ignore/Yes/No. The value is case insensitive
# No = Don't release licenses for users marked as "Inactive=No" in the QMC
# Yes = Don't release licenses for users marked as "Inactive=Yes" in the QMC
# Ignore = Disregard this setting
blocked: Ignore # Ignore/Yes/No, No = Don't release licenses for users marked as "Blocked=No" in the QMC
removedExternally: ignore # Ignore/Yes/No, No = Don't release licenses for users marked as "Removed externally=No" in the QMC
licenseType: # License types to monitor and release
analyzer:
enable: true # Monitor and release Analyzer licenses
Expand Down
12 changes: 10 additions & 2 deletions docs/docs/about/index.xml
Expand Up @@ -71,14 +71,15 @@ This simplifies things - just download, configure and run.&lt;/p&gt;
&lt;li&gt;&lt;a href=&#34;#extract-metadata-for-apps&#34;&gt;Extract metadata for apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#easily-post-messages-to-slack&#34;&gt;Easily post messages to Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#monitor-windows-services&#34;&gt;Monitor Windows services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#monitor-and-release-qlik-sense-user-licenses&#34;&gt;Monitor and release Qlik Sense user licenses&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;instant-notifications-when-reload-tasks-fail-or-are-stopped&#34;&gt;Instant notifications when reload tasks fail or are stopped&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Information about failing tasks&lt;/strong&gt; can be sent as emails, to Microsoft Teams, Slack, as MQTT messages or outgoing webhooks.&lt;/p&gt;
&lt;p&gt;Email, Slack and MS Teams notifications all use a templating concept where HTML/Markdown template files describe what the alert message should look like. Before the alert is sent the template is populated with actual data from the failed reload task.&lt;/p&gt;
&lt;p&gt;Both subject and body of email can use the template fields.&lt;/p&gt;
&lt;p&gt;For both Slack and Teams there are options to use more flexible/configurable alert formats and more basic pre-configured alerts.&lt;/p&gt;
&lt;p&gt;The result is a very poweful tool for QSEoW sysadmins, who get real-time insight into what&amp;rsquo;s happening with respect to task execution.&lt;/p&gt;
&lt;p&gt;More info &lt;a href=&#34;docs/getting-started/setup/reload-alerts/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;More info &lt;a href=&#34;https://butler.ptarmiganlabs.com/docs/getting-started/setup/reload-alerts/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;forward-failed-reload-events-to-incident-management-systems-new-relic-signl4&#34;&gt;Forward failed reload events to incident management systems (New Relic, Signl4)&lt;/h2&gt;
&lt;p&gt;Butler offers advanced failed reload alerts via Slack, Teams, email and outgoing webhooks.&lt;br&gt;
Configurable templates means you can customize emails/Teams/Slack messages.&lt;/p&gt;
Expand Down Expand Up @@ -156,13 +157,20 @@ MQTT (and the pubsub concept in general) is a great way for systems to communica
&lt;p&gt;Slack messages can include full formatting (web links, text formatting etc), as well as &amp;ldquo;poking&amp;rdquo; users.&lt;br&gt;
I.e. notifying specific Slack users that they have a new message.&lt;/p&gt;
&lt;p&gt;Can for example be used to notify user(s) that an app has reloaded with new data, or that some error condition has occured.&lt;/p&gt;
&lt;p&gt;More info &lt;a href=&#34;docs/examples/sense-demo-apps/post-to-slack/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;More info &lt;a href=&#34;https://butler.ptarmiganlabs.com/docs/examples/sense-demo-apps/post-to-slack/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;monitor-windows-services&#34;&gt;Monitor Windows services&lt;/h2&gt;
&lt;p&gt;If Butler is running on Windows (server or even desktop) it can monitor one or more Windows services.&lt;br&gt;
This feature is &lt;strong&gt;not&lt;/strong&gt; available when running Butler on Linux, macOS or in Docker.&lt;/p&gt;
&lt;p&gt;Monitoring here means tracking the services&amp;rsquo; state and sending messages to email, InfluxDB, New Relic, MQTT, Webhooks, Slack or Teams when services stop or start.&lt;/p&gt;
&lt;p&gt;It can for example be used to get alerts if a Qlik Sense service for some reason stops.&lt;br&gt;
The concept is not limited to Qlik Sense services though - any Windows service can be monitored.&lt;/p&gt;
&lt;h2 id=&#34;monitor-and-release-qlik-sense-user-licenses&#34;&gt;Monitor and release Qlik Sense user licenses&lt;/h2&gt;
&lt;p&gt;Butler can monitor the usage of Qlik Sense user licenses and store the data in InfluxDB, from where the license data can be visualized in Grafana.
This makes it easy to track (and alert if needed) on the number of used licenses, how many are available and when it&amp;rsquo;s time to get more licenses.&lt;/p&gt;
&lt;p&gt;Butler can also automatically release Professional and Analyzer user licenses that have been inactive for a certain period of time.
This is useful in environments where some users use Sense sporadically, for example only during certain times of the year.
In such cases it&amp;rsquo;s a waste of resources to keep the license assigned to the user when it&amp;rsquo;s not being used.&lt;/p&gt;
&lt;p&gt;More info &lt;a href=&#34;https://butler.ptarmiganlabs.com/docs/concepts/qlik-sense-licenses/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
</item>
Expand Down
12 changes: 10 additions & 2 deletions docs/docs/about/printview/index.html
Expand Up @@ -262,14 +262,15 @@ <h1 id="pg-060a814a29b90c6effd5c82768bae391">2 - Use cases</h1>
<li><a href="#extract-metadata-for-apps">Extract metadata for apps</a></li>
<li><a href="#easily-post-messages-to-slack">Easily post messages to Slack</a></li>
<li><a href="#monitor-windows-services">Monitor Windows services</a></li>
<li><a href="#monitor-and-release-qlik-sense-user-licenses">Monitor and release Qlik Sense user licenses</a></li>
</ul>
<h2 id="instant-notifications-when-reload-tasks-fail-or-are-stopped">Instant notifications when reload tasks fail or are stopped</h2>
<p><strong>Information about failing tasks</strong> can be sent as emails, to Microsoft Teams, Slack, as MQTT messages or outgoing webhooks.</p>
<p>Email, Slack and MS Teams notifications all use a templating concept where HTML/Markdown template files describe what the alert message should look like. Before the alert is sent the template is populated with actual data from the failed reload task.</p>
<p>Both subject and body of email can use the template fields.</p>
<p>For both Slack and Teams there are options to use more flexible/configurable alert formats and more basic pre-configured alerts.</p>
<p>The result is a very poweful tool for QSEoW sysadmins, who get real-time insight into what&rsquo;s happening with respect to task execution.</p>
<p>More info <a href="docs/getting-started/setup/reload-alerts/">here</a>.</p>
<p>More info <a href="/docs/getting-started/setup/reload-alerts/">here</a>.</p>
<h2 id="forward-failed-reload-events-to-incident-management-systems-new-relic-signl4">Forward failed reload events to incident management systems (New Relic, Signl4)</h2>
<p>Butler offers advanced failed reload alerts via Slack, Teams, email and outgoing webhooks.<br>
Configurable templates means you can customize emails/Teams/Slack messages.</p>
Expand Down Expand Up @@ -347,13 +348,20 @@ <h2 id="easily-post-messages-to-slack">Easily post messages to Slack</h2>
<p>Slack messages can include full formatting (web links, text formatting etc), as well as &ldquo;poking&rdquo; users.<br>
I.e. notifying specific Slack users that they have a new message.</p>
<p>Can for example be used to notify user(s) that an app has reloaded with new data, or that some error condition has occured.</p>
<p>More info <a href="docs/examples/sense-demo-apps/post-to-slack/">here</a>.</p>
<p>More info <a href="/docs/examples/sense-demo-apps/post-to-slack/">here</a>.</p>
<h2 id="monitor-windows-services">Monitor Windows services</h2>
<p>If Butler is running on Windows (server or even desktop) it can monitor one or more Windows services.<br>
This feature is <strong>not</strong> available when running Butler on Linux, macOS or in Docker.</p>
<p>Monitoring here means tracking the services&rsquo; state and sending messages to email, InfluxDB, New Relic, MQTT, Webhooks, Slack or Teams when services stop or start.</p>
<p>It can for example be used to get alerts if a Qlik Sense service for some reason stops.<br>
The concept is not limited to Qlik Sense services though - any Windows service can be monitored.</p>
<h2 id="monitor-and-release-qlik-sense-user-licenses">Monitor and release Qlik Sense user licenses</h2>
<p>Butler can monitor the usage of Qlik Sense user licenses and store the data in InfluxDB, from where the license data can be visualized in Grafana.
This makes it easy to track (and alert if needed) on the number of used licenses, how many are available and when it&rsquo;s time to get more licenses.</p>
<p>Butler can also automatically release Professional and Analyzer user licenses that have been inactive for a certain period of time.
This is useful in environments where some users use Sense sporadically, for example only during certain times of the year.
In such cases it&rsquo;s a waste of resources to keep the license assigned to the user when it&rsquo;s not being used.</p>
<p>More info <a href="/docs/concepts/qlik-sense-licenses/">here</a>.</p>

</div>

Expand Down
13 changes: 11 additions & 2 deletions docs/docs/about/use-cases/index.html
Expand Up @@ -394,6 +394,7 @@
<li><a href="#extract-metadata-for-apps">Extract metadata for apps</a></li>
<li><a href="#easily-post-messages-to-slack">Easily post messages to Slack</a></li>
<li><a href="#monitor-windows-services">Monitor Windows services</a></li>
<li><a href="#monitor-and-release-qlik-sense-user-licenses">Monitor and release Qlik Sense user licenses</a></li>
</ul>
</nav>
</div>
Expand Down Expand Up @@ -487,14 +488,15 @@ <h1>Use cases</h1>
<li><a href="#extract-metadata-for-apps">Extract metadata for apps</a></li>
<li><a href="#easily-post-messages-to-slack">Easily post messages to Slack</a></li>
<li><a href="#monitor-windows-services">Monitor Windows services</a></li>
<li><a href="#monitor-and-release-qlik-sense-user-licenses">Monitor and release Qlik Sense user licenses</a></li>
</ul>
<h2 id="instant-notifications-when-reload-tasks-fail-or-are-stopped">Instant notifications when reload tasks fail or are stopped</h2>
<p><strong>Information about failing tasks</strong> can be sent as emails, to Microsoft Teams, Slack, as MQTT messages or outgoing webhooks.</p>
<p>Email, Slack and MS Teams notifications all use a templating concept where HTML/Markdown template files describe what the alert message should look like. Before the alert is sent the template is populated with actual data from the failed reload task.</p>
<p>Both subject and body of email can use the template fields.</p>
<p>For both Slack and Teams there are options to use more flexible/configurable alert formats and more basic pre-configured alerts.</p>
<p>The result is a very poweful tool for QSEoW sysadmins, who get real-time insight into what&rsquo;s happening with respect to task execution.</p>
<p>More info <a href="docs/getting-started/setup/reload-alerts/">here</a>.</p>
<p>More info <a href="/docs/getting-started/setup/reload-alerts/">here</a>.</p>
<h2 id="forward-failed-reload-events-to-incident-management-systems-new-relic-signl4">Forward failed reload events to incident management systems (New Relic, Signl4)</h2>
<p>Butler offers advanced failed reload alerts via Slack, Teams, email and outgoing webhooks.<br>
Configurable templates means you can customize emails/Teams/Slack messages.</p>
Expand Down Expand Up @@ -572,13 +574,20 @@ <h2 id="easily-post-messages-to-slack">Easily post messages to Slack</h2>
<p>Slack messages can include full formatting (web links, text formatting etc), as well as &ldquo;poking&rdquo; users.<br>
I.e. notifying specific Slack users that they have a new message.</p>
<p>Can for example be used to notify user(s) that an app has reloaded with new data, or that some error condition has occured.</p>
<p>More info <a href="docs/examples/sense-demo-apps/post-to-slack/">here</a>.</p>
<p>More info <a href="/docs/examples/sense-demo-apps/post-to-slack/">here</a>.</p>
<h2 id="monitor-windows-services">Monitor Windows services</h2>
<p>If Butler is running on Windows (server or even desktop) it can monitor one or more Windows services.<br>
This feature is <strong>not</strong> available when running Butler on Linux, macOS or in Docker.</p>
<p>Monitoring here means tracking the services&rsquo; state and sending messages to email, InfluxDB, New Relic, MQTT, Webhooks, Slack or Teams when services stop or start.</p>
<p>It can for example be used to get alerts if a Qlik Sense service for some reason stops.<br>
The concept is not limited to Qlik Sense services though - any Windows service can be monitored.</p>
<h2 id="monitor-and-release-qlik-sense-user-licenses">Monitor and release Qlik Sense user licenses</h2>
<p>Butler can monitor the usage of Qlik Sense user licenses and store the data in InfluxDB, from where the license data can be visualized in Grafana.
This makes it easy to track (and alert if needed) on the number of used licenses, how many are available and when it&rsquo;s time to get more licenses.</p>
<p>Butler can also automatically release Professional and Analyzer user licenses that have been inactive for a certain period of time.
This is useful in environments where some users use Sense sporadically, for example only during certain times of the year.
In such cases it&rsquo;s a waste of resources to keep the license assigned to the user when it&rsquo;s not being used.</p>
<p>More info <a href="/docs/concepts/qlik-sense-licenses/">here</a>.</p>

<div class="section-index">

Expand Down

0 comments on commit cb9eb26

Please sign in to comment.