Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

11 外部からのチェック

概要

外部チェックとは、Zabbixサーバがシェルの実行running a shell script
バイナリを実行することで行うチェックのことです。ただし、Zabbix proxyでホストを監視している場合、
外部チェックは proxy で実行されます。

外部チェックでは、監視対象のホスト上で agent を実行する必要はありません。

アイテムキーの構文は以下の通りです。

script[<parameter1>,<parameter2>,...]
引数 定義
script シェルスクリプトまたはバイナリの名前
parameter(s) オプションのコマンドラインパラメータ

もし、スクリプトにパラメータを渡したくない場合は、以下のようにします。

script[] or
       script

Zabbixサーバは外部スクリプトの場所として定義されたディレクトリ(Zabbix server configuration fileのパラメータ 'ExternalScripts' )を検索し、コマンドを実行します。
コマンドはZabbixサーバの実行ユーザとして実行されるため、アクセス権限や環境変数は必要に応じてラッパースクリプトで処理し、
コマンドのパーミッションはそのユーザが実行できるようにする必要があります。指定したディレクトリにあるコマンドのみ実行可能です。

外部チェックを使いすぎないようにしましょう!
各スクリプトはZabbix server からフォークプロセスを起動する必要があるため、多くのスクリプトを実行すると
Zabbixのパフォーマンスが大幅に低下する可能性があります。

使用例

最初のパラメーターに '-h' を指定してスクリプト check_oracle.sh を実行します。
第2パラメータは、ホストプロパティでの選択に応じて、IPアドレスまたはDNS名に置き換えられます。

check_oracle.sh["-h","{HOST.CONN}"].

ホストがIPアドレスを使用するように設定されていると仮定して、Zabbixが実行します

check_oracle.sh '-h' '192.168.1.4' 

外部チェック結果

チェックの戻り値は、標準出力と標準エラーです(Zabbix 2.0 以降は末尾の空白を切り詰めた完全な出力が返されます)。

テキスト(文字、ログ、テキスト型情報)item は、標準エラー出力の場合、非対応になることはありません。

要求されたスクリプトが見つからない場合、またはZabbixサーバに実行権限がない場合、
アイテムは未サポートとなり、対応するエラーメッセージが設定されます。タイムアウトが発生した場合、
アイテムはサポート対象外となり、対応するエラーメッセージが表示され、スクリプト用にフォークされたプロセスは強制終了されます。