About Ptarmigan Labs

Qlik Sense insights, DevOps tools, building things, breaking stuff, fixing them… and the occasional random ramblings.

Welcome to Ptarmigan Labs!

The company

This site is the home of both my company Ptarmigan Labs AB, as well as a conduit for personal thoughts and projects.

Through the company I offer consultancy services revolving around Business Intelligence in general and the Qlik ecosystem in particular.

Having spent 10 years at Spotify taught me a few things about dealing with large data volumes, rapidly changing data landscapes and running a large, global Qlik Sense environment efficiently.

I was a 2020, 2019, 2018, 2017 and 2016 Qilk Luminary, as partner programs go that one is pretty outstanding.
Following that up as a 2021 and 2022 member of the Qlik Partner Ambassador program.

I offer expert services in fields such as

  • Planning, deploying and running large and small Qlik Sense environments.
  • Defining and implementing enterprise grade monitoring of Qlik Sense environments.
  • SenseOps. I.e. the use of best-practise DevOps concepts in Qlik Sense.
  • Migrating from QlikView to Qlik Sense.
  • Full bio available on LinkedIn.

The blog

The blog at ptarmiganlabs.com focuses on Qlik Sense thoughts, tools and insights, but might also include posts covering other topics of interest for those into gadgets and electronics. Some will be BI related, some not. Feel free to use the category links at the top of each page to navigate to your field of interest.

Above all, this site is about learning and sharing as we go along.


5 Replies to “About Ptarmigan Labs”

  1. Hi, I’m a big fan of Butler SOS and would like to get in set up in our Qlik Sense environment but have had some push back to spinning up a Linux server to run it. While I am trying to sort that out, do you know if DataDog has the capability to do what Butler SOS does? Just wondering for your perspective.

    1. Hi Damir, thanks for the kind words!

      I have only very quickly looked at DataDog. It looks super nice and I would imaging that you could funnel Sense health metrics into their APIs.
      From what I can see on their web site they don’t have a Sense plugin or similar.

      Butler SOS already today supports sending the Sense health data both as MQTT messages, as well as to InfluxDB (for later dashboarding in Grafana or other tool).
      Sooo…. it would be pretty straightforward to send data to DataDog too. You probably need to batch up data before sending it to DataDog, in order to avoid their rate limiting thresholds.

      1. I took a more thorough look at DataDog’s APIs, and given that there are several different Node.js libraries that implement their API, it should be pretty straightforward to add DataDog support in Butler SOS.

  2. I have followed the documentation precisely for installing and configuring Bulter SOS. When I attempted to run node Bulter.sos.js, I am getting the following error below. In the config.js on line 182 the property is not defined. How would I define the property so that it does not throw a error message. Should I match the property to info as indicated in the production.yaml file? Please help.

    E:\Tools\butler-sos-master\src>node butler-sos.js
    WARNING: NODE_ENV value of ‘production’ did not match any deployment config file names.
    WARNING: See https://github.com/lorenwest/node-config/wiki/Strict-Mode
    WARNING: No configurations found in configuration directory:E:\Tools\butler-sos-master\src\config
    WARNING: To disable this warning set SUPPRESS_NO_CONFIG_WARNING in the environment.
    throw new Error(‘Configuration property “‘ + property + ‘” is not defined’);

    Error: Configuration property “Butler-SOS.logLevel” is not defined
    at Config.get (E:\Tools\butler-sos-master\src\node_modules\config\lib\config.js:182:11)
    at Object. (E:\Tools\butler-sos-master\src\globals.js:29:23)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:92:18)
    at Object. (E:\Tools\butler-sos-master\src\butler-sos.js:5:17)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)

    1. Long, long overdue comment on this question… Sorry.

      That error probably comes from Butler SOS not being able to find a valid config file.
      Looks like the NODE_ENV environment variable is set to “production” – good.
      And Butler SOS looks for a config file in E:\Tools\butler-sos-master\src\config.

      So… Is there a config file called E:\Tools\butler-sos-master\src\config\production.yaml ?
      If not, that’s probably the cause of the error.

Leave a Reply

Your email address will not be published.