Nagios:パラメータシーケンスcheck_sshを決定する方法

Nagios:パラメータシーケンスcheck_sshを決定する方法

私のLinuxシステムは非標準のSSHポートを使用しています。check_sshもちろん、Nagiosはそのポートに接続できないため、プロセスは重要であると見なされます。オブジェクトファイルを使用すると、localhost.cfgパラメータをに渡すことができますcheck_ssh

このマニュアルでは、次の例を使用します。

のための...

/usr/local/nagios/libexec/check_ping -H 192.168.1.2 -w 100.0,90% -c 200.0,60%

...使用:

define service{
    host_name       linuxbox
    service_description PING
    check_command   check_ping!200.0,80%!400.0,40%
    ...
    }  

ただし、パラメータが渡される順序は説明されていません。私のlocalhost.cfg試みから:

check_ssh!xxx22!localhost

そして

check_ssh!4!10!OpenSSH_6.7p1!!xxx22!localhost

...ここでxxx22は実際のポートです。しかし、ポートとして認識されません。

check_sshマニュアルページを見ると、これらのスイッチをどの順序で配置するのかわからないようです。

The check_ssh Plugin


    check_ssh v2.2.1.git (nagios-plugins 2.2.1)
    Copyright (c) 1999 Remi Paulmier <[email protected]>
    Copyright (c) 2000-2014 Nagios Plugin Development Team
        <[email protected]>

    Try to connect to an SSH server at specified server and port


    Usage:
    check_ssh  [-4|-6] [-t <timeout>] [-r <remote version>] [-p <port>] <host>

    Options:
     -h, --help
        Print detailed help screen
     -V, --version
        Print version information
     --extra-opts=[section][@file]
        Read options from an ini file. See
        https://www.nagios-plugins.org/doc/extra-opts.html
        for usage and examples.
     -H, --hostname=ADDRESS
        Host name, IP Address, or unix socket (must be an absolute path)
     -p, --port=INTEGER
        Port number (default: 22)
     -4, --use-ipv4
        Use IPv4 connection
     -6, --use-ipv6
        Use IPv6 connection
     -t, --timeout=INTEGER:<timeout state>
        Seconds before connection times out (default: 10)
        Optional ":<timeout state>" can be a state integer (0,1,2,3) or a state STRING
     -r, --remote-version=STRING
        Alert if string doesn't match expected server version (ex: OpenSSH_3.9p1)
     -P, --remote-protocol=STRING
        Alert if protocol doesn't match expected protocol version (ex: 2.0)
     -v, --verbose
        Show details for command-line debugging (Nagios may truncate output)

    Send email to [email protected] if you have questions regarding use
    of this software. To submit patches or suggest improvements, send email to
    [email protected]

答え1

コマンドを定義し、サービスで使用できます。

define command{
  command_name check_ssh_2222
  command_line /usr/lib/nagios/plugins/check_ssh -p 2222 $ARG1
}

それからあなたのサービスから:

check_command   check_ssh_2222

答え2

私の/etc/nagios/objects/commands.cfg状態

define command{
    command_name    check_ping
    command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
    }

提供されたドキュメントの例に示すように、感嘆符間のパラメータを定義します。それも私たちに教えてくれます。

define command{
        command_name    check_ssh
        command_line    $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
        }

私の考えでは、あなたの立場は次のようになるはずです。

check_ssh!--port=xxx22

--port=$ARG1$定義のようにポートを指定する事前定義されたパラメータはなく、プレーンプレースホルダのみがあるためです。

編集:nagiosはそれを適切なホストIP /名前check_ssh!...に置き換えるので、localhostが行の一部であるべきではないと思います。$HOSTADDRESS$

関連情報