Upgrading to Meerkat 3
- Change Summary
- Post-install steps
Meerkat 3 includes the latest release of Bootstrap 5 (v5.2). For information on browser support, see the Bootstrap browsers and devices page. Notably Internet Explorer is no longer officially supported.
Bootstrap is used throughout the entire GUI. You’ll notice a more consistent feel, with many alignment and layout bugs resolved.
Readability and usability improvements:
- More inline tips and placeholders scattered throughout the interface for guidance
- Increased text contrast on coloured elements
<div>HTML elements with more meaningful
<fieldset>etc. HTML elements.
HLS Stream elements are rendered with standard HTML5
Meerkat is no longer a “Single Page Application”, and serves more conventional URL paths present in other web apps. Popular HTTP reverse proxies (e.g. Nginx, HAProxy) can now be used for basic access control; even on a per-dashboard basis. For example, to view, edit, delete a dashboard named “networking”, the corresponding URLs are:
Paths of a dashboard’s URL have changed from previous releases. URLs in the previous format continue to work via a permanent redirect. Nonetheless, where possible, it is encouraged to update URLs to the new format.
A new About page shows the installed version of Meerkat and build time.
Installation is easier. The GUI is now served directly from the binary, rather than from a directory on the filesystem. Installation is therefore just copying a single file (the binary).
Image resources such as those used as dashboard backgrounds and elements now must be referenced by a URL. This makes Meerkat easier to run in more ephemeral environments such as Kubernetes. It also allows Meerkat to be more safely exposed to the internet.
There are changes to the dashboard’s on-disk format. Back up existing dashboards:
tar cv /usr/local/meerkat/dashboards > dashboards.tar
Follow the install instructions.
These instructions assume Meerkat is installed in the default installation directory
1. Remove frontend directory
The file tree providing the frontend GUI is now embedded into the
meerkat command. The frontend directory is now ignored and can be safely removed:
rm -r /usr/local/meerkat/frontend
2. Rename font size option
statusFontSize element option has been renamed to
fontSize. To update existing elements, run the following command to rename the options:
sed -i 's/statusFontSize/fontSize/g' /usr/local/meerkat/dashboards/*.json
3. Delete removed Icinga SVG element options
The colour of Icinga SVG elements now matches other Icinga elements which represent object state e.g. green for OK, amber for warning. The stroke colour (i.e. colour of icons) is no longer configurable, so element options setting stroke colour are ignored. To remove the options:
sed -i '/StrokeColor/d' /usr/local/meerkat/dashboards/*.json
4. Rename video, audio, image element types
The on-disk value representing the video/HLS stream element type has changed from “iframe-video” to “video”. Similarly for audio; the type value has changed from “audio-stream” to “audio”. For images; “static-image” to “image”.
To update existing elements, run:
sed -i '/iframe-video/video/g' /usr/local/meerkat/dashboards/*.json sed -i '/audio-stream/audio/g' /usr/local/meerkat/dashboards/*.json sed -i '/static-image/image/g' /usr/local/meerkat/dashboards/*.json
5. Move images from dashboards-data to a file server
Images used in dashboard backgrounds and elements must be referenced by a URL. It is recommended to serve any images previously uploaded to Meerkat from a HTTP file server, CDN or S3-compatible storage. In a default installation, the path to the directory is /usr/local/meerkat/dashboards-data.
For backwards compatibility previously uploaded images in the
dashboards-data directory are still served from disk. They can be referenced by path in the “Background image” field. For example “/dashboards-data/test.jpeg”.