パターンディスカバリーと水平ディスカバリー

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:11分
  • パターンとは、ネットワーク上でどの CI を検出するか、どの認証情報を使用するか、CMDB でどのテーブルに入力するかをディスカバリーに指示する一連の操作です。

    このトピックでは、水平ディスカバリーのフェーズについて理解していることを前提としています。プローブおよびパターンの水平ディスカバリープロセスについて確認する必要がある場合は、以下を参照してください。
    注:
    プローブからパターンへの移行の詳細については、ナレッジ記事 KB0694477を参照してください。

    ディスカバリーでパターンを使用する方法

    パターンはプローブと同じ機能を持ち、ターゲット CI を識別して探索します。ディスカバリーではディスカバリーの最後の 2 つのフェーズ (識別と探索) においてのみパターンを使用します。

    パターンを使用して水平ディスカバリーを開始すると、パターンを使用していない場合と同じようにスキャンフェーズと分類フェーズが実行されます (プローブとセンサーを使用する場合のみ)。分類ステージが完了すると、ディスカバリーは分類子のトリガープローブを調べて、起動するプローブを確認します。Horizontal Pattern プローブがトリガープローブとして指定されている場合、ディスカバリーは Horizontal Pattern プローブと指定されたパターンの両方を起動します。

    プローブとパターンの違い

    水平ディスカバリーでパターンを使用する場合と、水平ディスカバリーでプローブのみを使用する場合の主な違いは、この表に示すとおりです。

    トピック プローブを使用する水平ディスカバリー パターンを使用する水平ディスカバリー
    ディスカバリーのフェーズ プローブは 4 つのディスカバリーフェーズすべてで実行されます。 パターンは識別フェーズと探索フェーズにおいてのみ実行されます。ディスカバリーでは引き続き、Shazzam プローブとポートプローブを使用してディスカバリーを開始します。
    新しい CI の検索

    ディスカバリーには、いくつかの初期設定のプローブとセンサーがあります。

    ただし、新しい CI を探したり、ディスカバリーが CMDB で入力したデータを変更したりするには、ニュースプローブとセンサーを作成するか、既存のものをカスタマイズする必要があります。これを行うには、Java と JavaScript の知識が必要です。また、プローブが他のプローブやセンサーとどのようにして連携動作するか理解する必要があります。

    ディスカバリーは、すべてのメジャーリリースと ServiceNow アプリストアにより多くのパターンを提供しています。

    新しいパターンを作成したり、既存のパターンをカスタマイズしたりする場合は、分かりやすいインターフェイスであるパターンデザイナーを使用してステップをビルドし、値を入力することができます。

    機能サポート すべての標準ネットワークと CI ディスカバリーをサポートします。パターンを使用しないと、特定のアプリケーションはサポートされません。完全なリストについては、「ITOM ヴィジビリティ により検出された製品に関する詳細情報」を参照してください。 すべての標準的なディスカバリーのサポートに加えて、パターンは次のものをサポートしています。
    • クラウドディスカバリー
    • 構成ファイルの追跡
    • CI 削除のストラテジー
    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 の分類子に水平パターンプローブを追加する必要があります。

    始める前に

    必要なロール:discovery_admin

    このタスクについて

    警告:
    この手順は、カスタム分類子レコードまたはデフォルトでパターンが含まれていない場合のみを対象としています。ただし、この分類子からプローブを使用して CMDB にデータを既に設定している場合にパターンの使用に切り替えると、ディスカバリーで重複する CI が作成される可能性があります。このため、この手順に従うのは、この分類子タイプのプローブで ディスカバリーを実行したことがない場合のみです。

    手順

    1. 移動先 すべて > ディスカバリー定義 > CI の分類 > {分類子タイプ}.
    2. 分類子のレコードを開きます。
    3. [プローブのトリガー] 関連リストをクリックします。
    4. 既存の識別および探索プローブを非アクティブ化します。
    5. [編集] をクリックし、[水平パターン] プローブを追加します。
      プローブが関連リストに表示されます。
    6. 関連リストビューから、[パターン] 列の下のフィールドをダブルクリックし、分類に関連付けるパターンを追加します。
      水平パターンプローブとパターンの追加
    7. [プローブのトリガー] 関連リストから他のプローブを削除するか、非アクティブ化します。
      注:
      パターンを削除しても、水平パターンプローブは分類子から自動的に削除されません。水平プローブに対して別のパターンを選択する必要があります。また、分類子に固有の識別および探索プローブの使用に切り替えることもできます。パターンを指定せずに水平プローブを使用すると、ディスカバリーは分類ステージの後に停止します。

    水平ディスカバリーにおけるパターンの使用

    新しいパターンを使用する場合、または垂直ディスカバリーに使用していたパターンがすでにある場合は、関連する分類子にいくつかの変更を加えて、水平ディスカバリー用のパターンを使用することができます。

    始める前に

    必要なロール:discovery_admin

    このタスクについて

    警告:
    この手順は、カスタム分類子レコードまたはデフォルトでパターンが含まれていない場合のみを対象としています。ただし、この分類子からプローブを使用して CMDB にデータを既に設定している場合にパターンの使用に切り替えると、ディスカバリーで重複する CI が作成される可能性があります。このため、この手順に従うのは、この分類子タイプのプローブで ディスカバリーを実行したことがない場合のみです。

    手順

    1. ディスカバリーでパターンを使用できることを確認します。
      1. 移動先 パターンデザイナー > ディスカバリーパターン.
      2. パターンを開きます。
        サービスマッピングで使用されるアプリケーションパターンは、タイプ 1-アプリケーションとして示されます。
      3. [基本] タブの [識別セクション] で、[TCP] または [すべて] のエントリーポイントタイプを許可するセクションが少なくとも 1 つあることを確認します。
        ない場合は 1 つ作成します。新しいパターンを作成するための識別手順を参照してください。
      4. パターンを保存します。
    2. インスタンスで、検出する CI タイプの分類を作成または変更します。
      分類子を次のように設定します。
      1. 移動先 ディスカバリー定義 > CI の分類 > {分類タイプ}.
      2. 関連する分類子を開きます。
      3. 分類子を次のように設定します。
        • [関係性タイプ]:[Runs on::Runs] を選択します (プロセス分類子のみ)。
        • [条件]:パターンの定義と同じ条件を設定します。
        • [プローブのトリガー] 関連リスト:水平パターンプローブを追加し、使用しているパターンを [パターン] 列に追加します。
      分類子の他のフィールドの説明については、「ディスカバリー CI の分類の作成」を参照してください。

    次のタスク

    パターンをデバッグモードで実行し、テストします。パターンが正常に機能することを確認したら、ディスカバリースケジュールを設定したり、オンデマンドディスカバリーを実行したりして、ディスカバリーを実行できます。詳細については、「水平ディスカバリーのスケジュール」を参照してください。