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;








0















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?










share|improve this question




























    0















    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?










    share|improve this question
























      0












      0








      0








      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?










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 14 '16 at 14:24









      elliotpelliotp

      129113




      129113




















          1 Answer
          1






          active

          oldest

          votes


















          0














          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






          share|improve this answer

























            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
            );



            );













            draft saved

            draft discarded


















            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









            0














            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






            share|improve this answer





























              0














              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






              share|improve this answer



























                0












                0








                0







                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






                share|improve this answer















                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







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Feb 21 '18 at 19:16









                Eduardo Cuomo

                15514




                15514










                answered Mar 14 '16 at 15:43









                elliotpelliotp

                129113




                129113



























                    draft saved

                    draft discarded
















































                    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.




                    draft saved


                    draft discarded














                    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





















































                    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







                    Popular posts from this blog

                    Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

                    Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

                    What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company