2009年8月8日土曜日

nagios 設定 check_pgsql の設定

check_pgsqlでもはまった箇所があったので、記録しておきます。
デフォルト通りに check_pgsql で監視をすると、以下のエラーが出力されました。

PGSQL: CRITICAL - no connection to 'template1' (FATAL: role "nagios" does not exist

どうやら、nagiosという roleでtemplate1というDBへアクセスしにいっているようです。
もちろん、nagiosというroleはないため、上記に示すエラーが出力されています。
そのため、以下のような設定をしました。
/usr/local/nagios/libexec/check_pgsql -h とヘルプを表示したところエラーに関係ありそうなところがありました。
-d, --database=STRING Database to check (default: template1)
-l, --logname = STRING Login name of user
-p, --password = STRING Password (BIG SECURITY ISSUE)

そこで、/usr/local/nagios/etc/checkcommands.cfg に以下を追加しました。
# 'check_pgsql' command definition
define command{
command_name check_pgsql
command_line $USER1$/check_pgsql -H $HOSTADDRESS$ -d $ARG1$ -l $ARG2$ -p $ARG3$
# command_line $USER1$/check_http -I $HOSTADDRESS$
}

その次に、/usr/local/nagios/etc/services.cfg に以下を追加しました。以下の例ではデータベースを「postgres」ユーザーID「userid」パスワードを「password」とした例です。

define service{
use generic-service ; Name of service template to use
host_name DB-PG
service_description PGSQL
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups DB-admins
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_pgsql!postgres!userid!password
}

これで /etc/rc.d/inint.d/nagios restart で再起動し

PGSQL: ok - database postgres (0 sec.)

とか出力されれば「OK]です。

0 件のコメント:

コメントを投稿

What A Wonderful World - ルイ・アームストロング  名曲です。

  きょうは、ルイ・アームストロングの「What A Wonderful World 」です。  コロナ禍時こそ、この歌を聞きたくなりました。  なんて、素晴らしい世界なんだー!   素晴らしい世界は身近なことにあることを教えてくれる曲です。  この曲を知ったきっかけは、予備校時...