Passing SSH flags to Icinga2 by_ssh pluginssh returns “Bad owner or permissions on ~/.ssh/config”No TTY present when running commands over SSH in here-documentCapturing output from a remotely executed command via SSH fails in CRONIcinga2 plugin with multiple line outputicinga2/icinga2web create a hostgroupNagios check_by_ssh returns status 3 even though running the command manually works?windows ssh servers sporadically hangs waiting for key input, even in noninteractive mode?check_snmp_mem.pl Icinga2 configuration brokenicinga2 service dependency checkIcinga2 notifications
TikZ/PGF draw algorithm
A♭ major 9th chord in Bach is unexpectedly dissonant/jazzy
Did any early RISC OS precursor run on the BBC Micro?
In the figure, a quarter circle, a semicircle and a circle are mutually tangent inside a square of side length 2. Find the radius of the circle.
What is the Ancient One's mistake?
Why doesn't increasing the temperature of something like wood or paper set them on fire?
Assuming a normal distribution: what is the sd for a given mean?
Can a player choose to add detail and flavor to their character's spells and abilities?
Extracting the parent, leaf, and extension from a valid path
shebang or not shebang
Why did not Iron man upload his complete memory onto a computer?
Why did Gendry call himself Gendry Rivers?
Why were the rules for Proliferate changed?
How to get file name from inside a latex file?
What's weird about Proto-Indo-European Stops?
Does this website provide consistent translation into Wookiee?
Convert a huge txt-file into a dataset
What’s the interaction between darkvision and the Eagle Aspect of the beast, if you have Darkvision past 100 feet?
Appropriate age to involve kids in life changing decisions
What's the 2-minute timer on mobile Deutsche Bahn tickets?
What chord could the notes 'F A♭ E♭' form?
Scaling rounded rectangles in Illustrator
Convert Numbers To Emoji Math
Splitting polygons and dividing attribute value proportionally using ArcGIS Pro?
Passing SSH flags to Icinga2 by_ssh plugin
ssh returns “Bad owner or permissions on ~/.ssh/config”No TTY present when running commands over SSH in here-documentCapturing output from a remotely executed command via SSH fails in CRONIcinga2 plugin with multiple line outputicinga2/icinga2web create a hostgroupNagios check_by_ssh returns status 3 even though running the command manually works?windows ssh servers sporadically hangs waiting for key input, even in noninteractive mode?check_snmp_mem.pl Icinga2 configuration brokenicinga2 service dependency checkIcinga2 notifications
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm following this guide to use by_ssh on icinga2 instead of NRPE:
https://wiki.icinga.org/display/howtos/Using+SSH+as+remote+client+for+Icinga2
The problem I have this that when executing a nagios plugin remotely over SSH i'm getting 'stdin: is not a tty' returned, which icinga2 is erroring on.
I can stop this on the command line with passing ssh -t, eg:
ssh -t icinga2@myserver.com "ls -l"
However, i can't seem to get -t into the by_ssh module. I thought using the by_ssh_argument attribute would do this. My icinga2 config looks like this:
object CheckCommand "disks"
import "by_ssh"
vars.by_ssh_logname = "root"
vars.by_ssh_port = "4873"
vars.by_ssh_argument = "-t" = null
vars.by_ssh_command = [ "/usr/lib64/nagios/plugins/check_disk", "-w", "$by_ssh_disk_warn$", "-c", "$by_ssh_disk_crit$" ]
vars.by_ssh_disk_warn = "5%"
vars.by_ssh_disk_crit = "2%"
I've also tried inverting, putting 0 = "-t" or equivalent. Neither way is getting passed into the ssh command correctly.
I'm either not going about this the correct way at all, or it's not possible and i need to make my own by_ssh plugin?
ssh icinga2
add a comment |
I'm following this guide to use by_ssh on icinga2 instead of NRPE:
https://wiki.icinga.org/display/howtos/Using+SSH+as+remote+client+for+Icinga2
The problem I have this that when executing a nagios plugin remotely over SSH i'm getting 'stdin: is not a tty' returned, which icinga2 is erroring on.
I can stop this on the command line with passing ssh -t, eg:
ssh -t icinga2@myserver.com "ls -l"
However, i can't seem to get -t into the by_ssh module. I thought using the by_ssh_argument attribute would do this. My icinga2 config looks like this:
object CheckCommand "disks"
import "by_ssh"
vars.by_ssh_logname = "root"
vars.by_ssh_port = "4873"
vars.by_ssh_argument = "-t" = null
vars.by_ssh_command = [ "/usr/lib64/nagios/plugins/check_disk", "-w", "$by_ssh_disk_warn$", "-c", "$by_ssh_disk_crit$" ]
vars.by_ssh_disk_warn = "5%"
vars.by_ssh_disk_crit = "2%"
I've also tried inverting, putting 0 = "-t" or equivalent. Neither way is getting passed into the ssh command correctly.
I'm either not going about this the correct way at all, or it's not possible and i need to make my own by_ssh plugin?
ssh icinga2
add a comment |
I'm following this guide to use by_ssh on icinga2 instead of NRPE:
https://wiki.icinga.org/display/howtos/Using+SSH+as+remote+client+for+Icinga2
The problem I have this that when executing a nagios plugin remotely over SSH i'm getting 'stdin: is not a tty' returned, which icinga2 is erroring on.
I can stop this on the command line with passing ssh -t, eg:
ssh -t icinga2@myserver.com "ls -l"
However, i can't seem to get -t into the by_ssh module. I thought using the by_ssh_argument attribute would do this. My icinga2 config looks like this:
object CheckCommand "disks"
import "by_ssh"
vars.by_ssh_logname = "root"
vars.by_ssh_port = "4873"
vars.by_ssh_argument = "-t" = null
vars.by_ssh_command = [ "/usr/lib64/nagios/plugins/check_disk", "-w", "$by_ssh_disk_warn$", "-c", "$by_ssh_disk_crit$" ]
vars.by_ssh_disk_warn = "5%"
vars.by_ssh_disk_crit = "2%"
I've also tried inverting, putting 0 = "-t" or equivalent. Neither way is getting passed into the ssh command correctly.
I'm either not going about this the correct way at all, or it's not possible and i need to make my own by_ssh plugin?
ssh icinga2
I'm following this guide to use by_ssh on icinga2 instead of NRPE:
https://wiki.icinga.org/display/howtos/Using+SSH+as+remote+client+for+Icinga2
The problem I have this that when executing a nagios plugin remotely over SSH i'm getting 'stdin: is not a tty' returned, which icinga2 is erroring on.
I can stop this on the command line with passing ssh -t, eg:
ssh -t icinga2@myserver.com "ls -l"
However, i can't seem to get -t into the by_ssh module. I thought using the by_ssh_argument attribute would do this. My icinga2 config looks like this:
object CheckCommand "disks"
import "by_ssh"
vars.by_ssh_logname = "root"
vars.by_ssh_port = "4873"
vars.by_ssh_argument = "-t" = null
vars.by_ssh_command = [ "/usr/lib64/nagios/plugins/check_disk", "-w", "$by_ssh_disk_warn$", "-c", "$by_ssh_disk_crit$" ]
vars.by_ssh_disk_warn = "5%"
vars.by_ssh_disk_crit = "2%"
I've also tried inverting, putting 0 = "-t" or equivalent. Neither way is getting passed into the ssh command correctly.
I'm either not going about this the correct way at all, or it's not possible and i need to make my own by_ssh plugin?
ssh icinga2
ssh icinga2
asked Mar 14 '16 at 14:24
elliotpelliotp
129113
129113
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I've found a solution, whether this is the best way or doing it or not i'm unsure.
I found that passing -E
to the nagios check_by_ssh
plugin stops the tty error. I couldn't see a way to pass -E
in from the by_ssh
plugin, so I've created my own icinga2 plugin for this:
object CheckCommand "by_ssh_extended"
import "plugin-check-command"
import "ipv4-or-ipv6"
command = [ PluginDir + "/check_by_ssh" ]
arguments =
"-H" = "$by_ssh_address$"
"-p" = "$by_ssh_port$"
"-C" =
var command = macro("$by_ssh_command$")
var arguments = macro("$by_ssh_arguments$")
if (typeof(command) == String && !arguments)
return command
var escaped_args = []
for (arg in resolve_arguments(command, arguments))
escaped_args.add(escape_shell_arg(arg))
return escaped_args.join(" ")
"-l" = "$by_ssh_logname$"
"-i" = "$by_ssh_identity$"
"-q" =
set_if = "$by_ssh_quiet$"
"-E" =
set_if = "$by_ssh_e$"
"-w" = "$by_ssh_warn$"
"-c" = "$by_ssh_crit$"
"-t" = "$by_ssh_timeout$"
"-o" =
value = "$by_ssh_options$"
description = "Provide ssh options (may be repeated)"
vars.by_ssh_address = "$check_address$"
vars.by_ssh_quiet = false
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f763624%2fpassing-ssh-flags-to-icinga2-by-ssh-plugin%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I've found a solution, whether this is the best way or doing it or not i'm unsure.
I found that passing -E
to the nagios check_by_ssh
plugin stops the tty error. I couldn't see a way to pass -E
in from the by_ssh
plugin, so I've created my own icinga2 plugin for this:
object CheckCommand "by_ssh_extended"
import "plugin-check-command"
import "ipv4-or-ipv6"
command = [ PluginDir + "/check_by_ssh" ]
arguments =
"-H" = "$by_ssh_address$"
"-p" = "$by_ssh_port$"
"-C" =
var command = macro("$by_ssh_command$")
var arguments = macro("$by_ssh_arguments$")
if (typeof(command) == String && !arguments)
return command
var escaped_args = []
for (arg in resolve_arguments(command, arguments))
escaped_args.add(escape_shell_arg(arg))
return escaped_args.join(" ")
"-l" = "$by_ssh_logname$"
"-i" = "$by_ssh_identity$"
"-q" =
set_if = "$by_ssh_quiet$"
"-E" =
set_if = "$by_ssh_e$"
"-w" = "$by_ssh_warn$"
"-c" = "$by_ssh_crit$"
"-t" = "$by_ssh_timeout$"
"-o" =
value = "$by_ssh_options$"
description = "Provide ssh options (may be repeated)"
vars.by_ssh_address = "$check_address$"
vars.by_ssh_quiet = false
add a comment |
I've found a solution, whether this is the best way or doing it or not i'm unsure.
I found that passing -E
to the nagios check_by_ssh
plugin stops the tty error. I couldn't see a way to pass -E
in from the by_ssh
plugin, so I've created my own icinga2 plugin for this:
object CheckCommand "by_ssh_extended"
import "plugin-check-command"
import "ipv4-or-ipv6"
command = [ PluginDir + "/check_by_ssh" ]
arguments =
"-H" = "$by_ssh_address$"
"-p" = "$by_ssh_port$"
"-C" =
var command = macro("$by_ssh_command$")
var arguments = macro("$by_ssh_arguments$")
if (typeof(command) == String && !arguments)
return command
var escaped_args = []
for (arg in resolve_arguments(command, arguments))
escaped_args.add(escape_shell_arg(arg))
return escaped_args.join(" ")
"-l" = "$by_ssh_logname$"
"-i" = "$by_ssh_identity$"
"-q" =
set_if = "$by_ssh_quiet$"
"-E" =
set_if = "$by_ssh_e$"
"-w" = "$by_ssh_warn$"
"-c" = "$by_ssh_crit$"
"-t" = "$by_ssh_timeout$"
"-o" =
value = "$by_ssh_options$"
description = "Provide ssh options (may be repeated)"
vars.by_ssh_address = "$check_address$"
vars.by_ssh_quiet = false
add a comment |
I've found a solution, whether this is the best way or doing it or not i'm unsure.
I found that passing -E
to the nagios check_by_ssh
plugin stops the tty error. I couldn't see a way to pass -E
in from the by_ssh
plugin, so I've created my own icinga2 plugin for this:
object CheckCommand "by_ssh_extended"
import "plugin-check-command"
import "ipv4-or-ipv6"
command = [ PluginDir + "/check_by_ssh" ]
arguments =
"-H" = "$by_ssh_address$"
"-p" = "$by_ssh_port$"
"-C" =
var command = macro("$by_ssh_command$")
var arguments = macro("$by_ssh_arguments$")
if (typeof(command) == String && !arguments)
return command
var escaped_args = []
for (arg in resolve_arguments(command, arguments))
escaped_args.add(escape_shell_arg(arg))
return escaped_args.join(" ")
"-l" = "$by_ssh_logname$"
"-i" = "$by_ssh_identity$"
"-q" =
set_if = "$by_ssh_quiet$"
"-E" =
set_if = "$by_ssh_e$"
"-w" = "$by_ssh_warn$"
"-c" = "$by_ssh_crit$"
"-t" = "$by_ssh_timeout$"
"-o" =
value = "$by_ssh_options$"
description = "Provide ssh options (may be repeated)"
vars.by_ssh_address = "$check_address$"
vars.by_ssh_quiet = false
I've found a solution, whether this is the best way or doing it or not i'm unsure.
I found that passing -E
to the nagios check_by_ssh
plugin stops the tty error. I couldn't see a way to pass -E
in from the by_ssh
plugin, so I've created my own icinga2 plugin for this:
object CheckCommand "by_ssh_extended"
import "plugin-check-command"
import "ipv4-or-ipv6"
command = [ PluginDir + "/check_by_ssh" ]
arguments =
"-H" = "$by_ssh_address$"
"-p" = "$by_ssh_port$"
"-C" =
var command = macro("$by_ssh_command$")
var arguments = macro("$by_ssh_arguments$")
if (typeof(command) == String && !arguments)
return command
var escaped_args = []
for (arg in resolve_arguments(command, arguments))
escaped_args.add(escape_shell_arg(arg))
return escaped_args.join(" ")
"-l" = "$by_ssh_logname$"
"-i" = "$by_ssh_identity$"
"-q" =
set_if = "$by_ssh_quiet$"
"-E" =
set_if = "$by_ssh_e$"
"-w" = "$by_ssh_warn$"
"-c" = "$by_ssh_crit$"
"-t" = "$by_ssh_timeout$"
"-o" =
value = "$by_ssh_options$"
description = "Provide ssh options (may be repeated)"
vars.by_ssh_address = "$check_address$"
vars.by_ssh_quiet = false
edited Feb 21 '18 at 19:16
Eduardo Cuomo
15514
15514
answered Mar 14 '16 at 15:43
elliotpelliotp
129113
129113
add a comment |
add a comment |
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f763624%2fpassing-ssh-flags-to-icinga2-by-ssh-plugin%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown