Hello together,
I'm having some problems with getting by_ssh running.
We are enforcing SSH Commands through ssh keys, this works fine wenn
called manually (So key exchange and so on is working).

> -bash-4.2$ /usr/lib64/nagios/plugins/check_by_ssh -H localhost -l icinga -C 
> 'uptimeTest 1 2 3'
> uptimeTest 1 2 3 | uptimeTest 1 2 3

I followed the wiki
https://wiki.icinga.org/display/howtos/Using+SSH+as+remote+client+for+Icinga2
and created a small config file:

> object CheckCommand "ssh_enforce" {
> import "by_ssh" 
> 
> vars.by_ssh_login = "icinga"
> vars.by_ssh_command = [ "$command$", "$param1$", "$param2$", "$param3$" ] 
> 
> } 
> 
> apply Service "ssh_enforce_uptime" {
> import "generic-service" 
> 
> check_command = "ssh_enforce" 
> 
> vars.command = "uptimeTest"
> vars.param1 = "1"
> vars.param2 = "2" 
> 
> assign where host.vars.os == "Linux"
> } 
> 
> apply Service "ssh_enforce_updates" {
> import "generic-service" 
> 
> check_command = "ssh_enforce" 
> 
> vars.command = "updates" 
> 
> assign where host.vars.os == "Linux"
> }

I found Icinga trying to run the commands uptimeTest and updates running
locally and not via ssh.

> Plugin Output
> Remote command execution failed: bash: uptimeTest: command not found

I'm running icinga2-2.5.4-1 on latest CentOS from the official
repositories. 

>From what I can see within the configuration all arguments are parsed
fine: 

icinga2 object list
Check Command:

> Object 'ssh_enforce' of type 'CheckCommand':
> % declared in '/etc/icinga2/conf.d/test.conf', lines 1:0-1:32
> * __name = "ssh_enforce"
> * arguments
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 1646:2-1683:2
> * -4
> * description = "Use IPv4 only"
> * set_if = "$by_ssh_ipv4$"
> * -6
> * description = "Use IPv6 only"
> * set_if = "$by_ssh_ipv6$"
> * -C
> * type = "Function"
> * -H = "$by_ssh_address$"
> * -c = "$by_ssh_crit$"
> * -i = "$by_ssh_identity$"
> * -l = "$by_ssh_logname$"
> * -o
> * description = "Provide ssh options (may be repeated)"
> * value = "$by_ssh_options$"
> * -p = "$by_ssh_port$"
> * -q
> * set_if = "$by_ssh_quiet$"
> * -t = "$by_ssh_timeout$"
> * -w = "$by_ssh_warn$"
> * command = [ "/usr/lib64/nagios/plugins/check_by_ssh" ]
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 1644:2-1644:42
> * env = null
> * execute
> % = modified in 'methods-itl.conf', lines 36:3-36:33
> * type = "Function"
> * name = "ssh_enforce"
> * package = "_etc"
> * templates = [ "ssh_enforce", "by_ssh", "plugin-check-command", 
> "ipv4-or-ipv6" ]
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 1:0-1:32
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 1640:1-1640:28
> % = modified in 'methods-itl.conf', lines 35:2-35:61
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 20:1-20:36
> * timeout = 60
> * type = "CheckCommand"
> * vars
> * by_ssh_address = "$check_address$"
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 1685:2-1685:40
> * by_ssh_command = [ "$command$", "$param1$", "$param2$", "$param3$" ]
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 5:5-5:77
> * by_ssh_login = "icinga"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 4:5-4:36
> * by_ssh_quiet = false
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 1686:2-1686:26
> * check_address
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 21:2-30:3
> * type = "Function"
> * check_ipv4 = "$by_ssh_ipv4$"
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 32:2-32:24
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 1687:2-1687:34
> * check_ipv6 = "$by_ssh_ipv6$"
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 33:2-33:24
> % = modified in '/usr/share/icinga2/include/command-plugins.conf', lines 
> 1688:2-1688:34
> * zone = "" 
> 
> Object 'localhost!ssh_enforce_updates' of type 'Service':
> % declared in '/etc/icinga2/conf.d/test.conf', lines 22:1-22:35
> * __name = "localhost!ssh_enforce_updates"
> * action_url = ""
> * check_command = "ssh_enforce"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 25:5-25:33
> * check_interval = 60
> % = modified in '/etc/icinga2/conf.d/templates.d/templates.conf', lines 
> 28:3-28:21
> * check_period = ""
> * check_timeout = null
> * command_endpoint = ""
> * display_name = "ssh_enforce_updates"
> * enable_active_checks = true
> * enable_event_handler = true
> * enable_flapping = false
> * enable_notifications = true
> * enable_passive_checks = true
> * enable_perfdata = true
> * event_command = ""
> * flapping_threshold = 30
> * groups = [ ]
> * host_name = "localhost"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 22:1-22:35
> * icon_image = ""
> * icon_image_alt = ""
> * max_check_attempts = 5
> % = modified in '/etc/icinga2/conf.d/templates.d/templates.conf', lines 
> 27:3-27:24
> * name = "ssh_enforce_updates"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 22:1-22:35
> * notes = ""
> * notes_url = ""
> * package = "_etc"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 22:1-22:35
> * retry_interval = 30
> % = modified in '/etc/icinga2/conf.d/templates.d/templates.conf', lines 
> 29:3-29:22
> * templates = [ "ssh_enforce_updates", "generic-service" ]
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 22:1-22:35
> % = modified in '/etc/icinga2/conf.d/templates.d/templates.conf', lines 
> 26:1-26:34
> * type = "Service"
> * vars
> * command = "updates"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 27:5-27:28
> * volatile = false
> * zone = "" 
> 
> Object 'localhost!ssh_enforce_uptime' of type 'Service':
> % declared in '/etc/icinga2/conf.d/test.conf', lines 9:1-9:34
> * __name = "localhost!ssh_enforce_uptime"
> * action_url = ""
> * check_command = "ssh_enforce"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 12:5-12:33
> * check_interval = 60
> % = modified in '/etc/icinga2/conf.d/templates.d/templates.conf', lines 
> 28:3-28:21
> * check_period = ""
> * check_timeout = null
> * command_endpoint = ""
> * display_name = "ssh_enforce_uptime"
> * enable_active_checks = true
> * enable_event_handler = true
> * enable_flapping = false
> * enable_notifications = true
> * enable_passive_checks = true
> * enable_perfdata = true
> * event_command = ""
> * flapping_threshold = 30
> * groups = [ ]
> * host_name = "localhost"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 9:1-9:34
> * icon_image = ""
> * icon_image_alt = ""
> * max_check_attempts = 5
> % = modified in '/etc/icinga2/conf.d/templates.d/templates.conf', lines 
> 27:3-27:24
> * name = "ssh_enforce_uptime"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 9:1-9:34
> * notes = ""
> * notes_url = ""
> * package = "_etc"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 9:1-9:34
> * retry_interval = 30
> % = modified in '/etc/icinga2/conf.d/templates.d/templates.conf', lines 
> 29:3-29:22
> * templates = [ "ssh_enforce_uptime", "generic-service" ]
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 9:1-9:34
> % = modified in '/etc/icinga2/conf.d/templates.d/templates.conf', lines 
> 26:1-26:34
> * type = "Service"
> * vars
> * command = "uptimeTest"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 14:5-14:31
> * param1 = "1"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 15:5-15:21
> * param2 = "2"
> % = modified in '/etc/icinga2/conf.d/test.conf', lines 16:5-16:21
> * volatile = false
> * zone = ""
_______________________________________________
icinga-users mailing list
icinga-users@lists.icinga.org
https://lists.icinga.org/mailman/listinfo/icinga-users

Reply via email to