The new revamped Puppet module for Icinga 2 was officially released and uploaded to PuppetForge. We’ve also released the new shiny Icinga Director 1.3.0 followed by the beautiful Business Process module 2.0.0 for Icinga Web 2.
Icinga 2 v2.6.1 and Icinga Web 2 v2.4.1 fix bugs we’ve come across after releasing the initial major versions. There also was a release for Icinga Core and Web 1.14 fixing several bugs and security issues.
We’ve found Vagrant pretty useful for our demo cases – the first draft of the Icinga 2 Cluster happened to be a NETWAYS CeBit demo and evolved ever since. icinga-vagrant was added is official Icinga project similar to what we have with our Docker demos and gained more attraction by testers and developers.
The good thing about Vagrant using different providers is – you can even run these demos on Windows. You’ll need some prerequisites to make it work on Windows though – Git with SSH and Ruby. On Linux the Vagrant packages already requires them. Additionally you’ll need at least the following versions:
- Vagrant >= 1.6.5
- VirtualBox >= 4.2.16
Our default provider is VirtualBox where these boxes are regularly tested on. The underlying provisioner is using Puppet modules to setup the Vagrant environment. This installs for example Apache, MySQL, Plugins, Icinga 2 and Icinga Web 2 in the icinga2x box. The Icinga packages are pulled from our snapshot repositories allowing developers and testers fetching the latest and greatest – and also help finding bugs soon enough 🙂
Currently there are four different Vagrant environments available for testing:
- icinga2x: Standalone Icinga 2 box with user interfaces: Icinga Web 2, Icinga Web 1.x and Classic UI 1.x
- icinga2x-cluster: Icinga 2 Cluster as Master-Checker setup. Includes Icinga Web 2 as user interface.
- icinga2x-graylog2: Special Graylog demo environment with standalone Icinga 2
- icinga1x: Standalone Icinga 1.x Core with Icinga Web 1.x and Classic UI 1.x. Includes Jasper-Reporting.
Note that icinga1x will stick with CentOS6 due to the Reporting integration (unless someone sends a patch). The other boxes have been upgraded recently to use CentOS 7.1 as base box.
There were several changes in the past months, refactoring the required git modules from submodules to subtree and also updating the demo configuration. All icinga2x boxes also share common host-only IP addresses for easier access. Once puppet-icinga2 and puppet-icingaweb2 become ready, they’ll be included inside the provisioning mechanism replacing our own local modules. In order to keep it simple, you may just download the latest release tarball instead of cloning the git repository.
Start away with the Icinga 2 box:
$ git clone https://github.com/Icinga/icinga-vagrant.git
$ cd icinga-vagrant
$ cd icinga2x
$ vagrant up
Open your browser and navigate to the host-only ip addresses (Login: icingaadmin/icinga)
If you encounter problems, please open an issue at https://dev.icinga.com/projects/icinga-tools/issues – meanwhile enjoy the Vagrant show! 🙂
icinga2x-graylog2: Service Detail
We are already using Docker and container based implementations during development, package builds and tests. This helps speed up development quite a lot next to the fancy Vagrant boxes. Since we’ve seen community members creating docker images for everything we thought we’d give it a try for our own official Docker container – our notebooks used in live demos at Icinga Camps certainly say thanks 😉
One problem arises – Docker containers are not made for running multiple applications, you would normally run each application inside its own container, and only export volumes and ports for communication links. A demo environment for Icinga 2 requires as least:
- Web server (httpd, apache2, etc)
- Database server (MariaDB, etc)
- Icinga 2 daemon
Furthermore we want to serve Icinga Web 2 as primary frontend and need to export port 80 for browser access. Even with SSH access for whatever comes to mind.
There’s already a Debian based Docker container using supervisord starting multiple applications in foreground. Taking this example whilst adding our own requirements into a CentOS7 based container (similar to the Vagrant boxes) leads us to our very own icinga2 Docker container.
It requires you to have at least Docker v1.6.0+ installed, then fire away and bind port 80 to your host’s port 3080:
$ sudo docker run -ti -p 3080:80 icinga/icinga2
Navigate to http://localhost:3080/icingaweb2/ and login using icingaadmin/icinga as credentials.
Keep in mind that the Docker container was made for test, development and demo purposes without any further production support.
If you’re planning to try Icinga Web 2 for example and want to test your own local patches, just mount the exported volumes like this:
$ sudo docker run -ti -p 3081:80 -v /usr/share/icingaweb2 /etc/icingaweb2 icinga/icinga2
There are additional volumes for /etc/icinga2 and /var/lib/icinga2 available. If you’re planning to modify the container image, you’ll find all required instructions inside the git repository.
On the long run, one might think of an Icinga 2 application cluster based on Docker containers. Who knows – happy testing & sending patches! 🙂
Compliments of Linux Magazin, a streamed video of our presentation at the Open Source Monitoring Conference is now available for all to view. October 2010, Bernd stepped up to the mic on behalf Michael F, Lara, Marius, Ricardo, Jannis, Karo and Scott who were all there (on/off stage, calling in from Oz) to represent the team.
In the presentation, he introduced Icinga’s technical foundations and explained plans to improve Icinga’s architecture to better solve problems in distributed and large environments and bring greater redundancy. Current REST API development was also on show, alongside a demo of the classic and new web interface with integrated Jasper reporting and Business Process Addon views.
After sharing Icinga’s roadmap the team topped it all off with a surprise release of Icinga Mobile offering of course a live demo. Keep your ears perked for the rustle of smart phones pulled out from pockets in the crowd, as the demo took on a more collective nature.
Though it was presented in German, the slides are completely in English.
View the streamed presentation at http://www.techcast.com/events/osmcfree/icinga/ and enjoy!
Together with the release of Icinga 0.8.1 yesterday, we also updated our demo system. To try Icinga without installing it, please go to http://demo.icinga.org and login with username “guest” and password “guest”.
If you have any questions or ideas, let us know on the mailing lists.