外部チェックは、Zabbixサーバーがシェルスクリプトまたはバイナリを実行することで実行されるチェックです。ただし、ホストがZabbixプロキシによって監視されている場合、外部チェックはプロキシによって実行されます。
外部チェックは、監視対象ホストでエージェントを実行する必要がありません。
アイテムキーの構文は以下の通りです。
ここで:
| 引数 | 定義 |
|---|---|
| script | シェルスクリプトまたはバイナリの名前 |
| parameter(s) | コマンドラインパラメータ(省略可能) |
スクリプトにパラメータを渡したくない場合は、以下のように指定できます。
Zabbixサーバーまたはプロキシは、外部スクリプト用に指定されたディレクトリを検索し、コマンドを実行します(Zabbixサーバー/プロキシの設定ファイルのExternalScriptsパラメータを参照)。 コマンドはZabbixサーバー/プロキシと同じユーザーで実行されるため、必要に応じてラッパースクリプト内でアクセス権や環境変数を処理する必要があります。 コマンドのパーミッションも、そのユーザーが実行できるように設定する必要があります。 指定されたディレクトリ内のコマンドのみが実行可能です。
外部チェックの多用は避けてください。各スクリプトの実行にはZabbixサーバー/プロキシによるforkプロセスの開始が必要となり、多数のスクリプトを実行するとZabbixのパフォーマンスが大幅に低下する可能性があります。
最初のパラメータ '-h' でスクリプト check_oracle.sh を実行します。2番目のパラメータは、ホストプロパティでの選択に応じて、IPアドレスまたはDNS名に置き換えられます。
ホストがIPアドレスを使用するように設定されていると仮定すると、Zabbixサーバー/プロキシは次のように実行します。
外部チェックの戻り値は、チェックによって生成された標準出力と標準エラーです。
テキスト(文字列、ログ、またはテキスト型の情報)を返すアイテムは、標準エラー出力があっても未サポートにはなりません。
戻り値は16MBに制限されています(末尾の空白も含み、切り捨てられます)。データベースの制限も適用されます。
要求されたスクリプトが見つからない場合や、Zabbixサーバー/プロキシに実行権限がない場合、アイテムは未サポートとなり、対応するエラーメッセージが表示されます。
タイムアウトの場合、アイテムは未サポートとなり、対応するエラーメッセージが表示され、スクリプト用にforkされたプロセスは終了します。