Butler SOS v2.0 – Real-time error and warning dashboards for Qlik Sense

This one is long overdue, but finally here: Butler SOS v2.0

The new version is an almost complete re-write of v1.0. Changes are plentiful and include

  • All warnings and errors stored by Sense in its log database are now pulled into Butler SOS, from where it can be graphed and acted upon.
    This is a big deal, as it was previously not possible to get notifications or alerts when errors or warnings started to pile up in the logs.
  • Operational health metrics are still pulled from Qlik Sense, but this is now done directly from the QIX engine rather than via a hard-to-secure virtual proxy.
  • Using certificates for authentication with Sense removes potential security issues with v1.0.
  • Config file is now YAML instead of JSON. More human readable and with inline comments.
  • Config file now allows for more fine-grained control of Butler SOS.
  • Several bugs fixed, especially around sending metrics to MQTT.

The readme file on GitHub has all the details, here are some screen shots to get you started though:


The new version is available on GitHub.


PS. This is blog post # 100. Yaaay!!!

Also published on Medium.

4 Replies to “Butler SOS v2.0 – Real-time error and warning dashboards for Qlik Sense”

  1. Hello ,

    First of all thanx for this amazing job .I rellay admire it . I’m trying to make it work but I’m pretty stuck at this point ;

    C:\Users\user\Documents\butler-sos-2.0>node butler-sos.js
    2018-02-14T12:48:36.279Z – info: Starting Butler SOS
    2018-02-14T12:48:36.280Z – info: Log level is: verbose
    2018-02-14T12:48:36.322Z – info: Connected to Influx database.
    2018-02-14T12:48:41.282Z – verbose: Event started: Statistics collection
    2018-02-14T12:48:41.283Z – verbose: Getting stats for server: desktop-m9kf5do
    2018-02-14T12:48:41.293Z – verbose: Getting stats for server: desktop-m9kf5do
    2018-02-14T12:48:41.375Z – verbose: Received ok response from desktop-m9kf5do

    TypeError: Cannot read property ‘committed’ of undefined
    at postHealthToMQTT (C:\Users\user\Documents\butler-sos-2.0\butler-sos.js:199:14)
    at Request._callback (C:\Users\user\Documents\butler-sos-2.0\butler-sos.js:309:11)
    at Request.self.callback (C:\Users\user\Documents\butler-sos-2.0\node_modules\request\request.js:186:22)
    at Request.emit (events.js:159:13)
    at Request. (C:\Users\user\Documents\butler-sos-2.0\node_modules\request\request.js:1163:10)
    at Request.emit (events.js:159:13)
    at IncomingMessage. (C:\Users\user\Documents\butler-sos-2.0\node_modules\request\request.js:1085:12)
    at Object.onceWrapper (events.js:254:19)
    at IncomingMessage.emit (events.js:164:20)
    at endReadableNT (_stream_readable.js:1062:12)

    Thanx for you help,

    1. Great that you got it working!
      Out of curiosity – are you using Qlik Sense Desktop?
      I have not tried Butler SOS on that version of Sense, I didn’t think it would work… but maybe it does?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.