Categories

Archives

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

7 comments to PostgreSQL supported Icinga v 0.8.3 is out

  • Changelog:

    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

  • Testing IDOUtils with PostgreSQL 8.3 had the following problem:

    “Error: database query failed for UPDATE icinga_hosts”

    because the field failure_prediction_options es > 64

    ‘ERROR: the value is too long for the type character varying(64)#012′

    In the failure_prediction_options field is this as the same information the notes field that has a size of varchar (255)

    There are no problems in MySQL because the information is truncated but aborted in PostgreSQL

  • hey thanks a lot for your fast test! :)

    i had the same issue on command_line as noted in chnagelog, but i will push a patch to GIT master later – and provide upgrade information too.

    please post such bugs to our mailinglists – see community. i check them regularly and will reply as soon as possible :)

    Update:
    ======
    [bugfix] idoutils postgres: column failure_prediction_options (hosts, services) too short

    Postgres tables icinga_hosts and icinga_hosts with column failure_prediction_options are defined as varchar(64). Thanks to César Mata Moya for reporting – varchar(255) fits better.

    Patch pushed to GIT master [1] – to apply it manually do the following:

    # su – postgres
    $ psql
    postgres=# \c icinga

    ALTER TABLE icinga_hosts ALTER COLUMN failure_prediction_options TYPE varchar(255);
    ALTER TABLE icinga_services ALTER COLUMN failure_prediction_options TYPE varchar(255);

    Please report any other bug/feature request on icinga-devel Mailinglist [2] and at the dev tracker [3].

    Kind regards,
    Michael

    [1] https://git.icinga.org/index?p=icinga-co…19e5acfcd9f3b8d
    [2] http://www.icinga.org/community/
    [3] https://dev.icinga.org/projects/icinga-core/issues

  • Thomas Spycher

    Is there an error in the makefile of Icinga? I cant install the idoutils. I found this line in the Makefile:

    INIT_OPTS=-o root -g root

    and changed it to

    INIT_OPTS=-o root -g wheel

    and everything went fine.

  • Hi there,

    since the bug for servicestatusdata_add has been reported I was was debugging the code and finally, I’ve found my miss.

    Current concept of the code breakup was to work with pointers to addresses of the variables holding the values and build a type neutral array handing over to the rdbm-decide function wherein the values get casted back. there the query is prepared as a string.

    Since the servicestatusdata_add query has 47 values I coded 2 wrong typecasts (integer instead of string) and then causing a segfault to the code. And for what it’s worth I pasted the Code for MySQL to Postgres too. If you do a cat dbqueries.c | wc -l you will see how much code has been added comparing to old version 0.8.3 and how easy losing concentration will be ;-)

    If the ido2db child dies from a segfault(sigsev 11), idomod won’t be able to write to datasink causing the error message. Next try ido2db parent forks a new child and then kept back data gets flushed (that’s why two ido2db processes show up in ps aux).

    Tested the fix ok and everything runs fine now!

    It’s fixed in GIT master: https://git.icinga.org/index?p=icinga-core.git;a=summary

    or get this new version or this file: https://git.icinga.org/index?p=icinga-core.git;a=blob_plain;f=module/idoutils/src/dbqueries.c;hb=068baf7bfc99a2a5a88b64d06df49d7395008b40

    put it into module/idoutils/src/ and move to dbqueries.c overriding the old one. I would recommend cloning the actual GIT master like this getting all the latest fixes:

    git clone git://git.icinga.org/icinga-core.git

    Kind regards,
    Michael

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">