0

CentOS に Nagios をインストールしていくつかのサーバーを監視していますが、そのうちの 1 つは TSM サーバーです。

コマンドラインで実行すると、bashで書かれたプラグインがダウンロードされます。

/usr/lib64/nagios/plugins/check_tsm db -v6
db - database utilization 42%, OK

バッチスクリプトのリターンコードは0です(コマンドからecho $?

したがって、スクリプトは正常に動作し、nagios で OK ステータスを意味する 0 を返しますが、ステータスはまだ不明です。理由は本当にわかりません。

そして、nagiosなどでログを確認します。commands.cfgのコマンド定義やサービスの宣言の問題ではありません.nagiosが5分ごとに自動的に送信するコマンドをコピーし、コマンドはコマンドラインで正常に動作しますが、まだ不明です状態。

コマンドの定義:

コマンドを定義{

    command_name check_tsm_v6

    command_line /usr/lib64/nagios/plugins/check_tsm $ARG1$ -v6 $ARG2$ $ARG3$

    }

サービス宣言:

サービスを定義する{

    use generic-service 

    host_name        tsm-test

    service_description database utilization

    check_command check_tsm_v6!db!85!90
    }

そして、これがbashスクリプトです。

4

2 に答える 2

0

過去に Nagios スクリプトで気になったことの 1 つは、ユーザーの権限です。コマンドラインでスクリプトを直接テストする場合は、必ず前に次を付けてください。

sudo -u nagios

だからあなたは次のようになります:

sudo -u nagios /usr/lib64/nagios/plugins/check_tsm db -v6

これは、nagios インスタンスが nagios ユーザーによって実行されていることを前提としています。これはかなり安全な賭けです。

幸運を

ブラッド

于 2013-05-16T10:21:55.317 に答える