Posts by eoin.kim

This forum was archived to /woltlab and is now in read-only mode.

    Hi all,


    I remember that availability report feature is not included in Icinga2. However, I believe it might be possible with a bit of MySQL query work? So, if I want to get the data equivalent or similar to Nagios's availability report, which field should I query from Icinga2's database?


    Sorry for too vague question. Thanks a lot.

    Hello all,


    Been a while. I just found that Icinga2 has a new version now (2.7.0) so I am going to find if there are much difference from the previous version. When I tried to install I could see a suggestion called 'icinga2-studio'. If I remember correctly, this package was not in the repository before. I'd like to know what this package is used for. Is this some kind of Icingaweb2? Could I please get any screenshots of this if it is using GUI? I am using Debian Jessie. I would really appreciate it if anyone can help me. Thanks a lot.


    Please be aware, that the linked repository is rather old and not really maintained.

    It is no surprise that some things break when not properly maintained.


    To get this running, you will most likely have to modify the SQL files to properly work again and also adjust the report generation in jasper.

    Thanks, that sounds like a huge work. I may have to start SQL study ?( Cheers.

    Great, so it looks like all my questions were answered. Testing more than 3 months, now I guess I can deploy it into production. Thanks again. Cheers.

    Well, I have been doing a test from this morning for more than three hours and this is my conclusion.


    1. When disable_checks is set to true, child host never returns UNREACHABLE.

    2. When disable_checks is set to true, check doesn't restart - please, don't get me wrong, I have been waiting for more than three hours.

    3. When disable_checks is set to false, status change for child host happens immediately as the system notices the status of parents. This applies to recovery as well.


    One thing I have to ask is this:

    The line "CheckingEndpointName is (not) reachable" is difficult to read. It should be interpreted as:

    "Endpoint running the check: CheckingEndpointName "

    "CheckableName is (not) reachable"


    Check Source state shows reachable when parents are down (capture1.png). On the other hand, child shows not reachable (capture2.png). How do I interpret this situation?

    Hi all,


    I am using MariaDB version 10.1 with galera clustering for IDO. When I tried to import SQL files in Icinga Reports package (https://github.com/Icinga/icin…rts/tree/master/sql/mysql), I get an error message. This error actually didn't happen when version 10.0 was used.


    Code
    1. sysadmin@SQL01.TEST.LAB:/tmp$ mysql --user=root --password=password --database=icinga2 < icinga_sla_refresh_periods.sql
    2. ERROR 1221 (HY000) at line 5: Incorrect usage of UNION and LIMIT


    Also, when I try to use JasperReports, it looks like not all features are working. When I try to view StatesAndDowntimes report, it shows an error (capture1.png).


    I guess if it is possible to query related data from SQL, creating availability report with script e.g. php could be possible. In this case, which data should I query? It might be a quite tricky question I believe. Thanks in advance. Cheers.

    Hello,


    I'd like to ask a question regarding dependency settings, more specifically disable_checks statement. So, my host dependency configuration is like below:

    Code
    1. apply Dependency "host-dependency" for (parent in host.vars.parents) to Host {
    2. parent_host_name = parent
    3. disable_notifications = true
    4. disable_checks = true
    5. ignore_soft_states = false
    6. assign where parent
    7. }


    With the value of true, when the parent host goes down the Icingaweb2 interface shows its state DOWN, which is correct. However, the child host state doesn't change to UNREACHABLE. It keeps showing UP. I waited for a long time and refreshed web page but no change. The only time it changes the status is when I clicked Check now. The same thing happens when the parent host comes up. Parent host state changes to UP but child host doesn't until I click Check now.


    On the other hand, when I change disable_checks to false, the expected behaviour happens. On the parent host down, it shows DOWN as the state of the parent host, at the same time, child host also shows UNREACHABLE. And when the parent host comes up, both change to UP in Icingaweb2.


    So my question is:

    Although disable_checks = true is configured, shouldn't the child host status change to UP when parent is UP? It looks like the check for child never happens with the true setting. If I configure it to true, does the check not happen to child host at all until I manually order? I guess setting the value to false will make the system do unnecessary checks, which will use resources not efficiently. Could someone please advise regarding this issue? Thanks a lot.

    UPDATE: I found the way to do this.

    Code
    1. apply Dependency "service-dependency" for (parent in host.vars.parents) to Service {
    2. parent_host_name = parent
    3. disable_notifications = true
    4. disable_checks = true
    5. ignore_soft_states = false
    6. assign where parent
    7. }


    Now I am into another problem, which will be written in a new one.

    Okay, this doesn't look like working if there are chains of dependencies. Please see below:


    Code
    1. zones.d/master/hosts.conf
    2. object Host "TESTHOST.MYDOMAIN" {
    3. import "generic-host"
    4. display_name = "Dependency test host"
    5. address = "192.168.0.254"
    6. vars.notification_option = "sa-level1"
    7. vars.parent = "TESTROUTER.TEST.RCST"
    8. vars.parents = [ "ROUTER2.INTHEMIDDLE", "ROUTER1.INTHEMIDDLE" ]
    9. }


    When both parents (ROUTER 1 and 2) down because there is another vars.parent, I am still getting notifications of the host. Is there a way to fix this?

    I used the name parents, as it means multiple values instead of parent which is a single one.

    You would have to change the name of you variable or leave it be and adjust the example I made, it is up to you.

    Ah ha. Okay, let me try and see how it goes. Don't I have to put to Host or to Service behind the ()?

    Hi,


    Thanks for the info. I didn't try but just a question regarding the loop structure. In the (parent in host.vars.parents):

    1. host.vars.parents? Do I have to create a data field called 'parents'?

    2. When you say parent in the (), does that automatically mean host.vars.parent?


    Thanks.