Icinga

Was gibt es Neues in Icinga Core 1.0.1 und Icinga Web 0.9.1-beta

Icinga Core:

Erweiterungen:

* core: neue Variable für Services service_check_timeout_state

* core: neue escalation_condition-Definition

* idoutils: ido2db mit threaded housekeeper

* idoutils: Indizes für DELETE/SELECT- Anweisungen

* idoutils: reorganisierte DB-Installationsdatei für MySQL/Postgresql/Oracle

* idoutils: kompletter rewrite der Oracle-Parts zur Performance-Verbesserung

* idoutils: neuer Pfad für die mysql/pgsql/oracle-Aktualisierungen - für mehr Informationen schauen Sie bitte in die Dokumentation Upgrading der IDOUtils

* idoutils: initiale Debug-Ausgabe für idomod (zu setzen in der idomod.cfg)

* idoutils: Hinzufügen des DB-Namens in der Verbindungsmeldung im Syslog

* idoutils: ändern der MySQL-Datenbank-Engine zu innodb (kein Tabellenlocking, bessere Transaktionen)

* idoutils: hinzugefügte Option im configure-Skript --with-oracle-lib=/path/to/instantclient, Export von LD_LIBRARY_PATH wenn der Instantclient nicht in PATH installiert wurde - bitte schauen Sie in die Dokumentation für weitere Informationen: quickstart-idoutils

* idoutils: Hinzufügen von max_logentries_age und max_acknowledgements_age zu ido2db (siehe ido2db.cfg)

Fixes:

* core: Fix segfault in cmd.cgi

* core: Fix event broker callback function self de-registering for callbacks

* core: Fix idomod De-Initialisierung nach Konfigurationsfehler

* core: Fix make fullinstall/idoutils ohne enabled idoutils während des configure

* core: Fix für das Senden von zwei identischen service_status-Events zu neb module

* idoutils: geändertes string escaping für mysql und pgsql

* idoutils: Fix für pgsql Tabelle systemcommands (fehlende Spalte 'output')

* idoutils: Fix für acknowledgments Queries, wrong buffer freed/set as query to db

* idoutils: Fix contactnotification data array, command args were not provided

* idoutils: Fix custom_variables object_id type int = unsigned long

Für detaillierte Information der einzelnen Releases schauen Sie bitte in den Changelog.

Icinga Web:

* Added some icinga specific principal target classes

* Finished editing of principal targets for users and groups

* Added editing models for principals

* Finished principal target filtering in xml temlates

* Added principal target toolkit for api search queries

* Hinzugefügte volle command-Spezifikation

* Filter für host/service hinzugefügt

* Hinzufügen von mehr Statis (flapping, downtime)

* Globale xml-Ersetzungen durch die Templates (view proc)

* Aktualisierung von ExtJS to 3.1

* Implementierung von Kategorien für die Cronks

* Cronks für Usergruppen

* Tactical overview template engine

Für detaillierte Information der einzelnen Releases schauen Sie bitte in den Changelog:

Icinga Api:

* Restrukturierter Datenbank-Zugriff für die zukünftige Unterstützung von weiteren RDBM's

* Diverse Fixes für Tabellen prefix und Ausnahmebehandlung

Icinga Docs:

* Aktualisierung der Schnellstart-Anleitungen

* Aktualisierung der Upgrade-Anleitung von Icinga und IDOUtils

* Aktualisierung der Anleitung für die Installation des neuen Webinterfaces

* neue Dokumente für Thanks und README

* neues Dokument zur API

Bitte berichten Sie Probleme hier:

Problembericht Icinga Core

Problembericht Icinga Web

Problembericht Icinga Api

Problembericht Icinga Docs

Changelog of the Icinga Core

Icinga Core 1.0.1 - 03/03/2010

* core: updated docs

* core: fix config parsing for icinga_user and icinga_group

* core: fix status.dat ok, no daemon running, show error instead of old data

* core: permanently remove sleep on run_event == FALSE in main loop (Max Schubert)

* core: add service_check_timeout_state configuration variable This setting determines the state Icinga will report when a service check times out - it does not respond within service_check_timeout seconds.

  • c - Critical (default)

  • u - Unknown

  • w - Warning

  • o - OK

* core: add escalation_condition definition (Vitali Voroth DECOIT GmbH) The escalation_condition option is completely optional and can be defined for host escalations as well as for service escalations.

escalation_condition <condition> ( [ &/ | ] <condition> )* where <condition> is either host hostname = [u,d,o] or service hostname.service_description] = [w,u,c,o].

The escalation_condition accepts a list of one or more conditions separated by & (logical AND) or | (logical OR).

  • w = WARNING

  • u = UNKNOWN

  • c = CRITICAL

  • o = OK for services or UP for hosts

  • d = DOWN for hosts

* idoutils: add ido2db threaded housekeeper

  • periodic cleanup will now be performed in own thread

  • startup blocking behaviour removed

  • housekeeper will wait for idomod instance, idle wait using und db_hello

  • creates own db connection and does its job

* idoutils: add indexes for delete/select statements

  • delete/select will perform faster

  • getting cached objects with select runs faster

  • getting logentries within icinga-web is faster

* idoutils: reorganize db setup files for MySQL/Postgresql/Oracle

  • module/idoutils/db/<rdbms>/ holds needed files

  • module/idoutils/scripts/ with installdb/upgradedb for MySQL

  • updated Makefile, README

* idoutils: complete oracle rewrite to improve performance

query rewrite:

  • 4x DELETE
  • 52x MERGE
  • 9x INSERT
  • 9x UPDATE
  • 5x SELECT
  • 1x SELECT latest data time as is (called only at startup)

  • dynamic binded procedure for DELETE on table by instance_id called at startup for cleaning config/status

  • dynamic binded procedure for DELETE on tably by instance_id, field<time called during periodic cleanup in threaded housekeeper

  • all other queries are prepared with their own statement handler
  • rewritten getting cached object_id using select

  • all queries use binded unixtimestamp instead of prepared query string

  • removed autoincrement sequence and insert triggers to update primary key

  • added sequence for each table

  • INSERT INTO ... (id, ...) VALUES (seq_name.nextval, ...) will do the trick

  • added RETURNING id INTO :id for INSERT statements to save one round trip

  • MERGE does not support returning INTO, added SELECT seq_name.currval query instead for fetching last inserted id

  • add explicit upgrade information and provided procedure to alter sequence start when importing data (check oracle-upgrade-1.0.1.sql for more info)

* idoutils: add upgrade path for mysql/pgsql/oracle for 1.0.1

* idoutils: add initial debug output for idomod (to be set in idomod.cfg)

* idoutils: add database name in connection msg to syslog

* idoutils: change mysql db engine to innodb (no table locking, better transcations)

FIXES

* core: fix segfault in cmd.cgi

* core: fix event broker callback function self de-registering for callbacks (Sean Millichamp)

* core: add missing sound.js provided by scriptaculous

* core: string replaces for icinga

* core: typo fix in mrtg.cfg (Dennis van Zuijlekom)

* core: add init info as required by LSB

* core: fix perl tests

* core: fix missing clean & distclean against tap/ directory

* core: fix several libtap c TAP tests and cleanups

* core: refactor perl test to use icingaadmin

* core: add cgi argument 'nodaemoncheck' and tests

* core: add config.cgi test

* core: add subtests to extinfo tests

* core: add tests against histogram.cgi

* core: add $srcdir to paths

* core: fix idomod doesn't de-initialize after config error

* core: fix make fullinstall/idoutils without enabled idoutils during configure

* idoutils: modify string escaping for mysql and pgsql

* idoutils: fix pgsql table systemcommands (missing column 'output')

* idoutils: fix arraysize of es in save_custom_variables

* idoutils: rename ndomod.h to idomod.h

* idoutils: fix several naming issues

* idoutils: fix acknowledgments query, wrong buffer freed/set as query to db (Bruce Pennypacker)

* idoutils: fix contactnotification data array, command args were not provided (Bruce Pennypacker)

* idoutils: fix custom_variables object_id type int => unsigned long

Icinga Core 1.0 Stable - 16/12/2009

* core: create webserver conf.d dir if not existing

* core: output the correct config parameter name on error message

* core: run dos2unix on spec file

* core: check /proc/$pid instead of lock file while waiting for shutdown

* core: fix cgi/config.c typo

* core: fix typo in cgi/cmd.c

* core: applied nagios patches after 3.2.0

* idoutils: change default data_processing_options in idomod.cfg

* idoutils: fix missing query arguments in servicecheck query

* idoutils: fix thisversion and perl path generation in db install scripts

* idoutils: change db README to docs.icinga.org

* idoutils: fix wrong debug output in db_hello()

* idoutils: fix save custom variables segfault caused by wrong char*

* idoutils: fix duplicate rows in table servicecheck

* idoutils: fix duplicate rows in table systemcommands, timedevents, timedeventqueue (missing unique keys)

* idoutils: add upgrade path/sql queries for unique key failure - check the docs for upgrading information

* idoutils: Oracle improvents:

* add prepared statements for most called queries

- hoststatus

- servicestatus

- hostchecks

- servicechecks

- timedevents

- contact_notificationcommands

- programstatus

* modify data[] to get unixtimestamps only

* rewrite prepared statement queries to use SELECT unixts2date(unixtimestamp) FROM DUAL

* allow rebinding of params in prepared statement for multi execution

* prepared statement at db init

* bind params the correct way

* execute binded statement query instead of plain MERGE statement

* code is now the same as NDOUtils Oracle, but with

- better code base (current NDOUtils code)

- long_output

- SSL support

- better library: ocilib instead of own driver

- more prepared statements/bind param queries

* split code into ocilib OR libdbi

* --enable-oracle during configure decides which rdbm lib will be used

Icinga Core 1.0 RC - 28.10.2009

* idoutils: add Oracle support with oclilib

* idoutils: add ssl support

* idoutils: add configure --enable-oracle

* idoutils: add configure --enable-ssl

* idoutils: add configure -with-ocilib-lib/inc for ocilib detection

* idoutils: add oracle support to ido2db.cfg

* idoutils: add ocilib runtime version check

* idoutils: add ocilib linked at runtime (prevents setting of $ORACLE_HOME during configure)

* idoutils: add ocilib hack to temp #undef CONFIG_H during compiling

* idoutils: add #define USE_ORACLE set by --enable-oracle

* idoutils: add #ifndef USE_ORACLE #else #endif to get code compatible with libdbi

* idoutils: add ocilib connection, statement, resultset

* idoutils: add ocilib execute statement, commit (no autocommit since we want to use the pros of Oracle!)

* idoutils: add ocilib insert id for sequence handling

* idoutils: add ocilib free statement to match with sequences

* idoutils: add oracle sysdate instead of NOW()

* idoutils: add long_output to oracle.sql - introduce clob (Character Large Object)

* idoutils: add even more debugoutput for Oracle

* idoutils: modify configure to use OCI_CHARSET_ANSI

* idoutils: modify configure to set LD_LIBRARY_PATH for ido2db init script

* idoutils: modify formatting to get more readable

* 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?)

* core spec: added new spec file

* 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

Icinga Core 0.8.4 - 16/09/2009

* 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 versionhandling, 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

Icinga Core 0.8.3 - 09/02/2009

* idoutils: add PostgreSQL support

* new Icinga documentation in docbook and html format

* fetch current Nagios patches

* fix support links after make

* idoutils: add note if install desired but not enabled

* idoutils: fix installing of rc.ido2db in make install-idoutils

* idoutils: add db/pgsql.sql, adapted table scheme for postgresql

* idoutils: add time conversion functions for postgresql

* idoutils: add try update, if affected rows=0, then insert queries for postgresql

* idoutils: modify insert queries, normalized to sql-standard

* idoutils: add insert-or-update functions in dbqueries.c, prepared for more rdbms

* idoutils: modify insert-or-update queries, build data array for functions

* idoutils: fix string escaping for postgresql

* idoutils: fix last insert id for postgresql - needs defined sequence id for table

* idoutils: modify command_line in commands table to varchar(1024)

* idoutils: add more debug output

* idoutils: Support 8192 chars of perfdata

Icinga Core 0.8.2 - 08/12/2009

* create a new basic ido2db init script

* idoutils: fix child signal handling in ido2db

* idoutils: fix escaping of customvars before insert

* idoutils: fix in buggy rotate command execution

* idoutils: fix fmt specifier in ndo2db_daemonize() error

* idoutils: added long_output support to IDOUtils

* idoutils: Fix for not retrying read on 'EAGAIN' and 'EINTR' soft errors (Opsera Ltd)

* idoutils: Allow externalcommands table to be trimmed with a specific time limit (Opsera Ltd)

* icinga-api added: The search function now uses the icinga-api submodule

* various minor changes

Icinga Core 0.8.1 - 06/17/2009

* Archived Logfiles renamed from Icinga-date-syntax.log => icinga-date-syntax.log (capital 'i')

* cherry picked latest Nagios Patches (see Nagios Changelog below)

* new ido2db command switch: '-f' don't daemonize the ido2db

* ido2db will now prints out available database drivers

* fix ido2db segfault when try to access non existing tables

* DocBook v5 conversion

* Fix menu frameset cols width

Icinga Core 0.8 - 05/19/2009

* Almost biggest deal to rename the components

* including IDOUtils (former NDOUtils) into the core code, updating configure & make to get in touch with it

* changed database handling in IDOUtils from native database support to libdbi (libdbi.sourceforge.net) as a abstraction layer, enable compile try with "configure --enable-idoutils"

* Included a new stylesheet/icon theme based on Vautour Style. Vautour Style have been created by Yoann LAMY.

The menu of Vautour Style use the javascript framework MooTools (http://mootools.net/). The icons of Vautour Style use "Silk icon set" (http://www.famfamfam.com/lab/icons/silk/) created by Mark James.

"Silk icon set" is licensed under Creative Commons Attribution 2.5 License (http://creativecommons.org/licenses/by/2.5/).

Changelog of the Icinga Web

Icinga Web 0.9.1-beta- 03/03/2010

* Added some Icinga specific principal target classes

* Finished editing of principal targets for users and groups

* Added editing models for principals

* Finished principal target filtering in xml templates

* Added default Icinga filter targets

* Moved icinga lib to a new place

* Added principal target toolkit for api search queries

* Finished principal target framework

* Added full command specification

* Fixed filter window bug (#232)

* Added host- / service status filter

* Host- / serviceinfo info icons

* ExtJs update to version 3.1

* DB field for class length 80 (principal target)

* CVs different for host and service (schema changes)

* Make fix for files (make)

* Removed temp files

* Changes status icon files (from icinga theme, smaller)

* Added some more state (flapping, downtime)

* Makefile bin permission (#245)

* Drop decision for phing

* Adapted the phing db targets to gnu make

* Some makefile fixes, help text, targets

* Updated phing to stable version 2.3.3

* Added AC options for db installing

* AC rewrites build.properties for phing

* Database.xml is now substituted by AC

* Write some doc for the new install process

* Stateful framework is running

* Changed cookie encoding method to json

* Tabpanel is persistent

* Cookie write filter merges the data

* Static content (tactical overview)

* ExtJS persistent fixes

* Portal is persistent (column models)

* Portal columns determined when dragging over

* Tactical overview

* Portalcronks height persistent

* Async cronk creation (Render hidden, render, show)

* Tactical overview template engine (ready)

* Wrapped static content into a div

* Auto refresh grid panels (settings)

* Grid filters are persistent

* Default font style

* Head elements (still missing ???)

* Auth framework changed (Multiple, simultaneous)

* Checked persistent, user specific data

* Reducing mass persistent data of filter settings

* Implemented categories for the cronks

* Cronks for usergroups only (#262)

Icinga Web 0.9.1-alpha-16/12/2009

* Updated install-fromscratch.txt: Apache settings ...

* Removed the yui top menu and implemented top nav with ExtJ

* Removed yui

* Removed unused libraries (gc-prettify, jquery, firebug-lite)

* Cherry-picked Hendriks makefile changes

* Changed installer toolkit to make basic installs

* Installer fixes: paths and permissions

* Added explicit bin owner for webfiles

* Added rabbit dropping script to clear temp and bak files

* Added deflate to htaccess

* Fixed guest users for the menuextender (adding items before admin submenu)

* Commands should work (Templates, Ajax proc, command factory, auth, ...)

* Changing API result keys to uppercase

* Opera array type fixes (notification baloon)

* Added AC macro to detect the web user

* Global xml replacements within the templates (view proc)

* Updating ExtJS to 3.0.3

* Removed php notice warnings (isset, undef vars)

* Fixed make error (#206)

Icinga Web 0.9.0-alpha -28/10/2009

* This is the initial release, prototyping, testing, think about features