IRE 識別 DUPLICATE_PAYLOAD_RECORDS エラーIssue 識別および調整エンジン (IRE) は、識別ルールに基づいて識別を行います。IRE に渡されるデータと識別ルールに基づいて、識別エンジンは構成管理データベース (CMDB) で正しい構成アイテム (CI) を見つける必要があります。CI を更新または作成するときに IRE を使用する必要があります。IRE を使用すると、重複のない一貫した CMDB が得られます。 ディスカバリーパターンは CI からデータを収集して CMDB を更新します。ただし、同じペイロード内の重複レコードが IRE に渡される可能性があります。同じペイロードで重複レコードが IRE に渡されると、DUPLICATE_PAYLOAD_RECORDS エラーがスローされます。DUPLICATE_PAYLOAD_RECORDS は、パターン内のステップを介してペイロードから削除できます。この KB では、このような重複を削除する簡単な方法の概要を説明します。 エラーの例: DUPLICATE_LOOKUP_PAYLOAD Found duplicate Lookup items (0 and 1) in the payload index 22 using fields serial_number,serial_number_type: no thrown error Resolution重複を削除する簡単な方法は、DuplicateRemover スクリプトを使用することです。手順は次のとおりです。 重複があるペイロード内のテーブルを特定します。上記の例ではテーブルが cmdb_serial_number でした。エラーに記載されているフィールドが正しいテーブルを決定するのに役立ちます。operation = "Set Parameter Value" のパターンにステップを追加します。スクリプトを使用して値を入力して、次のような重複を削除します。 EVAL( javascript: // This table will be the new table without the duplicates var tableWithoutDuplicates = ''; // Pass the table_to_remove_duplicates_from, and the columns to use for identification, to the DuplicateRemover tableWithoutDuplicates = DuplicateRemover.removeDuplicates(${table_to_remove_duplicates_from},["column_1","column_2"]); // Replace original table with new table duplicates free CTX.setAttribute("table_to_remove_duplicates_from", tableWithoutDuplicates); ); ステップは次のようになります。ステップを保存し、パターンを公開します。 注意: ほとんどの場合は、重複を含むテーブルが作成された直後に、重複を削除するステップを追加することをお勧めします。上のステップ画像にある名前 $temp_unique_service には、パターンで既に使用されている変数と一致しない任意の名前を使用できます。正しいテーブル名と列が含まれるようにスクリプトを更新する必要があります。スクリプト、column_1、および column_2 で言及されている列は、スクリプトが重複を判断するために使用するものであり、それに応じて置き換える必要があります。例の CI の行が列のみで識別できる場合 (たとえば serial_number)、次のように必要な列は 1 つだけです。 tableWithoutDuplicates = DuplicateRemover.removeDuplicates(${cmdb_serial_number},["serial_number"]); Related Links(1) sys_properties レコード glide.cmdb.logger.source.identification_engine を「info、warn、error、debug」に設定します。 (2) 次のスクリプトを実行します。var eccRecord = new GlideRecord('ecc_queue'); eccRecord.get(''); // 入力 ECC キューの sys ID を入れるvar sp =new SncSensorProcessor(eccRecord); sp.process(); (3) 出力を確認します。スクリプトバックグラウンドでのスクリプトを使用した識別および調整エンジンのデバッグ 識別および調整のコンポーネントおよびプロセス 識別エンジンのエラーメッセージ 「MSSql DB On Windows」パターンの「MSSQL コンポーネント情報の収集 (Collect MSSQL Components Info)」共有ライブラリで、フィールド binary_path、service_name、service_type を使用しているペイロードインデックス 1 に重複した関連アイテム (1 と 25) が見つかった (DUPLICATE_RELATED_PAYLOAD) とスローされる 識別エンジンの出力ペイロードにホストアイテムが見つかりませんでした