Tag Archive for 'release'

Released: Icinga Core 1.0.1 & Web 0.9.1 beta *NOW*

Icinga marches on with the release version 1.0.1 and a heap of improvements to boot:

Core 1.0.1: If you haven’t been keeping up with Michael F’s updates, the Core team has been making a whole heap of improvements in IDOUtils with optimized indexes and housekeeping, oracle enhancements and two fantastic new features from the community – cheers to Vitali Voroth, DECOIT GmbH for his escalation condition patch and Bill McGonigle for his service_check_timeout_state suggestions! The list goes on, so check out the changelog for more info.

Docs 1.0.1: The Docs team has kept up to speed with new help topics on escalation conditions, using Oracle as the RDBM and of course how to upgrade it for Icinga Core 1.0.1.

Web 0.9.1 beta: As previously hinted, the Web team has developed a bunch of new features including compound commands, status icons, built in persistence and even more flexible user settings.

So click on that download button on the right to check it out for yourself – and don’t forget to give us your feedback in the comments or issues lists!

  • Share/Bookmark

Icinga IDOUtils – More Improvements Part II

As mentioned in the last post, there are other improvements for Icinga and IDOUtils.

This time, I want to give you a deeper look onto database performance and the housekeeping stuff.

As you might know, selecting, updating or even deleting a row from a table heavily depends on the row count. If table size grows bigger e.g. in the historical tables from IDOUtils, those queries will be slower and hold back the main process. Current approach of IDOUtils is one forked child of ido2db for one idomod connection – working sequentially on the gotten data.

So even one select taking longer will slow down the data processing and worst case the socket will get blocking and idomod complains about writing to data sink.

But how to resolve those issues?

First of all there were several approaches originally found in mysql-mods.sql – setting indexes on table columns which are being used within the WHERE clause. Regarding the fact that ido2db is not just an insert application, but also deletes historical data on demand (table trimming options), selects objects for caching and furthermore updates existing rows (service/hoststatus e.g.) we decided to apply most useful indexes on the table creation statements. It does slow down an insert a bit, but the overall benefit is much bigger than that :-)

Also the upcoming Icinga Web benefits from that – e.g. the logentries tables select performs a lot faster when using the API and a RDBMS.

But that’s not all – indexes are only one approach of improvement. In the last few months, Hendrik, Christoph and myself discussed a lot about the periodic housekeeping. The basic approach was to remove housekeeping function from the main data processing. Simply because historical deletes on large tables will take even longer and prevent new data being written to the database.

There have been discussions about a cronjob and seperated forked processes for housekeeping, but we wanted something within ido2db and simple to use. So Hendrik came up with the idea to create an own thread within each ido2db child which runs completely seperated from the main data processing flow – the so-called threaded housekeeper.

The thread just waits for the appropriate instance getting connected and then performs the periodic housekeeping – independant from the main flow. And it does not interfere with the normal data processing. So to speak it resolves a big performance issue within IDOUtils.

Basically, this is the way it performs:

  • sleep a while after creation and intialization
  • idle wait for database connection and connected instance from main process
  • perform periodic maintenance not interferring with main process
  • will be terminated when ido2db shuts down

Best thing so far – it has been implemented and tested and improved quite a while. Mostly done in our own git branches, but the final solution is within current git master and will be one of the outstanding new features for Icinga IDOUtils in the upcoming Icinga 1.0.1 release.

Stay tuned for more updates!

… and prepare for Icinga 1.0.1! =)

  • Share/Bookmark

Icinga development visualized by Gource

Hi there,

Icinga and the fork happened not that long ago but during this period of time a lot of nice things happened.

Providing Icinga Core with integrated IDOUtils supporting MySQL/Postgres/Oracle, fresh docbook format and therefore enhanced documentation, a completely new Icinga API based on IDOUtils and providing data for the new upcoming Icinga Web. Also lots of other improvements and enhancements.

Writing a historical overview would get boring soon. So we decided to catch up on another Idea: gource.

It’s a small program fetching all commits within our git repositories (core, doc, api, web) and presenting the timeline and changes using rendered pictures.

But that’s not all, it is possible to convert that to nice looking movies.

But there is so much to tell…

Not this time!

Just relax and watch :-)

Icinga Core

Icinga Doc

Icinga API

Icinga Web

  • Share/Bookmark

Icinga Core 1.0 Stable & Icinga Web 0.9.1 alpha released!

December 16 2009: Today the Icinga Team releases the Icinga Core 1.0. This is a milestone for both the team and the project as a whole. After many months of hard work we are proud to bring you a stable, alternative monitoring solution. This release includes many changes as suggested by the community and in particular the inclusion of Oracle in IDOUtils.

With just as many new improvements, Icinga Web UI has hit release 0.9.1 alpha. We have added a makefile for easier installation and fixed installation permission and cache problems. More changes are still to come, including an ExtJS update to 3.0.3. See below for the full list of new developments across Icinga Core, API, Docs and Web.

As we are always eager to keep the momentum going, we have decided to release the stable Icinga Core alongside the Icinga Web 0.9.1 alpha. These two will converge again in the coming months to a uniform release status. Till then, we hope you like the latest improvements.

Core:

  • Improved IDOUtils with Oracle
    Added prepared statements for most called queries
    Split code into ocilib OR libdbi, to allow oracle to decide which rdbm lib will be used during configuration
  • idoutils: fixed duplicate rows in table system commands, timed events, timed event queue (missing unique keys)
  • idoutils: added upgrade path/sql queries for unique key failure – check docs for more information
  • idoutils: changed default data_processing_options in idomod.cfg
  • idoutils: fixed this version and perl path generation in db install scripts
  • idoutils: fixed save custom variables segfault

Docs:

  • Updates and fixes for quickstart guides
  • New section on upgrading Icinga & IDOUtils
  • Revised section for Icinga Web

API:

  • Restructured DB access for upcoming RDBM support
  • Made several fixes for table prefix, exception handling
  • Started a ‘how-to’ guide for upcoming documentation

Web:

  • Added makefile for easier installation
  • Fixed installation permission and cache problems
  • Modified .htaccess
  • Removed yui
  • Removed php notice warnings (isset, undef vars)
  • In the process of changing API result keys to uppercase
  • In the process of updating ExtJS to 3.0.3
  • Introducing commands through the web

Should you find any issues, please report them to the following links:

As always we look forward to your feedback, so feel free to drop us a comment.

  • Share/Bookmark

Icinga Presentation – OSMC

Two days ago we presented the actual 1.0 Release an an early demo of the new webinterface at Open Source Monitoring Conference in Nuremberg here.

Here you can have a look on the presentation.

osmc_icinga

Demo for the alpha version will be available soon.

Nice weekend.

  • Share/Bookmark

Icinga Web 0.9.0 alpha is revealed!

Sorry for the delay on the release, we had to catch several technical issues next to OSMC.

We decided to split the releases into Icinga Core and Icinga Web. Therefore you will find two several packages to download and install.

The Core contains the Icinga API and IDOUtils which are needed for a functional Web this time. Make sure to download Icinga 1.0 RC1 and install it with IDOUtils for MySQL, the API will be installed automatically in share/icinga-api/

The Icinga Web depends on the API – you have to point the config to the actual install path. There are also several prerequisites and dependencies to resolve, so please catch on the instructions in doc/install-fromscratch.txt and do not hesitate to ask questions on the mailinglists and/or report any issues/bugs on our dev tracker.

Please keep in mind that this is an alpha release and be patient while we are working on future versions! :-)

  • Share/Bookmark

Icinga 1.0 RC1 awaits you!

The much awaited release of Icinga 1.0 RC1  is now available for download!

New features/updates implemented in this release are… (see Changelog for more detail)

  • Oracle support with oclilib
  • SSL support
  • idoutils: fix typecast bug – unsigned long is bigger then int
  • idoutils: fix oracle notif_timeperiod_object_id (30 chars max)
  • idoutils: fix oracle table serviceescalationcontactgroups (30 chars max)
  • idoutils: fix hoststatus/servicestatus/servicecheck unique constraint updating mismatch
  • idoutils: fix insert_or_update queries where update violates unique constraint
  • idoutils: remove and ignore oracle table_prefix (30 chars max)
  • idoutils: workaround to handle more than 4k Data which may exceed service outputs incl. long perf_data
  • core init: delete ’su’ usage since all previously su touched files were created by the icinga user
  • idoutils: fix unescape bug during tabstops
  • idoutils: fix idomod/icinga segfault while try to use ssl on unix sockets
  • core configure: set INIT_OPTS depending on detected host OS (no more root:root on FreeBSD?)
  • idoutils: fix case insensitive comparison in MySQL using BINARY
  • idoutils: change ido2db.cfg: ndo2db_[user|group] to ido2db_[user|group]
  • core web: fix missing gif icon copy

Please Note: if you are upgrading from an earlier release, you will need to update the user config in ido2db.cfg from ndo2db_[user|group] to ido2db_[user|group]

As always your feedback is welcome! if you have suggestions or improvements please communicate these via the icinga-devel

mailing list and should you have any trouble with installing/compiling then please use the icinga-users mailing list.

More details to follow soon about the new Icinga-web UI…

From the Icinga Team … Enjoy!

  • Share/Bookmark

Icinga 0.8.4 is out – bugfixes and updates for IDOUtils and Docu

Download Icinga 0.8.4

Since we decided to give you the opportunity to test the new IDOUtils with re-engineered code for more RDBMs and Postgres support too we were aware of the fact that there would have been bugfixes to apply ;-)

There were several issues to fix, not only Postgres but also typos and rewritten queries. We also added some improvements to the code, to mention configure support for manual libdbi detection and also the new version handling for IDOUtils. It’s now the same als Icinga Core, the old fashioned 1.4b8 has been dropped since we implemented a lot of new stuff to the original code.

Following the Changelog what’s been done so far:

  • idoutils: fix failure_prediction_options in tables hosts, services for postgres
  • idoutils: add configure support for manual libdbi detection
  • idoutils: fix typo laste_state (wrong column)
  • idoutils: fix buffer freeing with NAGIOS_SIZEOF_ARRAY
  • idoutils: delete old mysql files coming from ndoutils
  • idoutils: add new version handling, idomod/ido2db now shows version of Icinga core
  • idoutils: rename existing mysql/pgsql files, added upgrade/fix files
  • idoutils: fix wrong typecast in servicestatusdata_add, no more segfault while query preparing
  • idoutils: add experimental db trimming interval option in ido2db.cfg
  • core: fix wrong copyright url for Ethan
  • docu: fix quickinstall guides

Those changes and improvements to the code are worth a new release!

Thanks for testing and reporting bugs and improvements to our mailinglists, dev tracker and here in the blog! =)

PS: Concerning Oracle, I’ve started preparing the code in another branch (edit Makefile for ocilib, rewrite db connection, add parameter bindings for queries and so on). I hope this will be done within the next few weeks and maybe we’ll catch up with another Icinga release before 1.0 alpha :-)

  • Share/Bookmark

PostgreSQL supported Icinga v 0.8.3 is out

Basic RGBWe heard the call and we answered: Icinga is out with PostgreSQL support with working queries, sequences and all. Good news for users who have been looking for a Nagios based open source monitoring system which has database flexibility for not just MySQL but also Postgres. A big hand to Michael and Hendrik!
Applause should also go to Lara and Wolfgang for their hard work on the Icinga documentation, as we also have the first edition out in Docbook format.

A big release before the first Alpha in October, we hope you like it and share your thoughts with us. This version’s proof that your ideas count.

  • Share/Bookmark

Icinga 0.8.2 is released

Download IcingaAs promised, version 0.8.2 is out and ready for download. Aside from fixing a few bugs in ido2db and the function “make fullinstall” the current IDOUtils now also supports long_output. Additionally, for accelerated development, we’ve also had a go at some of the pending Nagios patches, so this version should be up to speed.

Since supporting the hot wanted other databases is a harder nut we thought it would be, we weren’t able to support PostgreSQL in this release as we hoped to but Michael is on a very good way to handle the database dependent SQL queries. May be we are able to give you an interim release before the next big 0.8.3.
As a consolation gift we have integrated the Icinga PHP API for the first time. The PHP API should be installed with a normal ‘make install’.
Feel free to test the search bar and give us feedback about that.

The next release is planned for 2 September, but in the meantime we look forward to the feedback!

  • Share/Bookmark