パターンディスカバリーと水平ディスカバリー
- 更新日2025年1月30日
- 所要時間:13 分
- Yokohama
- "ディスカバリー"
パターンとは、ネットワーク上でどの CI を検出するか、どの認証情報を使用するか、CMDB でどのテーブルに入力するかをディスカバリーに指示する一連の操作です。
ディスカバリーでパターンを使用する方法
パターンはプローブと同じ機能を持ち、ターゲット CI を識別して探索します。ディスカバリーではディスカバリーの最後の 2 つのフェーズ (識別と探索) においてのみパターンを使用します。
パターンを使用して水平ディスカバリーを開始すると、パターンを使用していない場合と同じようにスキャンフェーズと分類フェーズが実行されます (プローブとセンサーを使用する場合のみ)。分類ステージが完了すると、ディスカバリーは分類子のトリガープローブを調べて、起動するプローブを確認します。Horizontal Pattern プローブがトリガープローブとして指定されている場合、ディスカバリーは Horizontal Pattern プローブと指定されたパターンの両方を起動します。
プローブとパターンの違い
水平ディスカバリーでパターンを使用する場合と、水平ディスカバリーでプローブのみを使用する場合の主な違いは、この表に示すとおりです。
| トピック | プローブを使用する水平ディスカバリー | パターンを使用する水平ディスカバリー |
|---|---|---|
| ディスカバリーのフェーズ | プローブは 4 つのディスカバリーフェーズすべてで実行されます。 | パターンは識別フェーズと探索フェーズにおいてのみ実行されます。ディスカバリーでは引き続き、Shazzam プローブとポートプローブを使用してディスカバリーを開始します。 |
| 新しい CI の検索 | ディスカバリーには、いくつかの初期設定のプローブとセンサーがあります。 ただし、新しい CI を探したり、ディスカバリーが CMDB で入力したデータを変更したりするには、ニュースプローブとセンサーを作成するか、既存のものをカスタマイズする必要があります。これを行うには、Java と JavaScript の知識が必要です。また、プローブが他のプローブやセンサーとどのようにして連携動作するか理解する必要があります。 |
ディスカバリーは、すべてのメジャーリリースと ServiceNow アプリストアにより多くのパターンを提供しています。 新しいパターンを作成したり、既存のパターンをカスタマイズしたりする場合は、分かりやすいインターフェイスであるパターンデザイナーを使用してステップをビルドし、値を入力することができます。 |
| 機能サポート | すべての標準ネットワークと CI ディスカバリーをサポートします。パターンを使用しないと、特定のアプリケーションはサポートされません。完全なリストについては、「ITOM ヴィジビリティ により検出された製品に関する詳細情報」を参照してください。 | すべての標準的なディスカバリーのサポートに加えて、パターンは次のものをサポートしています。
|
| ECC キューとトラブルシューティング | ディスカバリーでは、起動するプローブの数に応じて複数の ECC キューレコードが作成されます。 水平ディスカバリーに関する問題のトラブルシューティングを行うには、いくつかの ECC キューレコードを分析して、ディスカバリーが取得したデータを確認する必要があります。 |
ディスカバリーでは、そのパターンの追加の ECC キューレコードが 1 件のみ作成されます。 識別および探索中に水平ディスカバリーを使用して問題をトラブルシューティングするには、パターンの ECC キューレコードを 1つ分析する必要があります。 |
| パフォーマンス | 識別および探索しようとしているターゲット CI のタイプに応じて、ディスカバリーは識別フェーズ中に複数のプローブをトリガーし、ディスカバリーフェーズ中に追加のプローブをトリガーします。多くのプローブをトリガーして処理するとオーバーヘッドが増加するため、プローブを使用した水平ディスカバリーに長く時間がかかる可能性があります。 | ディスカバリーは、識別フェーズと探索フェーズで 1 つのパターンをトリガーします。ディスカバリーで実行される必要があるすべての操作はパターン内にあり、ディスカバリーはパターンが終了するまで順番に実行できます。したがって、パターンディスカバリーによってパフォーマンスが向上する可能性があります。 |
垂直および水平ディスカバリーのパターン
ディスカバリーとサービスマッピングはともに、水平および垂直ディスカバリーに同じパターンを使用できます。ただし、これらは異なる方法で編集されます。すべての手順については、「パターンの作成またはカスタマイズ」を参照してください。垂直ディスカバリーでのみ使用されていたパターンを水平ディスカバリーに使用する場合は、いくつかの変更を加える必要があります。手順については、「水平ディスカバリーにおけるパターンの使用」を参照してください。
パターンオーケストレーター
パターンオーケストレーターは、検出でデータ収集に関連する複数のパターンを階層でトリガーできるようにするプロセスです。このプロセスは、MID サーバーで検出が遅くなって OOM (メモリー不足) の問題が発生する可能性がある大きなデータセット (または大きなペイロード) の問題の解決に役立ちます。
パターンオーケストレーターは、[パターンデザイナー] の [パターンオーケストレーター] タブでアクセスできます。このタブには、[トリガールール]、[オーケストレーター入力]、[オーケストレーター出力] の 3 つの新しいテーブルが含まれます。
- [カウント] では、バッチサイズカウントの数を指定する必要があります。子パターンは、親パターンが指定された数の CI を送信するたびにトリガーされます。
- [すべて] では、親パターンから送信されたすべての CI を使用して子パターンを 1 回トリガーします。
- [親コンテキストのみを使用] では、親パターンの出力設定に依存するため、トリガーする必要がある子パターンを指定できます。2 つのパターンの親が同じであるがどちらかを先にトリガーする必要がある際に便利です。
[オーケストレーター入力] で [CI タイプ] フィールドを使用して、CI タイプを親パターンまたは親の親パターンから受け入れます。[名前を付けて保存] フィールドでは、パターンで使用する CI タイプの名前を保存します。サービスアカウントは特殊なケースであり、service_account という名前にする必要があります。[CI 属性] フィールドでは、親パターンの出力を使用して使用する属性を選択します。
[オーケストレーター出力] では、後続のパターンに送信されるデータを制御します。これには、検出される CI のタイプを指定する [CI クラスタイプ] フィールドと、子パターンへの入力として渡される変数を指定する [変数名] フィールドが含まれます。[変数名] で指定されていない変数は、子パターンには送信されません。変数 source_native_key は、[変数名] フィールドで検索することによって手動で追加できます。
ソースネイティブキー
状況によっては、1 つのパターンでは CI に関する部分的な情報が、別のパターンでは同じ CI に関する部分的な情報がそれぞれ取得される場合があります。冗長なレコードを作成したり部分的な情報を破棄したりする代わりに、情報は CMDB IRE 部分のペイロード [cmdb_ire_partial_payloads_list] テーブルに保存されます。充分なパターンが部分的な情報を収集した後、そのデータを関連付けて CI の詳細情報を提供できます。
ページネーション
MID サーバーのメモリー負荷を軽減するもう 1 つの方法は、ページネーションです。ページネーションでは、大きいペイロードをページと呼ばれる小さい順序付けられたスライスに分割します。ページネーションでは、受信したアイテムの最大サイズを制限してトークンを生成します。そのページが処理されると、すべてのページが完了するまでトークンが次のページに渡されて処理されます。
ページネーションは、カスタム運用テーブル [sa_custom_operation] から制御されます。フォームでは、[ページネーションに対応] フィールドはデフォルトで非表示ですが、フォームのカスタマイズコントロールでフォームに追加できます。true に設定すると、パターンデザイナーの関連するパターンに [ページネーション] フィールドが含まれます。[ページネーション] フィールドを true に設定すると、そのステップがページネーションを含むパターンで実行されます。
分類子への水平パターンプローブの追加
水平ディスカバリーの識別および探索フェーズにパターンを使用するには、検出しようとしている CI の分類子に水平パターンプローブを追加する必要があります。
始める前に
このタスクについて
手順
水平ディスカバリーにおけるパターンの使用
新しいパターンを使用する場合、または垂直ディスカバリーに使用していたパターンがすでにある場合は、関連する分類子にいくつかの変更を加えて、水平ディスカバリー用のパターンを使用することができます。
始める前に
このタスクについて
手順
次のタスク
パターンをデバッグモードで実行し、テストします。パターンが正常に機能することを確認したら、ディスカバリースケジュールを設定したり、オンデマンドディスカバリーを実行したりして、ディスカバリーを実行できます。詳細については、「水平ディスカバリーのスケジュール」を参照してください。