I am using latest snapshot build ( compiled from the master branch in github) .
root@icinga-cluster-2:~# icinga2 --version icinga2 - The Icinga 2 network monitoring daemon (version: r2.4.0-1) Copyright (c) 2012-2015 Icinga Development Team (https://www.icinga.org) License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl2.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Application information: Installation root: /usr/local Sysconf directory: /usr/local/etc Run directory: /usr/local/var/run Local state directory: /usr/local/var Package data directory: /usr/local/share/icinga2 State path: /usr/local/var/lib/icinga2/icinga2.state Modified attributes path: /usr/local/var/lib/icinga2/modified-attributes.conf Objects path: /usr/local/var/cache/icinga2/icinga2.debug Vars path: /usr/local/var/cache/icinga2/icinga2.vars PID path: /usr/local/var/run/icinga2/icinga2.pid System information: Operating system: Linux Operating system version: 3.13.0-32-generic Architecture: x86_64 Distribution: Ubuntu 14.04.1 LTS ----------------------------- Message: 1 Date: Sun, 15 Nov 2015 11:39:36 +0000 From: Michael Friedrich <[email protected]> To: "[email protected]" <[email protected]> Subject: Re: [icinga-users] Question about icinga2 api dynamically added hosts and hostgroups Message-ID: <[email protected]> Content-Type: text/plain; charset="utf-8" > On 13 Nov 2015, at 23:02, Madhusmita Gochhait <[email protected]> wrote: > > After restart of icinga process , Icinga unable to query the hosts/groups > objects through api . Icinga http returns object does not exist > > Here are the steps to simulate the issue (Single Node) > > Step 1: curl -k -s -u icingaadmin:icinga > 'https://localhost:5665/v1/objects/hosts/10.102.58.77' -H "Accept: > application/json" -X PUT -d '{ "templates": [ "generic-host" ], "attrs": { > "address": "10.102.58.77?}} > {"results":[{"code":200.0,"status":"Object was created"}]} > Step 2 : query to icinga - curl -k -s -u icingaadmin:icinga > 'https://localhost:5665/v1/objects/hosts/10.102.58.77' will result with > detailed host output > > Step 3: Restart Icinga > service icinga2 reload > > Step 4: Host Query as detailed in Step 2 > curl -k -s -u icingaadmin:icinga > 'https://localhost:5665/v1/objects/hosts/10.102.58.77' > Error: Object does not exist I?m also unable to reproduce this here. michi@mbmif ~ $ icinga2 --version icinga2 - The Icinga 2 network monitoring daemon (version: v2.3.11-854-ge9db4bc; debug) Copyright (c) 2012-2015 Icinga Development Team (https://www.icinga.org) License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl2.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Application information: Installation root: /usr/local/icinga2 Sysconf directory: /usr/local/icinga2/etc Run directory: /usr/local/icinga2/var/run Local state directory: /usr/local/icinga2/var Package data directory: /usr/local/icinga2/share/icinga2 State path: /usr/local/icinga2/var/lib/icinga2/icinga2.state Modified attributes path: /usr/local/icinga2/var/lib/icinga2/modified-attributes.conf Objects path: /usr/local/icinga2/var/cache/icinga2/icinga2.debug Vars path: /usr/local/icinga2/var/cache/icinga2/icinga2.vars PID path: /usr/local/icinga2/var/run/icinga2/icinga2.pid System information: Operating system: Darwin Operating system version: 15.0.0 Architecture: x86_64 michi@mbmif ~ $ curl -k -s -u root:icinga -H 'Accept: application/json' -X PUT -d '{ "attrs": { "check_command": "hostalive", "address": "192.168.2.123" } }' 'https://localhost:5665/v1/objects/hosts/michiathome1' {"results":[{"code":200.0,"status":"Object was created"}]} [2015-11-15 12:32:31 +0100] information/ApiListener: New client connection (no client certificate) [2015-11-15 12:32:31 +0100] information/HttpServerConnection: Request: PUT /v1/objects/hosts/michiathome1 (root) [2015-11-15 12:32:31 +0100] information/ConfigCompiler: Compiling config file: /usr/local/icinga2/var/lib/icinga2/api/packages/_api/mbmif.int.netways.de-1442309540-1/conf.d/hosts/michiathome1.conf [2015-11-15 12:32:31 +0100] information/ConfigItem: Committing config items michi@mbmif ~ $ curl -k -s -u root:icinga 'https://localhost:5665/v1/objects/hosts/michiathome1' {"results":[{"attrs":{"__name":"michiathome1","acknowledgement":0.0,"acknowledgement_expiry":0.0,"action_url":"","active":true,"address":"192.168.2.123","address6":"","check_attempt":1.0,"check_command":"hostalive","check_interval":300.0,"display_name":"michiathome1","enable_active_checks":true,"enable_event_handler":true,"enable_flapping":false,"enable_notifications":true,"enable_passive_checks":true,"enable_perfdata":true,"flapping":false,"flapping_last_change":0.0,"flapping_negative":0.0,"flapping_positive":0.0,"flapping_threshold":30.0,"force_next_check":false,"force_next_notification":false,"groups":[],"ha_mode":0.0,"icon_image":"","icon_image_alt":"","last_check":-1.0,"last_check_result":null,"last_hard_state":1.0,"last_hard_state_change":1447587016.4019169807,"last_in_downtime":false,"last_reachable":true,"last_state":1.0,"last_state_change":1447587016.4019169807,"last_state_down":0.0,"last_state_type":0.0,"last_state_unreachable":0.0,"last_state_up":0.0,"max_check_attempts":3 .0,"name":"michiathome1","next_check":1447587300.0599999428,"notes":"","notes_url":"","original_attributes":null,"package":"_api","paused":false,"retry_interval":60.0,"state":1.0,"state_type":0.0,"templates":["michiathome1"],"type":"Host","vars":null,"version":1447587151.0631680489,"volatile":false,"zone":""},"joins":{},"meta":{},"name":"michiathome1","type":"Host"}]} michi@mbmif ~ $ sudo cat /usr/local/icinga2/var/lib/icinga2/api/packages/_api/mbmif.int.netways.de-1442309540-1/conf.d/hosts/michiathome1.conf object Host "michiathome1" { address = "192.168.2.123" check_command = "hostalive" version = 1447587151.063168 } michi@mbmif ~ $ sudo kill -HUP $(pidof icinga2) michi@mbmif ~ $ sudo cat /usr/local/icinga2/var/lib/icinga2/api/packages/_api/mbmif.int.netways.de-1442309540-1/conf.d/hosts/michiathome1.conf object Host "michiathome1" { address = "192.168.2.123" check_command = "hostalive" version = 1447587151.063168 } michi@mbmif ~ $ curl -k -s -u root:icinga 'https://localhost:5665/v1/objects/hosts/michiathome1' {"results":[{"attrs":{"__name":"michiathome1","acknowledgement":0.0,"acknowledgement_expiry":0.0,"action_url":"","active":true,"address":"192.168.2.123","address6":"","check_attempt":1.0,"check_command":"hostalive","check_interval":300.0,"display_name":"michiathome1","enable_active_checks":true,"enable_event_handler":true,"enable_flapping":false,"enable_notifications":true,"enable_passive_checks":true,"enable_perfdata":true,"flapping":false,"flapping_last_change":1447587315.097356081,"flapping_negative":0.0,"flapping_positive":1447587315.0,"flapping_threshold":30.0,"force_next_check":false,"force_next_notification":false,"groups":[],"ha_mode":0.0,"icon_image":"","icon_image_alt":"","last_check":1447587315.096987009,"last_check_result":{"active":true,"check_source":"mbmif.int.netways.de","command":["/usr/local/sbin/check_ping","-H","192.168.2.123","-c","5000,100%","-w","3000,80%"],"execution_end":1447587315.0968000889,"execution_start":1447587300.0619831085,"exit_status":2.0,"output": "PING CRITICAL - Packet loss = 100%","performance_data":["rta=5000.000000ms;3000.000000;5000.000000;0.000000","pl=100%;80;100;0"],"schedule_end":1447587315.096987009,"schedule_start":1447587600.0599999428,"state":2.0,"type":"CheckResult","vars_after":{"attempt":1.0,"reachable":true,"state":2.0,"state_type":1.0},"vars_before":null},"last_hard_state":1.0,"last_hard_state_change":1447587315.096987009,"last_in_downtime":false,"last_reachable":true,"last_state":1.0,"last_state_change":1447587315.096987009,"last_state_down":0.0,"last_state_type":0.0,"last_state_unreachable":0.0,"last_state_up":0.0,"max_check_attempts":3.0,"name":"michiathome1","next_check":1447587599.129999876,"notes":"","notes_url":"","original_attributes":null,"package":"_api","paused":false,"retry_interval":60.0,"state":1.0,"state_type":1.0,"templates":["michiathome1"],"type":"Host","vars":null,"version":1447587151.0631680489,"volatile":false,"zone":""},"joins":{},"meta":{},"name":"michiathome1","type":"Host"}]} michi@mbmif ~ $ sudo mysql icinga -p -e 'select * from icinga_hoststatus hs join icinga_objects ohs on hs.host_object_id=ohs.object_id where ohs.name1="michiathome1" and ohs.is_active=1\G' Enter password: *************************** 1. row *************************** hoststatus_id: 643 instance_id: 1 host_object_id: 8940 status_update_time: 2015-11-15 12:35:58 output: PING CRITICAL - Packet loss = 100% long_output: perfdata: rta=5000.000000ms;3000.000000;5000.000000;0.000000 pl=100%;80;100;0 check_source: mbmif.int.netways.de current_state: 1 has_been_checked: 1 should_be_scheduled: 1 current_check_attempt: 1 max_check_attempts: 3 last_check: 2015-11-15 12:35:15 next_check: 2015-11-15 12:39:59 check_type: 0 last_state_change: 2015-11-15 12:35:15 last_hard_state_change: 2015-11-15 12:35:15 last_hard_state: 1 last_time_up: 0000-00-00 00:00:00 last_time_down: 0000-00-00 00:00:00 last_time_unreachable: 0000-00-00 00:00:00 state_type: 1 last_notification: 0000-00-00 00:00:00 next_notification: 0000-00-00 00:00:00 no_more_notifications: 0 notifications_enabled: 1 problem_has_been_acknowledged: 0 acknowledgement_type: 0 current_notification_number: 0 passive_checks_enabled: 1 active_checks_enabled: 1 event_handler_enabled: 1 flap_detection_enabled: 0 is_flapping: 0 percent_state_change: 0 latency: 0 execution_time: 15.034816980361938 scheduled_downtime_depth: 0 failure_prediction_enabled: 0 process_performance_data: 1 obsess_over_host: 0 modified_host_attributes: 0 event_handler: check_command: hostalive normal_check_interval: 5 retry_check_interval: 1 check_timeperiod_object_id: 0 is_reachable: 1 endpoint_object_id: 1 original_attributes: null object_id: 8940 instance_id: 1 objecttype_id: 1 name1: michiathome1 name2: NULL is_active: 1 > > > Similar behavior with host groups also . > > Thanks, > mgochhait > > > > > From: Madhusmita Gochhait <[email protected]> > Date: Tuesday, November 10, 2015 at 3:21 PM > To: "[email protected]" <[email protected]> > Subject: Question about icinga2 api dynamically added hosts and hostgroups > > I am using the snapshot version of icinga2 for the api feature . Dynamically > add hosts and host groups. > Here is what i am doing : > To add hostgroup : curl -k -s -u icingaadmin:icinga > 'https://localhost:5665/v1/objects/hostgroups/testgrp' -X PUT -d '{ "attrs": > { "name" : "testgrp" ,"display_name" : "testgrp" , "state_loaded" :true }}' > To add host : > curl -k -s -u icingaadmin:icinga > 'https://localhost:5665/v1/objects/hosts/testhost' -X PUT -d '{ "templates": > [ "generic-host" ], "attrs": { "address": "8.8.8.8" , "groups" : [ "testgrp" > ]} }' > It gets successfully added and I am also able to query them through the api > . > But in UI , I am seeing only the host and no hostgroup . > The host group gets displayed once I restart/reload icinga . > Since , we have a large setup (>1000 hosts ) , we don?t want to reload > /restart everytime we add hostgroups . > Is there any way it can be done in same way as the host , so that both host > and host groups shows in UI without restart everytime ? > > Thanks, > mgochhait > > _______________________________________________ > icinga-users mailing list > [email protected] > https://lists.icinga.org/mailman/listinfo/icinga-users --? Michael Friedrich, DI (FH) Senior Developer NETWAYS GmbH | Deutschherrnstr. 15-19 | D-90429 Nuernberg Tel: +49 911 92885-0 | Fax: +49 911 92885-77 GF: Julian Hein, Bernd Erk | AG Nuernberg HRB18461 http://www.netways.de | [email protected] ** OSMC 2015 - November - netways.de/osmc ** ** OSDC 2016 - April ? netways.de/osdc ** ------------------------------ Message: 2 Date: Sun, 15 Nov 2015 11:48:58 +0000 From: Michael Friedrich <[email protected]> To: "[email protected]" <[email protected]> Subject: Re: [icinga-users] Overriding Ping4 thresholds Message-ID: <[email protected]> Content-Type: text/plain; charset="utf-8" > On 12 Nov 2015, at 21:14, Lance Reed <[email protected]> wrote: > > I suspect my question has been answered multiple times in the past, > but I am not easily finding answers so here goes. > > I have multiple remote locations that use VPNs, so ping latency can > often go failure high and I get alerts on hosts and ping4 checks (the > default checks). > > We use multiple custom vars for things like location, and environment etc. > Because of this it was easy to setup in each hosts file created via > puppet to override hostalive. > > e.g. > > object Host "somehost.abcd.com" { > import "generic-host" > ... > vars.ping_wrta = "500" > vars.environment = "abcd" > vars.customer_monitored = "true" > vars.customer = "abcd" > vars.ping_cpl = "30" > } > > > That works well. However the default service checks are using default > attributes for ping4 which are not modified. > > I am wondering what people use to override default values for existing > service checks that get applied. > Or do I have to modify what type of check gets used in my host object > and make sure the correct one is used much like hostalive. I'd prefer > not to have any more Custom Vars added to each host object if > possible. I?d personally set these thresholds inside the service apply rules, and use the assign where/ignore where expressions to selectively apply certain services with different thresholds. Similar to what Thomas already posted. A different approach might also be to add conditionals inside your service apply rules, for example: apply Service ?ping4? { check_command = ?ping4? if (host.vars.customer == ?abcd?) { vars.ping_cpl = 50 } else if (host.vars.customer == ?efgh?) { vars.ping_cl = 30 } else { //default vars.ping_cpl = 40 } assign where host.address } Service apply rules may access all host configuration attributes, so you?re not bound to custom variables here. One could also match against the host name, or its display_name. Kind regards, Michael --? Michael Friedrich, DI (FH) Senior Developer NETWAYS GmbH | Deutschherrnstr. 15-19 | D-90429 Nuernberg Tel: +49 911 92885-0 | Fax: +49 911 92885-77 GF: Julian Hein, Bernd Erk | AG Nuernberg HRB18461 http://www.netways.de | [email protected] ** OSMC 2015 - November - netways.de/osmc ** ** OSDC 2016 - April ? netways.de/osdc ** ------------------------------ Message: 3 Date: Sun, 15 Nov 2015 18:44:55 +0000 From: Madhusmita Gochhait <[email protected]> To: "[email protected]" <[email protected]> Subject: Re: [icinga-users] Question about icinga2 api dynamically added hosts and hostgroups Message-ID: <bn3pr0501mb1283dcd485cbe5fa7815d74fae...@bn3pr0501mb1283.namprd05.prod.outlook.com> Content-Type: text/plain; charset="iso-8859-1" The host config file was created . ls -ltr /usr/local/var/lib/icinga2/api/packages/_api/conf.d/hosts/ total 4 -rw-r--r-- 1 icinga icinga 110 Nov 15 10:29 10.102.58.77.conf But not able to query , after restart of icinga process. curl -k -s -u icingaadmin:icinga 'https://localhost:5665/v1/objects/hosts/10.102.58.77' Error: Object does not exist. Please note that i am using the latest snapshot build of icinag2 . Regards, mgochhait ---------------------------------------------------------------------- Message: 1 Date: Sun, 15 Nov 2015 08:55:40 +0000 From: Gunnar Beutner <[email protected]> To: "[email protected]" <[email protected]> Subject: Re: [icinga-users] Question about icinga2 api dynamically added hosts and hostgroups Message-ID: <[email protected]> Content-Type: text/plain; charset="utf-8" On 13/11/15 23:02, "icinga-users on behalf of Madhusmita Gochhait" <[email protected] on behalf of [email protected]> wrote: >After restart of icinga process , Icinga unable to query the hosts/groups >objects through api . Icinga http returns object does not exist > > >Here are the steps to simulate the issue (Single Node) > > >Step 1: curl -k -s -u icingaadmin:icinga >'https://localhost:5665/v1/objects/hosts/10.102.58.77' -H "Accept: >application/json" -X PUT -d '{ "templates": [ "generic-host" ], "attrs": { >"address": "10.102.58.77?}} > {"results":[{"code":200.0,"status":"Object was created"}]} >Step 2 : query to icinga - curl -k -s -u icingaadmin:icinga >'https://localhost:5665/v1/objects/hosts/10.102.58.77' will result with >detailed host output > >Step 3: Restart Icinga > service icinga2 reload Works for me. Can you check whether the host?s config file was created?: acheron:icinga2 gunnar$ ls -l ../i2/var/lib/icinga2/api/packages/_api/acheron-1445924979-1/conf.d/hosts/ total 8 -rw-r--r-- 1 gunnar staff 110 Nov 15 09:53 10.102.58.77.conf acheron:icinga2 gunnar$ cat ../i2/var/lib/icinga2/api/packages/_api/acheron-1445924979-1/conf.d/hosts/10.102.58.77.conf object Host "10.102.58.77" { import "generic-host" address = "10.102.58.77" version = 1447577614.982893 } acheron:icinga2 gunnar$ > > >Step 4: Host Query as detailed in Step 2 >curl -k -s -u icingaadmin:icinga >'https://localhost:5665/v1/objects/hosts/10.102.58.77' >Error: Object does not exist > > > > > >Similar behavior with host groups also . > > >Thanks, >mgochhait > > > > > > > > > > >From: Madhusmita Gochhait <[email protected]> >Date: Tuesday, November 10, 2015 at 3:21 PM >To: "[email protected]" <[email protected]> >Subject: Question about icinga2 api dynamically added hosts and hostgroups > > > >I am using the snapshot version of icinga2 for the api feature . Dynamically >add hosts and host groups. >Here is what i am doing : >To add hostgroup : curl -k -s -u icingaadmin:icinga >'https://localhost:5665/v1/objects/hostgroups/testgrp' -X PUT -d '{ "attrs": { >"name" : "testgrp" ,"display_name" : "testgrp" > , "state_loaded" :true }}' >To add host : >curl -k -s -u icingaadmin:icinga 'https://localhost:5665/v1/objects/hosts/ ><https://localhost:5665/v1/objects/hosts/8.8.8.8>testhost' -X PUT -d '{ >"templates": [ "generic-host" ], "attrs": { "address": "8.8.8.8" , "groups" : [ > "testgrp" ]} }' >It gets successfully added and I am also able to query them through the api . >But in UI , I am seeing only the host and no hostgroup . >The host group gets displayed once I restart/reload icinga . >Since , we have a large setup (>1000 hosts ) , we don?t want to reload >/restart everytime we add hostgroups . >Is there any way it can be done in same way as the host , so that both host >and host groups shows in UI without restart everytime ? > > >Thanks, >mgochhait > > > > <http://stackoverflow.com/questions/tagged/icinga> > > > > --? Gunnar Beutner Senior Developer NETWAYS GmbH | Deutschherrnstr. 15-19 | D-90429 Nuernberg Tel: +49 911 92885-0 | Fax: +49 911 92885-77 GF: Julian Hein, Bernd Erk | AG Nuernberg HRB18461 http://www.netways.de | [email protected] ** OSMC 2015 - November - netways.de/osmc ** ** OSDC 2016 - April ? netways.de/osdc ** ------------------------------ Subject: Digest Footer _______________________________________________ icinga-users mailing list [email protected] https://lists.icinga.org/mailman/listinfo/icinga-users ------------------------------ End of icinga-users Digest, Vol 23, Issue 24 ******************************************** ------------------------------ Subject: Digest Footer _______________________________________________ icinga-users mailing list [email protected] https://lists.icinga.org/mailman/listinfo/icinga-users ------------------------------ End of icinga-users Digest, Vol 23, Issue 25 ******************************************** _______________________________________________ icinga-users mailing list [email protected] https://lists.icinga.org/mailman/listinfo/icinga-users
