[comment]: # ({d3fd8a91-0aa26ab0})
# 1 保存前処理のテスト

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

[comment]: # ({c929b4b7-ad67af50})
### テスト

前処理ステップのテストは、複雑な前処理パイプラインが期待どおりの結果を返すことを確認するのに役立ちます。これにより、アイテムの値が受信されて前処理されるのを待たずに済みます。

![](../../../../../assets/en/manual/config/items/test_item_steps.png){width="600"}

テストできる内容は次のとおりです。

-   仮想的な値に対して
-   ホストからの実際の値に対して

各前処理ステップは個別にテストでき、すべてのステップをまとめてテストすることもできます。Actions ブロックでそれぞれ *Test* または *Test all steps* ボタンをクリックすると、テストウィンドウが開きます。

[comment]: # ({/c929b4b7-ad67af50})

[comment]: # ({d62b94bd-45423233})
##### 仮想値のテスト

![](../../../../../assets/en/manual/config/items/test_item_p.png){width="600"}

|Parameter|Description|
|--|--------|
|*Get value from host*|仮想値をテストしたい場合は、このチェックボックスをオフのままにします。<br>参照: [実値のテスト](#testing-real-value)。|
|*Value*|テストする入力値を入力します。<br>パラメータ欄または表示/編集ボタン ![](../../../../../assets/en/manual/config/items/pencil.png) をクリックすると、値またはコードブロックを入力するためのテキストエリアウィンドウが開きます。|
|*Not supported*|サポートされていない値をテストする場合は、このチェックボックスをオンにします。<br>このオプションは、*サポートされていない値のチェック* の前処理ステップをテストするのに便利です。|
|*Error*|エラーテキストを入力します。<br>このフィールドは、*Get value from host* がオフで、かつ *Not supported* がオンのときに有効になります。<br>*Get value from host* がオンの場合、このフィールドにはホストからの実際のエラーメッセージが入力されます（読み取り専用）。|
|*Time*|入力値の時刻が表示されます: `now`（読み取り専用）。|
|*Previous value*|比較対象となる前回の入力値を入力します。<br>*Change* および *Throttling* の前処理ステップでのみ使用します。|
|*Previous time*|比較対象となる前回の入力値の時刻を入力します。<br>*Change* および *Throttling* の前処理ステップでのみ使用します。<br>デフォルト値は、アイテムの 'Update interval' フィールドの値に基づきます（'1m' の場合、このフィールドには `now-1m` が入力されます）。何も指定されていない場合、またはユーザーがホストにアクセスできない場合、デフォルトは `now-30s` です。|
|*Macros*|マクロが使用されている場合は、その値とともに一覧表示されます。値はテスト目的で編集できますが、変更はテストコンテキスト内でのみ保存されます。|
|*End of line sequence*|複数行の入力値に対する行末シーケンスを選択します:<br>**LF** - LF（改行）シーケンス<br>**CRLF** - CRLF（キャリッジリターン + 改行）シーケンス。|
|*Preprocessing steps*|前処理ステップが一覧表示されます。*Test* ボタンをクリックすると、各ステップのテスト結果が表示されます。<br>テスト結果は、Webインターフェースに送信される際に最大 512KB まで切り詰められます。テスト結果は、切り詰められた 512KB を超えない範囲でコピーできます。結果が切り詰められた場合は警告アイコンが表示されます。警告の説明はマウスオーバーで表示されます。512KB を超えるデータも、Zabbix サーバーによって完全に処理される点に注意してください。<br>ステップのテストに失敗した場合は、エラーアイコンが表示されます。エラーの説明はマウスオーバーで表示されます。<br>ステップに "Custom on fail" が指定され、そのアクションが実行された場合は、前処理テストステップ行の直後に新しい行が表示され、実行されたアクションとその結果（エラーまたは値）が示されます。|
|*Result*|すべてのステップをまとめてテストした場合（*Test all steps* ボタンをクリックした場合）、前処理ステップの最終結果がすべてのケースで表示されます。<br>アイテムの値タイプへの変換タイプも表示されます。たとえば `Result converted to Numeric (unsigned)` のように表示されます。<br>テスト結果は、Webインターフェースに送信される際に最大 512KB まで切り詰められます。最終結果は、切り詰められた 512KB を超えない範囲でコピーできます。結果が切り詰められた場合は警告アイコンが表示されます。警告の説明はマウスオーバーで表示されます。512KB を超えるデータも、Zabbix サーバーによって完全に処理される点に注意してください。|

各前処理ステップの後の結果を確認するには、*Test* をクリックします。

テスト値は、個別のステップまたはすべてのステップについて、テストセッション間で保存されます。これにより、ユーザーは前処理ステップやアイテム設定を変更した後でも、情報を再入力せずにテストウィンドウへ戻ることができます。ただし、ページを更新すると値は失われます。

テストは Zabbix サーバーによって実行されます。Webインターフェースは対応するリクエストをサーバーに送信し、結果を待機します。リクエストには入力値と前処理ステップ（展開済みのユーザーマクロを含む）が含まれます。*Change* および *Throttling* ステップでは、任意で前回の値と時刻を指定できます。サーバーは各前処理ステップの結果を返します。

すべての技術的エラーまたは入力検証エラーは、テストウィンドウ上部のエラーボックスに表示されます。

[comment]: # ({/d62b94bd-45423233})

[comment]: # ({04cfec48-43637da5})
##### 実際の値のテスト

実際の値に対して前処理をテストするには、次の手順を実行します。

-   *ホストから値を取得* チェックボックスをオンにする
-   ホストパラメータ（ホストアドレス、ポート、プロキシ名/なしのプロキシ）およびアイテム固有の詳細（SNMPv2コミュニティやSNMPv3セキュリティ認証情報など）を入力または確認する。これらのフィールドはコンテキストに応じて動作します。
    -   値は可能な場合は事前入力されます。つまり、エージェントを必要とするアイテムでは、ホストの選択されたエージェントインターフェースから情報が取得されます
    -   テンプレートアイテムでは値を手動で入力する必要があります
    -   プレーンテキストのマクロ値は解決されます
    -   フィールド値（または値の一部）がシークレットまたはVaultマクロである場合、フィールドは空になり、手動で入力する必要があります。アイテムパラメータにシークレットマクロ値が含まれている場合、次の警告メッセージが表示されます: "Item contains user-defined macros with secret values. Values of these macros should be entered manually."
    -   アイテムタイプのコンテキストで不要な場合、フィールドは無効になります（例: 計算アイテムではホストアドレスとプロキシのフィールドが無効になります）
-   *値を取得してテスト* をクリックして前処理をテストする

![](../../../../../assets/en/manual/config/items/test_item_p2.png){width="600"}

アイテム設定フォームで値マッピング（'Show value' フィールド）を指定している場合、アイテムテストダイアログには最終結果の後に 'Result with value map applied' という別の行が表示されます。

ホストから実際の値を取得する際に固有のパラメータ:

|Parameter|Description|
|--|--------|
|*ホストから値を取得*|ホストから実際の値を取得するには、このチェックボックスをオンにします。|
|*ホストアドレス*|ホストアドレスを入力します。<br>このフィールドは、アイテムホストインターフェースのアドレスによって自動的に入力されます。|
|*ポート*|ホストポートを入力します。<br>このフィールドは、アイテムホストインターフェースのポートによって自動的に入力されます。|
|*SNMPインターフェース用の追加フィールド<br>(SNMPバージョン、SNMPコミュニティ、コンテキスト名など)*|SNMPインターフェース（v1、v2、v3）の設定に関する詳細は、[SNMP監視の設定](/manual/config/items/itemtypes/snmp#step-2) を参照してください。<br>これらのフィールドは、アイテムホストインターフェースから自動的に入力されます。|
|*プロキシ*|ホストがプロキシで監視されている場合は、プロキシを指定します。<br>このフィールドは、ホストのプロキシ（存在する場合）によって自動的に入力されます。|
|*値*|ホストから取得した値。<br>パラメータフィールドまたは表示/編集ボタン ![](../../../../../assets/en/manual/config/items/pencil.png) をクリックすると、値またはコードブロックのテキストエリアウィンドウが開きます。<br>値は最大512KBまでに切り詰められ、frontendでのみ切り詰められます。結果が切り詰められた場合は警告アイコンが表示されます。警告の説明はマウスオーバーで表示されます。512KBを超えるデータもZabbixサーバーによって完全に処理されることに注意してください。|

その他のパラメータについては、上記の[仮想値のテスト](#testing-hypothetical-value)を参照してください。

[comment]: # ({/04cfec48-43637da5})
