Thanks Michael for the update. Issue was with the script as it was written for the nagios/icinga1. I changed the script and now it is working fine for Icinga2.
On Thu, Mar 17, 2016 at 10:15 PM, Michael Friedrich < michael.friedr...@netways.de> wrote: > > > On 16 Mar 2016, at 09:33, Joosten, Markus <markus.joos...@plumbe.de> > wrote: > > > > Acutally, both icinga2 and your event handler script are telling you > exactly what's wrong: > > > >> [2016-03-16 09:58:51 +0530] notice/PluginEventTask: Event command for > >> object 'openstack-in.example.com [2]!cachet-notify' (PID: 1450, > >> arguments: '/usr/lib64/nagios/plugins/cachet_notify' > >> 'cachet_component' 'newtest' 'service_name' 'cachet-notify' > >> 'service_output' 'HTTP OK: HTTP/1.0 200 OK - 33401 bytes in 0.339 > >> second response time ' 'service_state' 'OK' 'service_state_type' > >> 'HARD') terminated with exit code 1, output: Usage: cachet_notify > >> cachet_component service_name service_state service_state_type > >> service_output > > > > Currently, icinga2 is calling the eventhandler this way: > > '/usr/lib64/nagios/plugins/cachet_notify' 'cachet_component' 'newtest' > 'service_name' 'cachet-notify' 'service_output' 'HTTP OK: HTTP/1.0 200 OK - > 33401 bytes in 0.339 second response time ' 'service_state' 'OK' > 'service_state_type' 'HARD' > > > > But your eventhandler script states that it expects the following usage: > > cachet_notify cachet_component service_name service_state > service_state_type service_output > > > > So my guess is that you need to get rid of your argument keys. > > Also, your eventhandler script seems to rely on a specific order of > arguments, so you should define that as well. > > Either go for command arguments using value, skip_key and order … > > object EventCommand "cachet-notify" { > import "plugin-event-command" > command = [ PluginDir + "/cachet_notify" ] > arguments = { > cachet_component = { > value = "$cachet_component$” > skip_key = true > order = 1 > } > service_name = { > value = “$service.name$” > skip_key = true > order = 2 > } > service_state = { > value = "$service.state$” > skip_key = true > order = 3 > } > service_state_type = { > value = "$service.state_type$” > skip_key = true > order = 4 > } > service_output = { > value = "$service.output$” > skip_key = true > order = 5 > } > } > > vars.service.name = "$service.name$" > vars.service.state = "$service.state$" > vars.service.state_type = "$service.state_type$" > vars.service.output = "$service.output$" > > } > > or you stick with the command array. > > object EventCommand "cachet-notify" { > import "plugin-event-command" > command = [ PluginDir + "/cachet_notify”, "$cachet_component$”, "$ > service.name$”, "$service.state$”, "$service.state_type$”, > "$service.output$” ] > } > > vars.service.name = "$service.name$" > vars.service.state = "$service.state$" > vars.service.state_type = "$service.state_type$" > vars.service.output = "$service.output$" > > } > > I personally would rather fix the event script to support getops with cli > parameters in a proper way. Then you can use the EventCommand with small > modifications to its arguments (appending two dashes for example) and do > not need a defined order of arguments either. > > Kind regards, > Michael > > > > > Greetings, > > Markus > > > > > > On 2016-03-16 05:57, Ankush Grover wrote: > >> Hi Friends, > >> On enabling the debug code I found out that the Event Handler is > >> getting execute but it was failing with code 128. On further reading > >> it is suggested to use arguments instead. So now the EventCommand is > >> object EventCommand "cachet-notify" { > >> import "plugin-event-command" > >> command = [ PluginDir + "/cachet_notify" ] > >> arguments = { > >> cachet_component = "$cachet_component$" > >> service_name = "$service.name [1]$" > >> service_state = "$service.state$" > >> service_state_type = "$service.state_type$" > >> service_output = "$service.output$" > >> } > >> vars.service.name [5] = "$service.name [1]$" > >> vars.service.state = "$service.state$" > >> vars.service.state_type = "$service.state_type$" > >> vars.service.output = "$service.output$" > >> } > >> With the above EventCommand the plugin now showing in the logs > >> "terminated with exit code 1". The plugin expect output to be > >> "cachet_component service_name service_state service_state_type > >> service_output" and I have the updated to plugin to match its > >> arguments based on the result. > >> What is the best way to receive service_name service_state > >> service_state_type and service_output for an Event Handler and then > >> pass it onto the plugin.. > >> The Plugin is -> > >> HTTPS://GITHUB.COM/MPELLEGRIN/NAGIOS-EVENTHANDLER-CACHET which is > >> presently compatible with Nagios/Icinga1 but I am running Icinga2 so > >> trying to make the things work for Icinga2 > >> [2016-03-16 09:58:51 +0530] notice/Process: PID 1450 > >> ('/usr/lib64/nagios/plugins/cachet_notify' 'cachet_component' > >> 'newtest' 'service_name' 'cachet-notify' 'service_output' 'HTTP OK: > >> HTTP/1.0 200 OK - 33401 bytes in 0.339 second response time ' > >> 'service_state' 'OK' 'service_state_type' 'HARD') terminated with exit > >> code 1 > >> [2016-03-16 09:58:51 +0530] notice/PluginEventTask: Event command for > >> object 'openstack-in.example.com [2]!cachet-notify' (PID: 1450, > >> arguments: '/usr/lib64/nagios/plugins/cachet_notify' > >> 'cachet_component' 'newtest' 'service_name' 'cachet-notify' > >> 'service_output' 'HTTP OK: HTTP/1.0 200 OK - 33401 bytes in 0.339 > >> second response time ' 'service_state' 'OK' 'service_state_type' > >> 'HARD') terminated with exit code 1, output: Usage: cachet_notify > >> cachet_component service_name service_state service_state_type > >> service_output > >> 128 ERROR CODE LOGS > >> notice/PluginEventTask: Event command for object > >> 'openstack-in.example!cachet-notify' (PID: 32500, arguments: > >> '/usr/lib64/nagios/plugins/cachet_notify newtest cachet-notify > >> CRITICAL SOFT 'CRITICAL - Socket timeout after 10 seconds'') > >> terminated with exit code 128, output: > >> execvpe(/usr/lib64/nagios/plugins/cachet_notify newtest cachet-notify > >> CRITICAL SOFT 'CRITICAL - Socket timeout after 10 seconds') failed: No > >> such file or directory > >> Thanks & Regards > >> Ankush Grover > >> On Tue, Mar 15, 2016 at 3:40 PM, Ankush Grover > >> <ankushcen...@gmail.com> wrote: > >>> Hi Friends, > >>> I have setup IcingaMaster in HA mode along with 2 Satellite Servers > >>> all on Centos 6/7 64-bit. On one of the Satellite server i am trying > >>> execute an event_command but some how the command is not getting > >>> executed. > >>> Icinga Version on Satellite server is 2.3.8 and on the Icinga Master > >>> is 2.3.6. Presently the EventCommand and Host Configuration is local > >>> to Icinga Satellite server. > >>> ICINGA FEATURE LIST ON THE SATELLITE SERVER: > >>> Disabled features: compatlog debuglog gelf icingastatus livestatus > >>> opentsdb perfdata statusdata syslog > >>> Enabled features: api checker command graphite ido-mysql mainlog > >>> notification > >>> EVENT COMMAND > >>> object EventCommand "cachet-notify" { > >>> import "plugin-event-command" > >>> command = [ PluginDir + "/cachet_notify $cachet_component$ > >>> $service.name [1]$ $service.state$ $service.state_type$ > >>> $service.output$" ] > >>> } > >>> HOST CONFIGURATION FILE > >>> object Host "openstack-in.example.com [2]" { > >>> import "generic-host" > >>> address = "172.31.4.253" > >>> vars.os = "Linux" > >>> vars.notification["mail"] = { > >>> groups = [ "icingaadmins" ] > >>> enable_event_handler = true > >>> } > >>> } > >>> object Service "cachet-notify" { > >>> import "generic-service" > >>> host_name = "openstack-in.example.com [2]" > >>> check_command = "http" > >>> vars.cachet_component = "newtest" > >>> event_command = "cachet-notify" > >>> enable_event_handler = true > >>> } > >>> Notifications comes properly if the apache goes up or down on the > >>> openstack-in.example server but the event_command is not getting > >>> executed. > >>> ICINGA LOGS > >>> [2016-03-15 08:56:21 +0530] information/ApiClient: Reconnecting to > >>> API endpoint 'icingamaster1.example.com [3]' via host > >>> 'icingamaster1.example.com [3]' and port '5665' > >>> [2016-03-15 08:56:21 +0530] information/ApiClient: Reconnecting to > >>> API endpoint 'icingamaster2.example.com [4]' via host > >>> 'icingamaster2.example.com [4]' and port '5665' > >>> [2016-03-15 08:56:21 +0530] information/IdoMysqlConnection: MySQL > >>> IDO instance id: 1 (schema version: '1.13.0') > >>> [2016-03-15 08:56:22 +0530] information/ApiListener: New client > >>> connection for identity 'icingamaster1.example.com [3]' > >>> [2016-03-15 08:56:22 +0530] information/ApiListener: New client > >>> connection for identity 'icingamaster2.example.com [4]' > >>> [2016-03-15 09:00:47 +0530] information/ExternalCommandListener: > >>> Executing external command: [1458012647] > >>> SEND_CUSTOM_SVC_NOTIFICATION;openstack-in.example.com > >>> [2];cachet-notify;2;testuser;new test > >>> [2016-03-15 09:00:47 +0530] information/Checkable: Checking for > >>> configured notifications for object 'openstack-in.example.com > >>> [2]!cachet-notify' > >>> [2016-03-15 09:00:47 +0530] information/Notification: Sending > >>> notification 'openstack-in.example.com > >>> [2]!cachet-notify!mail-icingaadmin' for user 'icingaadmin' > >>> [2016-03-15 09:00:47 +0530] information/Notification: Completed > >>> sending notification 'openstack-in.example.com > >>> [2]!cachet-notify!mail-icingaadmin' for checkable > >>> 'openstack-in.example.com [2]!cachet-notify' > >>> [2016-03-15 09:01:09 +0530] information/Checkable: Checking for > >>> configured notifications for object 'openstack-in.example.com > >>> [2]!cachet-notify' > >>> [2016-03-15 09:01:09 +0530] information/Notification: Sending > >>> notification 'openstack-in.example.com > >>> [2]!cachet-notify!mail-icingaadmin' for user 'icingaadmin' > >>> [2016-03-15 09:01:09 +0530] information/Notification: Completed > >>> sending notification 'openstack-in.example.com > >>> [2]!cachet-notify!mail-icingaadmin' for checkable > >>> 'openstack-in.example.com [2]!cachet-notify' > >>> [2016-03-15 09:01:21 +0530] information/DynamicObject: Dumping > >>> program state to file '/var/lib/icinga2/icinga2.state' > >>> [2016-03-15 09:03:40 +0530] information/Checkable: Checking for > >>> configured notifications for object 'openstack-in.example.com > >>> [2]!cachet-notify' > >>> [2016-03-15 09:03:40 +0530] information/Notification: Sending > >>> notification 'openstack-in.example.com > >>> [2]!cachet-notify!mail-icingaadmin' for user 'icingaadmin' > >>> [2016-03-15 09:03:40 +0530] information/Notification: Completed > >>> sending notification 'openstack-in.example.com > >>> [2]!cachet-notify!mail-icingaadmin' for checkable > >>> 'openstack-in.example.com [2]!cachet-notify' > >>> Do let me know if you need any further information. > >>> Thanks & Regards > >>> Ankush Grover > >> Links: > >> ------ > >> [1] http://service.name > >> [2] http://openstack-in.example.com > >> [3] http://icingamaster1.example.com > >> [4] http://icingamaster2.example.com > >> [5] http://vars.service.name > >> _______________________________________________ > >> icinga-users mailing list > >> icinga-users@lists.icinga.org > >> https://lists.icinga.org/mailman/listinfo/icinga-users > > _______________________________________________ > > icinga-users mailing list > > icinga-users@lists.icinga.org > > 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 > CEO: Julian Hein, Bernd Erk | AG Nuernberg HRB18461 > http://www.netways.de | michael.friedr...@netways.de > > ** OSDC 2016 - April - netways.de/osdc ** > ** OSBConf 2016 - September - osbconf.org ** > _______________________________________________ > icinga-users mailing list > icinga-users@lists.icinga.org > https://lists.icinga.org/mailman/listinfo/icinga-users >
_______________________________________________ icinga-users mailing list icinga-users@lists.icinga.org https://lists.icinga.org/mailman/listinfo/icinga-users