Commit e38f00e2 authored by David Kempe's avatar David Kempe
Browse files

new blogpost for icinga.com

parent 67cf7acf
# Sol1 Releases Meerkat - Next Generation Dashboards for Icinga2
If you need unfamiliar users to see at a glance what is important and how it is laid out, Meerkat is the tool for you.
Meerkat is a lightweight Go and Javascript Icinga2 client, that connects to the API and displays the status of various checks using elements, like cards, SVGs or images. It can even play sounds, making the ultimate sysadmin soundboard! It is quick and easy to setup and use, simply grab the docker container, or build from source.
![Meerkat World Map](docs/meerkat_world_map.png)
### Using Meerkat
Once you have Meerkat up and running, you will want to create your first dashboard. Its probably best to have a sensible background first. The background needs to be a browser displayable image, even an animated gif is possible! We have used diagram tools (Lucidchart/Draw.io) for backgrounds, pictures of racks, world maps etc. It helps if you have thought about how you want the checks and background image to overlay together beforehand. You can author the background image in any program that can produce image files that browsers can display, we have tested png, jpeg, webp and gif.
1) Make a new dashboard by clicking Create New Dashboard button and giving it a name. Dashboards can then be edited and viewed from the main page.
2) Edit your dashboard and add a Background Image.
3) Add new Elements and pick the type of Element you want to add.
4) Drag and drop your Element over the top of the map to somewhere that makes sense relative to the background. You can resize and rotate elements.
5) Remember to click Save. Many times.
6) Once done, click Home and then view your dashboard.
### Element Types
Meerkat supports various element types, some sourced from the Icinga API backend, and others static.
Icinga type elements can select from the following sources: Hosts, Services, Host Groups, Service Groups, Host Filter, Service Filter and All Services on a Host.
These sources are largely self-explanatory, however the filter language for the Filter sources is a little unintuitive. The base doco is here: https://icinga.com/docs/icinga2/latest/doc/12-icinga2-api/#advanced-filters and some hints are provided in the input dialog. You can also set a Linking URL for these elements which let you link to somewhere else, like another dashboard, or Icingaweb.
#### Icinga Card
A simple rectangular card that displays the status of the check. You can adjust the font size. Cards also support performance data, and you can pick the type of perfdata you want to display and the card will display the value. For example, pick "packetloss" and the value will be displayed in percentage (30%).
#### Icinga SVG
You can select an SVG to toggle between for the various states. The default SVGs are sensible, however feel free to choose whatever makes sense to you. The colour of the SVG changes to reflect the state.
#### Icinga Image
Select a set of images you want to toggle between on state change.
#### Icinga Line
Allows you to draw lines, you can rotate and resize them, and set the weight. They only toggle between OK, Warning, Critical, Unknown at present.
#### Static Text, SVG and Image
Useful for adding headings or labels.
#### HLS and Audio Stream
Embed video or audio streams in the dashboards in case staring at the dashboard is boring. (or you really care about the video!)
### Sounds
Meerkat allows you to specify a global sound scheme for state change, as well as upload custom sounds. Each check can also have different sounds triggered on state change. Yes you can have the sysadmin DJ soundboard of doom you always wanted!
Dashboards are saved as json files under the `dashboards` directory which get generated on startup, so backing up or moving data is easy. The `dashboard-data` directory is for image/file data.
Jump over to the Meerkat repo: https://gitlab.sol1.net/oss/meerkat to grab a copy and get started, or simply pull our image from Docker Hub: ```docker pull sol1/meerkat```
### Roadmap
Future enhancements may include:
* Authentication support (though it is meant to be displayed on a wall, without auth mostly)
* Automation for creation of the dashboard config, allowing for easy mass creation of dashboards from Icinga data
* Automation for export of Meerkat dashboards to Business Processes
** This tool is designed to be used internally, there is no user management and it has direct access to the Icinga2 API (with some minor filtering) I would not recommend putting this on the internet. You can limit the API user using filters as per the Icinga docs here: https://icinga.com/docs/icinga2/latest/doc/12-icinga2-api/#icinga2-api-permissions **
### Support
Sol1 is an official Icinga Enterprise Partner, and can offer commercial support for Meerkat and Icinga and friends. We are a friendly bunch of people, so please don't hesitate to get in touch at https://sol1.com.au
### Contributing
We welcome any contributions. Let us know via the issues here https://gitlab.sol1.net/oss/meerkat/-/issues if there is something you need fixed up, or even better, a patch or PR would be most appreciated.
License is GNU Affero GPLv3.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment