> 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

Reply via email to