web-dev-qa-db-ja.com

Nagios / Icinga:NSClient ++ホストごとに異なるパスワード

Icinga構成で定義したWindowsホストごとに異なるパスワードをcheck_nt/check_nrpeコマンドに渡すことは可能ですか?たとえば、私は3つのWindowsホストを持っています

define Host {
    use            windows-server
    Host_name      prod
    address        10.0.0.1
}
define Host {
    use            windows-server
    Host_name      db
    address        10.0.0.2
}
define Host {
    use            windows-server
    Host_name      test
    address        10.0.0.3
}

およびサービスのセットアップ:

define service{
    use                     generic-service
    Host_name               prod,db,test
    service_description     Uptime
    check_command           check_nt!UPTIME
    normal_check_interval   180
    }

これは

define command {
    command_name    check_nt
    command_line    /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -v '$ARG1$'
}

これはすべてうまく機能していますが、ホストごとに異なるパスワードを設定できるようにしたいです(Webインターフェイスからは表示できません)。 USERnマクロがWebインターフェイスに表示されないことは知っていますが、ここでそれらをどのように使用できるかわかりません。 3つの異なるサービスを作成し、その段階で引数としてパスワードを渡すことなく、これを行う簡単な方法はありますか?

2
Sonoman

はい、コマンド定義を書き直してください。

define command {
    command_name    check_nt_pwd
    command_line    /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -s '$ARG1$' -v '$ARG2$'
}

次に、次のような3つのサービス定義を使用できます。

define service{
    use                     generic-service
    Host_name               prod
    service_description     Uptime
    check_command           check_nt!PWD1!UPTIME
    normal_check_interval   180
    }
define service{
    use                     generic-service
    Host_name               db
    service_description     Uptime
    check_command           check_nt!PWD2!UPTIME
    normal_check_interval   180
    }

または、最新のNagiosでホスト変数(_password)を設定し、次のようなマクロ($ _HOSTPASSWORD $)を使用している場合:

define Host {
    use            windows-server
    Host_name      prod
    address        10.0.0.1
    _password      PWD1
}
define service{
    use                     generic-service
    Host_name               prod,db,test
    service_description     Uptime
    check_command           check_nt!$_HOSTPASSWORD$!UPTIME
    normal_check_interval   180
    }

または、同様の方法でマクロをコマンド定義に直接追加する場合。

2
Michael Medin