Gut Ding will Weile haben. Or, Rome wasn’t built in a day. Though, I like the German version more because it’s not that quite a stretch.
Well, what this is all about you ask? It’s been the first quarter of 2017 when the first version of the Icinga Business Process Module had the chance to impress its audience. It’s gone rather quiet since then. But don’t worry, just two years later there is the solution to the so-called order it imposed on us: Chaos.
Okay, okay, straight to the point:
Previously it wasn’t possible to disable the automatically applied alphabetical order of nodes. It is now possible to simply grab a node and move it wherever you want it to. Or, to be the master of chaos, so to speak.
Ever wanted to re-use a process you defined within a different configuration? Without duplicating it? This has been an undocumented feature but is now fully integrated into the UI and documented.
Usability and Visualization
Additionally the breadcrumbs and the tree view were adjusted and got a lighter design to help those with epilepsy. Well, not quite correct, we just thought a change is due. Besides, the navigation has been enhanced by allowing you to jump to the overview using the breadcrumbs and letting external info URLs open in a new browser tab.
The full changelog can be found here.
All issues and features related to this release can be found on our roadmap.
After cleaning up and releasing lots of stuff in January, we focus on events, trainings and cool integrations this time.
Blerim went to Cfgmgmt Camp in Ghent and talked about “Monitoring as Code”.
While preparing for our OSMC booth and talk, we thought about enhancing the existing Vagrant boxes and include more demo cases. While the icinga2x-cluster boxes illustrate the cluster in a master-checker setup, the standalone box icinga2x focuses on a single Icinga 2 instance with Icinga Web 2 and the Icinga 2 API.
Alongside the Icinga 2 API and Icinga Web 2 there are numerous additions to the icinga2x Vagrant box:
PNP4Nagios is installed from the EPEL repository. The Icinga 2 Perfdata feature ensures that performance data files are written and the NPCD daemon updates the RRD files. Navigate to the host or service detail in Icinga Web 2 and watch the beautiful graphs. There’s also a menu entry in Icinga Web 2 providing an iframe to the PNP web frontend on its own.
There are demo comments including a ticket id inside the Vagrant box. A simple script feeds them into the Icinga 2 API and the Icinga Web 2 module takes care of parsing the regex and adding a URL for demo purposes.
The box provides 2 use cases for a business process demo: web services and mysql services. In order to check the MySQL database serving DB IDO and Icinga Web 2, we’ve added the check_mysql_health plugin (Icinga 2 v2.4 also provides a CheckCommand inside the ITL <plugins-contrib> already, so integration is a breeze).
These Icinga 2 checks come configured as Business Processes in the Icinga Web 2 module which also allows you to change and simulate certain failure scenarios. You’ll also recognise a dashboard item for the Top Level View allowing you to easily navigate into the BP tree and the host and service details. Pretty cool, eh?
The puppet module installs the latest stable NagVis release and configures the DB IDO as backend. The integration into Icinga Web 2 uses a newly developed module providing a more complete style and integrated authentication for the NagVis backend. Though there are no custom dashboards yet – send in a patch if you have some cool ones 🙂
The Graphite backend installation is helped with Puppet modules, the main difference is that Graphite Web VHost is listening on port 8003 by default (80 is reserved for Icinga Web 2). The carbon cache daemon is listening on 2003 where the Icinga 2 Graphite feature is writing the metrics to.
Grafana 2 uses Graphite Web as datasource. It comes preconfigured with the Icinga 2 dashboard providing an overview on load, http, mysql metrics and allows you to easily modify or add new graphs to your dashboard(s).
We’ve had a Dashing demo using the Icinga 2 API with us at Icinga Camp Portland though it required some manual installation steps. Since the Vagrant box already enabled the Icinga 2 API, the provisioner now also installs Dashing and the demo files. Note: Installing the Ruby gems required for Dashing might take a while depending on your internet connection. If Dashing is not running, call `restart-dashing`.
The icinga2x box requires a little more resources so make sure to have 2 cpu cores and 2 GB RAM available. You’ll need Vagrant and Virtualbox or Parallels installed prior to provision the box.
git clone https://github.com/Icinga/icinga-vagrant.git
The initial provisioning takes a while depending on your internet connection.
Each web frontend is available on its own using the host-only network address 192.168.33.5:
|Icinga Web 2
In the future we’ll add more Icinga Web 2 modules or other addons, just let us know what you want to play with or send a patch even 🙂