[comment]: # translation:outdated

[comment]: # ({0ee06d3b-0ee06d3b})
# 11 外部チェック

[comment]: # ({/0ee06d3b-0ee06d3b})

[comment]: # ({fe53179b-cd36d798})
#### 概要

外部チェックとは、Zabbixサーバーが[シェルスクリプトの実行](/manual/appendix/command_execution)やバイナリによって行うチェックです。ただし、ホストがZabbixプロキシによって監視されている場合、外部チェックはプロキシによって実行されます。

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

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

    script[<parameter1>,<parameter2>,...]

|引数|定義|
|--------|----------|
|**script**|シェルスクリプトまたはバイナリの名前|
|**parameter(s)**|オプションのコマンドラインパラメーター|

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

    script[] or
    script

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

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

[comment]: # ({/fe53179b-cd36d798})

[comment]: # ({f582cbf0-55e878ce})
#### 使用例

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

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

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

    check_oracle.sh '-h' '192.168.1.4'

[comment]: # ({/f582cbf0-55e878ce})

[comment]: # ({d640bfaf-011b7534})
#### 外部チェック結果

外部チェックの戻り値は、チェックによって生成される標準出力と標準エラーです。

::: noteimportant
標準エラー出力の場合、テキスト(文字、ログ、またはテキストタイプの情報)を返すアイテムはサポート外にはなりません。
:::

戻り値は16MBに制限されます(切り捨てられた末尾の空白も含みます)。[データベースの制限](/manual/config/items/item#text_data_limits)も適用されます。

要求されたスクリプトが見つからないか、Zabbixサーバーにスクリプトを実行する権限がない場合、アイテムはサポートされなくなり、対応するエラーメッセージが表示されます。

タイムアウトが発生した場合はアイテムはサポートされなくなり、対応するエラーメッセージが表示され、スクリプト用にフォークされたプロセスが終了します。

[comment]: # ({/d640bfaf-011b7534})
