今回はcheck_by_sshを使った監視の実装方法についてのメモ。
「check_by_ssh」はSSHを使ったリモート監視用プラグインです。
SSHが使えればすぐに実装可能なのが長所です。NRPEが使えない場合に使ったりします。
準備
監視サーバーからパスフレーズ無しの公開鍵認証でログインできるようにする必要があります。
まずは鍵ペアを作成します。
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/nagios/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/nagios/.ssh/id_rsa. Your public key has been saved in /home/nagios/.ssh/id_rsa.pub. The key fingerprint is: 29:ed:70:ce:1a:91:42:cb:e0:f6:4b:81:e8:4a:22:fa nagios@nagios The key's randomart image is: +--[ RSA 2048]----+ | | | | | . . | | o = . o . | |. + = = S | |.. . o O | |oo o . + | |* . . o | |o.E . . | +-----------------+
公開鍵を監視対象サーバー、秘密鍵を監視サーバーに配置します。
コマンドを登録します。
define command{ command_name check_by_ssh command_line $USER1$/check_by_ssh -H $HOSTADDRESS$ -i /home/nagios/.ssh/id_rsa -l $ARG1$ -t $ARG2$ -p $ARG3$ -C $ARG4$ }
サービスを登録します。今回は「check_by_ssh」経由で、「check_load」を実行する例です。
define service { use generic-service host_name localhost service_description LOAD by ssh check_command check_by_ssh!nagios!30!22!"/usr/local/nagios/libexec/check_load -w 2,2,2 -c 3,3,3" }
Remote command execution failed: Host key verification failed. と出る場合
Nagiosを実行するユーザーの「known_hosts」に公開鍵が登録されていない場合、
このメッセージが出力されます。
事前にsshログインをして「known_hosts」に公開鍵の情報を登録しておけばOKです。
今日はこんなところで。