News from Core, CGIs & IDOUtils – Part II

Part II of this series catches up on our work on the CGIs – what happened with them since 1.0.1?

Icinga CGIs

Next to the new Icinga web there was some space to fix and enhance the current classical UI (“the CGIs”).

Some minor typo fixes reported by community users have been applied, missing js files have been added and the check_daemon_running function has been modified in order to work with MacOSX again.

The quick search has been added again next to the live search (which is now called “extended search”). During a research on older patches it came up that if a user is authorized for a host all service authorizations views are derived from that. If you don’t want that you can now modify show_all_services_host_is_authorized_for in cgi.cfg to 0 (only if the user is not globally allowed to view all services).

The docs mentioned that display_name on host and service definition would fulfill another displayed name on the classical UI. This is now available exclusively to Icinga in 1.0.2 – if you don’t set display_name, the default host_name/service_description will be used instead.

Thanks to Jochen Bern from LINworks GmbH the CGIs now allow adding multiple urls for notes|action_url on host|service object definition – if you ever needed more of them (like me) :-)

Stay tuned for Part III – it will catch up on Icinga Core – and a lot of things to talk about =)

  • Share/Bookmark

News from Core, CGIs & IDOUtils – Part I

Hi there,

it’s been a while since recent release of 1.0.1 in March. Quite a lot of things happened – Hiren Patel and Massimo Forni joined the Core developer team while Hendrik moved on to new projects. But not only refreshening the team makes Icinga Core, CGIs & IDOUtils more valuable this time.

Regarding the GIT commit history and the issue roadmap for 1.0.2 you can imagine the evolution – but this is just an historical listing and does only show basic “who did commit and fix/create what on which date”.

Today Icinga will be “feature frozen” and is up for testing – we need testers for the upcoming Icinga release !!! Guides are available within our development wiki :-)

What exactly happened since 1.0.1?

Many people were asking what exactly changed in Icinga on the core side – in an easy and readable way. So let’s try it here in 3 Parts :-)

The changes and enhancements will be split into the Core itsself, the CGIs and the IDOUtils – all of them more or less historically summarized.

Part I starts with …

Icinga IDOUtils

There were some bugs, one major causing data inconsistency but also some enhancements regarding usage and performance.

The current database schema implies a centralized view on the objects table on which all relations are built and joined. During startup of Icinga Core normally old configs get deleted and existing objects marked as inactive. After that, the new config is being checked against those objects and if none found, a new one inserted. This is the expected behavior but a bug leading from the libdbi rewrite caused this check to fail and always inserting a new object. This caused an explosion of the objects table and decreasing overall performance on select/update roundtrips.

Thanks to William Preston the source is fixed, and the remaining data inconsistency with active and inactive objects related to historical checks in the RDBMS also has been fixed. Within the docs you will find a more detailed description and upcoming 1.0.2 will include upgrade SQL scripts in order to keep your database consistency!

Next to that, the string escaping has been modified again not to provoke any more errors. Some RDBMS specific fixes on wrong datatypes were added to.

The source has now completely been rewritten (s/ndo/ido/) and in order to keep everything clean, the core neb api now provides an Icinga specific object version which is used in IDOMOD 1.0.2. The old Nagios ™ one has been kept for compatibility. This implies upgrading both, Core and IDOUtils in 1.0.2.

Another performance issue on MySQL – the binary selects were a nice idea but resulting in major memory and performance problems. Just for getting case-sensitive compare this can be resolved defining the correct collation on the affected columns – thanks again William Preston.

The internal linked hash list for objects has been extended in order to minimize objects selects. This increases overall performance a bit – thanks Opsera Ltd for their Altinity patch.

Some SELECT queries asked for all columns instead of just the primary key if they were just checking for an existing row. Altering this minimizes overall unused RDBMS traffic.

IDO2DB now writes to syslog if it fails to connect to the RDBMS or if the database schema cannot be accessed – and not just quitting without error.

The IDO2DB initscript has been rewritten not to depend only on the lockfile (just like Icinga Core) and if the startup fails this will be shown too, also removing the lockfile.

Jan Drogi (ja5kier on irc.freenode.net #icinga) was asking about persistent configuration during a core restart where IDOUtils clean the config by default – e.g. to keep custom variables relations. Therefore 2 new config options for ido2db.cfg have been added: clean_realtime_tables_on_core_startup and clean_config_tables_on_core_startup. If set to 0 no startup cleaning will be performed.

Stay tuned fo the second part of this series! Meanwhile keep on testing :-)

  • Share/Bookmark

Icinga at the Nagios Workshop

Sound’s weird, but it is not. This year’s workshop of the German Nagios community took place in Nuremberg.

Beside a lot of other interesting projects around Nagios, the Icinga team had a chance to share our latest developments. Starting with a short status update of all project parts it was also a chance to give the audience a first impression of the upcoming reporting implementation.

Icinga Reporting is based on the IDO backend and just like the core, it will support all major database platforms. You can download all templates and the actual servlet implementation in our Git.

There was a lot of positive feedback and also a lot of ideas for the coming months until our final release in October. You can download the presentation here. Enjoy!

  • Share/Bookmark

YouTube: Icinga vs Nagios – What’s the difference?

Yep, we did it. We’ve finally tackled it head on and answered that nagging question – What’s the difference between Icinga and Nagios?

Indeed a year on, Icinga has ascended above the status of a mere fork. After implementing 400+ patches, bug fixes and feature requests, as well as a flexible API based system architecture – Icinga is now a piece of monitoring software to reckon with.

See for yourself, the differences in the system architecture, web interface, addon development style and above all the team and community that are behind it – on YouTube!

YouTube Preview Image
  • Share/Bookmark

Roadmap and Upcoming Versions

This week we finalized our release plan for the next few months. So far everything is going to plan, and we are on our way to shipping a unified, final version of Icinga Web, Core and Documentation in early October.

There will be additional releases in June and an intermediate version in August.

  • 1.0.2 – 30 June 2010
  • 1.0.3 – 18 August 2010
  • 1.0.4 (unified stable release) – 6 October 2010

Hand in hand with the active community, contributors, our new team members and yourself, we will sprint to the finish line next month to extend and stabilize Icinga -  and take it to the next level.

Check out our development system to follow our day-to-day progress.

  • Share/Bookmark

Team Icinga welcomes new members

Icinga has been growing and in just the last three months we are proud to welcome 4 new faces to the Icinga team.

Joining in March, Alexander Wirt has offered to support the Icinga Core development team and maintain the official Debian Packages for Icinga alongside Nagios.

As of April, Jannis Mosshammer joined the Icinga Web & API development team, specializing in the module loader architecture. He has already developed Icinga’s first module – Heatmap for Icinga and a module loader howto describing how to create an
Icinga-module and setting it up for automatic installation. We’re happy to have him on board with his extensive experience in modern web architecture and underlying framework like Agavi.

Hailing from South Africa, Hiren Patel joined Icinga core to share his Perl and new found C programming skills.

Finally just this month, Massimo Forni too came on board the Icinga Core team to lend a helping hand with his C, Perl and Python expertise from his vantage point in Italy.

We give a big shout out to the new Icingies who we’re very excited to have with us, and swing the doors wide open for anymore fans who might want to actively support the coolest monitoring software on the planet. :-)

  • Share/Bookmark

Icinga introduces… Scott Evans (Icinga Marketing/Testing)

Day job: Hmm… I’d rather not say… Ok I’m unemployed!

What are your areas of speciality in the Icinga team?
Speciality?  Hmm… more like fumble! I like to test the latest git branches to assist with de-bugging anything I can (or understand!)

What are you currently working on?
My master plan? Oh sorry! … right err, well I was attempting to make a Debian package of Icinga however I gave up due to not having “enough” experience in that field. I’ve also corrected some minor typo’s in the English documentation as well as removing some references to Nagios (simple find/replace) but nothing that would place me in good stead to be classed as a true contributor!

What attracted you to Icinga?
Well, it all started out with seeing a twitter post about the fork, and just grew from that! I blogged about my small Icinga set-up (by comparison for what Icinga is capable of!) and then there was one point where I was unsure about how to set-up SMTP queries and that was my fist contact with the Icinga team, it wasn’t long after this I was approached to assist the marketing of Icinga by joining the team… the rest is now history (as they say!)

What was one big challenge or memorable moment while on the Icinga team?
Hmm… tricky but I’d have to say the OSMC, as the team was working on the release of 1.0 RC1 Karolina had sent me a login I could use to view the OSMC (thanks heaps!) and there was a small glitch that caused the delay in the release of the new icinga-web UI. I pulled an all nighter (10 hour time zone diff) so that would have to be it! Oh and of course being asked to join the Icinga Team is certainly up there!

Outside of Icinga, what are some of your other pet projects?
Well I have a few…  the first is one I have been doing since 1995, I’m an Amateur Radio enthusiast. So I like to play with electronics (not scared to take the lid of something to find out why it doesn’t work!) This hobby has so many different aspects to it therefore it suites many people for that reason. My main interest is “Packet Radio” (this is similar to WiFi but mainly done using 1200 baud!!) So I’ve had a hands on for the understanding of networking from that. The second is that I (unofficially) package an application called Me TV. This is a DVB-C/S/T & ATSC program you can receive television! I’ve been doing this since February 2009 (this is where I got my Debian packaging experience from)

What would you bet to be the next big thing in the open source or IT world?
Hmm… I’d like to say “The day without Microsoft” but realistically, just the recognition that there is an alternative and you have the freedom to choose. As for here in Australia, there are not many IT vendors that sell PC’s that have Linux on them, as they have all been lured by the cash incentive to sell Microsoft

How do you like to spend your time away from the keyboard and monitor?
WHAT? why would I want to do that for?  (seriously!) I enjoy spending quality time with my wife Clare! and our moggie (cat) Maisie!

What’s your two cents on Icinga?
Just to ensure that the development continues to grow and that its (Icinga) popularity grows with that.

  • Share/Bookmark

Happy Birthday Icinga and THANK YOU ALL!

Today Icinga celebrates its first birthday. One year ago, Nagios was forked and Icinga was publicly announced. We were so excited. It may not sound like a big thing, but for us it was a big step and what happened in this last 365 days was huge and proved us right.

First of all, Icinga today is much more than just a Nagios fork. It has become an innovative and vivid open source project, with all its ups and downs. Lots of people joined the team and are trying to make Icinga a better monitoring tool and now it is time to thank everyone who helped, even if it was only a small contribution. Thanks for showing love for Icinga…you are awesome!

Another cool thing: we were able to stick almost 100% to our roadmap. All releases were ready for download on the promised day and it looks like we are even a couple of days ahead with our plans for the next release. Lots of new features have been developed: modifications to the core, support for Oracle and PostgreSQL, a brand new webinterface that has multiple languages provided by the community. Supportwise, we implemented a living bug tracking, a feedback system and created even our first webcast! And it was fun!:-)

All of this wouldn´t be possible without the great Icinga team. Right now, we are 16 active members from all over the world: from Australia to Austria and from Germany to South Africa. As the software progresses, so does the team. Everyone is welcome and we want you to be Icinga.

As we see more and more positive blogposts, tweets and case studies, we are very encouraged to carry on. Let’s celebrate a happy Icinga birthday.

Cheers!

  • Share/Bookmark

Do-It-Yourself: Translate Icinga Web

Since our latest release of Icinga Web 0.9.1 Beta, we’ve been getting a good lot of interest from all around. So we thought we’d better find a way of catering to the many users that are starting to come onboard.

We came up with translate.icinga.org – a place for anyone and everyone to add their word or two to Icinga’s web interface, in over 110 languages from Spanish to Japanese, Flemish to Punjabi. Based on Pootle, the open source translation tool used by bigwigs like Mozilla and Word Press, we thought it could be a little overkill – but who knows who might one day need Icinga?

All that matters is that it’s user friendly and the Icinga team can upload files to be translated, that go automatically into our git repositories for easy incorporation into the source code.

Pop us a message if you’ve got a language you want to translate to, at the moment we have files in English, German, Spanish, Portuguese and Polish waiting for your input. All you need to do is login with your usual Icinga account (or register for one here) and off you go!

  • Share/Bookmark

ICINGA introduces… Michael Lübben, Project Co-founder and Icinga Web

Day job: I work at BTC IT Services GmbH (BITS) and specialize in all things to do with monitoring and Nagios there. Day-to-day, I manage two large Nagios platforms, which are built for redundancy and high availability. The larger of the two currently monitors round about 1700 hosts with approx 14,000 service checks.

What are your areas of specialty in the Icinga team?
I contribute to Icinga in API and web interface development, unfortunately juggling work and uni at the moment has limited me immensely in how much I can do.

What do you enjoy about working on the project?
I like the whole team and what glues us together. It’s so much fun to work with a bunch of crazies, who simply want to do something meaningful with their free time :-)

What was one big challenge or memorable moment while on the Icinga team?
Well, it was no easy decision to fork. I can still remember sitting together brainstorming names and asking ourselves a few times over if we really wanted to do it. The decisive moment was when we announced the fork; then I had 1000 questions buzzing through my head. Was what we were doing really right? How will the press, community, developers, etc. react? Today I look back and think the decision was 100% right!

Outside of Icinga, what are some of your other pet projects?
Beside Icinga I maintain the Nagios/Icinga Portal and work mostly on the NagTrap addon, but every now and again on NagVis too. Last year I took over the technical editing of “Nagios- Das Praxisbuch” by Gerhard Lausser and on top of that I have been running my own charity project “The Open Source Community Helps!” (http://die-opensource-community-hilft.de) Here I collect donations which go 100% direct to help needy children in Germany. At the moment the money is going to support a pediatric clinic in Wilhelmshaven.

What would you bet to be the next big thing in the open source or IT world?
Hmmm, that’s hard to say. I think that Linux’s presence as an operating system will grow in the future, or perhaps in other words – I hope so ;-) Otherwise I reckon cloud computing will be the next wave to hit us as everything becomes more and more networked.

How do you like to spend your time away from the keyboard and monitor?
Beside work, I am studying Business Systems at uni, which takes up a lot of my spare time. But otherwise I like to read a good book, go to the gym and more lately, try my hand at photography.

What’s your two cents on Icinga?
1) If we talk about enterprise monitoring, then I think it is not enough to just support MySQL and PostgreSQL in the NDOUtils/IDOUtils, rather large databases such as Oracle should be too. Many large companies rely on Oracle and have it active in use. In my opinion, Icinga made a significant step forward here.

2) Through the new API and web interface, Icinga will offer far more freedom to develop. Just the API alone, makes life a lot easier :-)

Overall I hope that more and more people try Icinga out and see for themselves, the potential that is still waiting to be tapped…

  • Share/Bookmark