Every now and again, people say they like the progress made on Icinga Core, but Icinga New Web is not for them. What they often don’t know is that it is possible to download Icinga Core and install it on its own, without the new web interface.
Download Combo: [Icinga Core + Icinga Classic Web]
If you are accustomed to the traditional layout of interfaces like Nagios, or may use a lot of addons which are suited to them, we come to you with a perfect combination: Icinga Core + Icinga Classic Web alongside your preferred database (currently MySQL, Oracle and PostgreSQL supported). By default Icinga Classic Web doesn’t need IDOUtils in connecting to the database, other than for use with Icinga’s reporting component.
Icinga Core and Classic Web come packaged together, and offer a good stepping stone for those who are first migrating from Nagios to Icinga. The two are very similar to their Nagios counterparts, however enhanced with many more features.
[Icinga Core + Classic Web] = [Nagios (GPL version) + Extra features + Reliable Development]
Icinga Core supports not only MySQL, but also Oracle and PostgreSQL databases. It also receives frequent love and care in form of patches and general maintenance. On the Icinga Classic Web front, current enhancements include:
- JSON output for accelerated data access
- CSV export on CGIs to aid addon development
- Log file search with filters, regular expressions and wildcard capabilities
- Compound commands to send to multiple hosts/services simultaneously
- Dependencies displayed in host/service details
- Tactical overview header to keep an eye on the most important details in every window
For more in-depth information check out:
Icinga Classic Web blog posts and Icinga Classic Web Demo
Icinga Core & IDOUtils blog posts
Icinga Wiki pages on config differences between Nagios and Icinga and the version changelogs
Distributed Systems Monitoring – Install all Icinga Components Separately
Distributed Systems Monitoring: Possible setup with Icinga New Web
In fact all components of an Icinga system (Core, New Web / Classic Web, database) can be installed separately and even distributed across different machines. This is thanks to Icinga’s modular architecture, which ties its parts together through REST, web and plugin APIs.
So, not only is distributed monitoring possible with Icinga- where multiple servers distribute the monitoring load – but also a distributed monitoring system where Icinga Core, UI and database can be scattered across different machines for greater redundancy. In such a case, if one component were to fail, it could be easily replaced without affecting the running of the entire monitoring system.
So what are you waiting for? Test drive Icinga Classic UI or dive in an download the latest Core + Classic combo now.
I’ve always been tempted by icinga-web and like many of you have probably also done, I even used it… at least for a while. With each new release, my first impression of icinga-web is always, “Wow, these icinga-web developers are absolutely amazing!”. Yet for all it’s new web 2.0 goodness, I would eventually find myself inevitably returning to the Classic UI over time. First, because there was a particular view of something that I was used to or just preferred slightly more. Then eventually, click by click, I would slowly stop switching altogether and just use the Classic UI. Partly out of laziness, but mostly because moving between the two completely different visual styles always felt a bit too jarring.
When in the Classic UI, the one thing that I really missed about icinga-web and truly hankered for was the constant view of important events displayed at the top of the screen. For those not blessed with two monitors that can be dedicated to monitoring, constantly bouncing between the finer details of things such as a host’s extinfo and then back to the TAC for the broader view of what is going on can quickly make one feel like they are on one of those hamster wheels. A lot of effort for zero progress.
Perhaps what I’ve said so far feels all too familiar to you?
I thought it might, so I had a simple idea. Following in the fine tradition of the Three Virtues of a Programmer (Laziness, Impatience and Hubris) I decided that rather than my usual patches that just fix something that is already there, I was going to create something new. I was going to replace what was essentially dead space in the interface and make it a bit more useful.
At the same time, I wasn’t necessarily interested in creating a whole new look. I’m sure if I had, everyone would summarily reject it. So in a fit of insight I decided to give a nod to the great work that the icinga-web team does, while still also holding on to, however tenuously, the minimalistic feel of the Classic UI’s top.html with its tab looking graphic that has become so familiar. The result that you see today, is my conceptual blend of those two visuals.
Don’t get me wrong though, a similar feel to the look is all there is. The new tactical header was written without any reference to the code of its counterpart in the icinga-web. Perhaps that might be seen by some as some sort of oversight on my part, as I’m sure some people might expect it to work exactly the same. However, the point wasn’t to make it merely be a clone, but for it to stand on it’s own and for it to be as useful as possible in how it relates to the rest of the Classic UI.
I’m sure as we get feedback, there will be some modification and some fixes as well. Hey, I’m only human and the new tac header in its current form is just one person’s (my own) vision of how things can be. I can already think of a couple of things that I think might work even better.
However, this is where you come in. No, not that guy behind you, I mean YOU!
Not that long ago I was just a regular Icinga user with the occasional submission of a few patches here and there. Now I’ve made what I hope is a lasting mark that many people find very useful. The key point I want to make though, is that just like all of the things that get developed, it started out as a simple idea.
So if you have an idea, or any feedback really, let the Icinga Team know. Even if you can’t offer to code it yourself, that doesn’t make your ideas any less valuable and even something that you think is just a small idea can make a fairly decent impact to the benefit of everyone. Just log onto your new Icinga 1.4 installation and look at the top of your screen if you want to see the truth of that for yourself.
You might be wondering, why Icinga has two web guis available for install
- Icinga Classic UI (in icinga tarball)
- Icinga Web (in icinga-web tarball)
Icinga Classic UI combines the Icinga CGIs using the old data storage format, based on HTML and CGI while the new Icinga Web introduces a shiny web 2.0 framework based web interface, using Icinga IDOUtils as data source. The overall question would be – why focus on 2 guis?
The answer is rather simple – many members of the core team (and others) still have their existing setups – large environments using the Classic UI and introducing something new isn’t always possible. Even more, taste is different. And of course, Icinga Classic UI still provides a local fallback, if (remote) Icinga Web might cause troubles. Last but not least, there are Icinga addons using the CGIs, and we love to help developers using alternative methods than HTML parsers. This is why we are actively pushing development ressources into Icinga Classic UI whilst working on Icinga Web, sharing fresh ideas amongst each other.
You might have followed the overall history on the Classic UI enhancements we already introduced: adding support for display_name attribute, multiple command sending for hosts/services, CSV export for all CGIs, add address6 / IPv6 support, and many more.
For Icinga 1.4 we had a bunch of long awaited and also newly introduced features on our roadmap:
- Searching in the Icinga Logfile through the Webinterface, introducing new filters, rewritten code, enabling filtering on historical data / reporting for future development (#516)
- Store cmd.cgi submissions in log – initially implemented, and if enabled via cgi.cfg it will catch who did send which command (#1161)
- Enforce a need for comment for action taken in cmd.cgi – can be used in combination with new cmd.cgi logging (#610)
- Add config option to set start of week (sunday/monday) – for trends and reports (#1269)
- Display host/service dependencies in host/service details in extinfo.cgi – might become handy (#1300)
- Allow searching for host display_name normal and via regexp – completing display_name support (#1393)
- Add JSON output to cgis – will become handy for addon devs, like CSV export (#1217)
- Replace top.html with alternative CGI driven view – Thanks to Matthew Brooks, Icinga 1.4 will get a new top frame, showing the status information like Icinga Web does (#1406)
We hope you like the latest changes – stay tuned for Icinga 1.4 on 11.5.2011 including Icinga Classic UI 🙂
Update 6.5.2011: Matthew just provided an enhanced version of the status header (added image below). This will show the counts of unacknowledged active/passive and acknowledged states including title hover. Even more, the background color will change. Let us know what you think 🙂
As our new release gets closer we would like to give you a little sneak preview of our upcoming features for the Classic UI.
The most obvious changes are:
- tooltips for comments in status.cgi – you don’t have to open the host/service anymore to see the comments, just move your mouse over. Nice idea Ricardo 🙂
- multiple delete of comments and downtimes – now you can tick the items you want to delete and click the delete button – just like multiple commands support in status.cgi. Well done Rune&Ricardo!
- csv export on pretty much every page – you can now export various lists and status data directly. There is a small “Export to CSV” link bringing up a page with the current content in csv format. Adding two new config options where you can decide which characters are used for output format completes this nifty enhancement – great job Ricardo!
- commands expander for config display. This will help at $ARGn$ substitution and showing the exact command line the core will attempt to execute. Long awaited feature, big thanks to Jochen Bern!
We hope you like the enhancement & fixes for Icinga Classic UI 1.2 – please help us test for the upcoming release! 🙂