Releases: ptarmiganlabs/butler-sos
Maintenance release
Updated dependencies to stay sharp and secure.
Minor security updates
Minor release to bring used libraries and dependencies up to date.
Minor security updates
Minor release to bring used libraries and dependencies up to date.
Adding Docker images for Arm - Hello Raspberry Pi!
This is a minor release, yet a milestone.
Arm CPUs are no longer just something used in mobile gadgets, they are quickly becoming a real option also for server workloads.
For that reason Butler SOS now builds Docker images for the Arm64 and Arm architectures, and publish these on Docker Hub.
This might seem like a less than relevant development, but it opens up for running Butler SOS in pretty much any kind of Docker or Kubernetes environment, including Arm based ones.
On a more concrete level you can now run Butler SOS on Arm powered AWS EC2 instances. Again - why is this important? Well, these instances offer better price/energy/performance than x86 ditto instances. Money rules.
Or on a Raspberry Pi - the newer Raspi 4 is preferred, but even several of the older 32 bit ones are supported. No, you should not use Raspberry Pis for production scenarios, but it's a pretty cool demo to use them in a super cheap, low power usage Kubernetes cluster used to monitor a Qlik Sense environment.
More info at butler-sos.ptarmiganlabs.com
Good looks, session apps, monitoring the monitor and more
This release both adds some nice new features, as well as enhancing existing ones and fixing some bugs. Let's take a look at the highlights.
- Track in detail what apps are loaded into each Sense server.
- Regular apps and session apps are handled separately, making app metrics easier to understand and more relevant
- Sample dashboards are now built using the brand new, shiny and all together awesome Grafana 7. Did I mention that Grafana 7 is awesome? Awesome.
- Ever wondered how long Butler SOS has been running or how much memory it uses? The new uptime messages have you covered.
- You are properly impressed with the uptime messages - good. Why not store them to Influxdb, so you can also visualize Butler SOS’ own memory use? It’s just a couple of changes in the config file away.
- Better control over what features are enabled. Don't need Docker health checks? Now you can turn that (and other) feature off.
- Ah, you are a serious Sense user and have separate DEV and PROD environments? Good - now Butler SOS supports multiple instances running on a single server.
- Who will monitor the monitor? Butler SOS can now send heartbeats to customisable URLs at desired intervals. Perfect if you want to monitor Butler SOS using for example healthchecks.io. Very, very cool actually.
- Bugs, bugs and bugs. The known ones have been fixed. Keep reporting new ones!
- Update all dependencies to latest versions, to ensure security concerns are adressed.
More info at butler-sos.ptarmiganlabs.com
App names - now sorted
This is a minor release.
The names of loaded/in-memory/active apps are now sorted alphabetically before they are stored in Influxdb. Makes it easier to scan through the list when its presented in for example a Grafana dashboard.
List of changes:
#101 Session data not correctly extracted in 5.2.0.
#102 Sort app names.
App names & heartbeats
- Extract app names for all apps currently loaded in the Qlik Sense server's memory. This is probably the single most requested feature over the past couple of years. Being able to look at a list of what apps are currently loaded into RAM (showing the actual app names!) makes it a lot easier to understand what might be causing high server load or RAM usage.
- When setting the log level to debug or silly, Butler SOS will now log its own RAM usage to the log files. This is useful when you want to understand how much memory Butler SOS itself uses, and to make sure its memory usage doesn't increase over time (i.e. to ensure there are no memory leaks).
- When setting the log level to verbose, debug or silly, Butler SOS will nog log its current uptime to the log files. I.e. tell in human readable form that Butler SOS has been running for "x days, y hours, z minutes". Useful to determine if there have been any unexpected restarts.
- Butler SOS can now (optionally) send heartbeat messages to infrastructure monitoring tools. This is a key feature when it comes to making Butler SOS enterprise grade: It's now possible to alert when Butler SOS for some reason goes offline.
- Replace the Request Node.js library with Axios. Request was sunset, while Axios is a more modern option for getting stuff from http APIs.
- Update all dependencies to latest versions, to ensure security concerns are adressed.
A few typos here, a few forgotten docs there...
Fixing the following issues:
#73 Incorrect Docker image name in docker-compose file
#77 Make sure Grafana sample dashboards include charts for granular session data
#74 Main health metrics should use port 4747 in config file
Doc site at butler-sos.ptarmiganlabs.com has also been updated with (most aspects of) the above. Some addition minor doc updates expected during coming days.
October 2019 - New doc site and new features
Time for another major update to Butler SOS.
New doc site
There is a new, dedicated doc site at https://butler-sos.ptarmiganlabs.com.
Going forward all docs, examples, tutorials etc will be kept there.
New features
This version adds several interesting features that probably will be of interest for those running large Qlik Sense environments, and want to closely and proactively monitor which users are accessing what servers.
New features:
- Extract detailed user session data for specific virtual proxies. Previously it was only possible to see how many users/sessions were using Sense in total - no info on what specific users or what virtual proxies they use were extracted.
The new features make it possible to see exactly what users are connected right now, how many sessions each user has open, and what virtual proxies they are connected via. - Data extracted by Butler SOS can now be stored in password protected InfluxDB databases.
- All data stored in InfluxDB is accompanied by a InfluxDB retention policy. This means there is now a way to make sure that the InfluxDB database does not grow beyond reasonable limits. Put differently: You can save detailed, fine-grained Sense metrics and specify that it should only be kept for (for example) 4 weeks. Any data older than the threshold is automatically purged from InfluxDB.
- Improved logging throughout the app makes it easier to debug and solve for example configuration issues.
Thes new features mean that Butler SOS' configuration file has a slightly new format. When upgrading to v5.0 from earlier versions you must ensure that your YAML config file meets the v5.0 format.
Scaling up - going enterprise grade
With version 4 several features are added, many of them intended to make it easier to monitor large scale Qlik Sense environments.
For example:
- Improved tagging of data logged in Influxdb. Data can now be tagged with any number of user defined tags. This makes it possible to create much more refined dashboards in Grafana. NOTE: these configurable tags are not compatible with previous Influx database schemas. The SenseOps database in Influxdb must be deleted before deploying Butler SOS v4.0. Next time Butler SOS is started a new SenseOps database in Influxdb will be created.
- Let the user control (by means of properties in the config file) which entries are extracted from Qlik Sense log db. This is configured on a per log level basis, for example "extract warning and errors, but not info messages".
- Added optional logging to disk file. If enabled, log files are rotated daily and stored for 30 days, after which they are automatically deleted.