A while back we’ve written about changes inside our Vagrant box demo environments – and many things happened ever since.
There are a couple of new Icinga Web 2 modules directly integrated into the Vagrant boxes (Director, Grafana, Cube, Globe). In terms of metrics and event collecting we’ve integrated Elastic Stack with Icingabeat and also InfluxDB with Grafana. We are happy to release v1.3.0 today.


We’ve raised the required versions too: Vagrant >1.8.x and VirtualBox >5.x are fully supported, older versions may not work. We’ve also changed the default VirtualBox base box (might need an update on the first run), updated Parallels to use centos-7.3 and started working on libvirt as provider.
You’ll also notice cleaned up Vagrantfile files and provisioner scripts in case you’re planning to submit a PR with your own box. Many thanks to Lennart and Markus! During the OSMC Hackathon last year Markus Korn contributed docs for Vagrant behind a corporate proxy – thanks a lot Also to note: There’s a scenario called “icinga2x-ha-cluster” for development tests with a HA Cluster and a checker node.

Icinga 2 & Icinga Web 2 Modules

The main demo box “icinga2x” highlights many cool things. Set aside Business Process, GenericTTS, NagVis as Icinga Web 2 module, the Icinga Director also comes pre-installed for you to discover.

The Business Process module also provides CLI commands to check the process state. We’ve integrated these checks into the Vagrant box too.

We’ve also managed to integrate the Cube module including additional custom attributes to enjoy the demo.

You’ve also seen the Globe module during Icinga Camp Berlin, this one is available too 🙂

The icinga2x Vagrant box fully integrates the latest Dashing dashboard v1.2.0. It also uses the community contributed Systemd service unit to properly start the Dashing instance.

Since there’s Grafana already we’ve also looked into our community favorite – an Icinga Web 2 module for Grafana. It allows you to manage your datasources inside Grafana (InfluxDB, Graphite, etc.) and provides dashboards templates. Those small graphs can be configured based on service names, check_commands and custom attributes and are highlighted in the host/service detail view. Thanks Carsten for your hard work!

Note: This replaces the previous PNP graphs in the host/service detail view.

Elasticsearch, Kibana and Icingabeat

Setting up the Elastic Stack really has become a breeze with the 5.x releases. Elastic also provide their official puppet modules (I’ve blogged about it over here already). We’ve wrapped out head around it and created a new Vagrant box “icinga2x-elastic” for you to play with.
One thing we surely want to highlight: Icingabeat connects to the Icinga 2 API and forwards events and status to Elasticsearch. It event provides beautiful Kibana dashboards. We’ve made sure you’ll get to play easily after “vagrant up” – just navigate to and discover Kibana and Icingabeat.

The box also installs filebeat and forwards syslog and the icinga2 log to Elasticsearch. Kibana has a pre-configured index and allows you to explore those values too. Remember that Blerim tweeted about the icinga filebeat integration? That’s coming too in future versions of the Vagrant box.

InfluxDB with Grafana and Icinga 2

Since we wanted to test the newly introduced InfluxDBWriter feature in Icinga 2 v2.5 we’ve chosen to build a dedicated Vagrant box “icinga2x-influxdb“. This includes a local InfluxDB instance where Icinga 2 writes metrics to. Grafana is used to highlight the power of InfluxDB as backend, including some example dashboards.

This box also includes the Icinga Web 2 module for Grafana with InfluxDB as backend 🙂


What’s next?

There are plans to refactor the code even more into roles and profiles to allow specific demo use cases. It should also use our official Puppet modules (puppet-icinga2 was approved recently). Until that we’ll focus on integrating many things of the Icinga stack to play with. Coming up: Logstash Grok patterns & more Icinga Director examples.