サービスマッピング のパターンベースの Discovery
パターンベースディスカバリーは、アプリケーションサービスで使用されるデバイスとアプリケーションに関するデータを収集する サービスマッピング の主要な手段です。サービスマッピング はデータを収集した後、アプリケーションサービスのマップを作成し、収集されたデータを CMDB に保存します。
ServiceNow アプリケーションは、構成アイテム (CI) としてサービスインスタンスを構成するデバイスおよびアプリケーションを参照します。
サービスマッピング はパターンを使用して CI を検出およびマッピングします。パターンは、CI の属性とその送信接続を検出するために設計された一連のコマンドです。 一般的な サービスマッピング のパターンは、CI を識別するものと CI 接続を発見するものという 2 種類のアルゴリズムで構成されます。
ディスカバリープロセスの開始点はエントリーポイントです。エントリーポイントは、クライアントがサービスインスタンスにアクセスするポイントです。 たとえば、メールサービスインスタンスをマッピングするには、メールサーバーの IP アドレスまたはホスト名をエントリーポイントとして定義します。ディスカバリーとマッピングプロセスは、ディスカバリー が水平ディスカバリーを実行してホストを識別することから始まります。ホストディスカバリーが完了すると、サービスマッピング によりトップダウンディスカバリーが開始され、このホスト上で実行されているアプリケーションが検出およびマップされます。
サービスマッピング が MID サーバー を使用して、組織内の CI との通信を行います。MID サーバー は組織のネットワーク内にあり、サービスマッピング はファイアウォールを経由せずにそれらと通信することができます。
- 管理者は、サービスインスタンスをアプリケーション CI のエントリポイントを使用して定義します。
サービスマッピング では、新しい サービスインスタンス のレコードをマッピング済みアプリケーションサービス [cmdb_ci_service_discovered] テーブルに作成します。
- アプリケーションをホストするデバイスが特定されます。
- サービスマッピング が、このアプリケーション CI をホストしているデバイスが CMDB に存在するかどうかを確認します。
- このアプリケーション CI をホストするデバイスが存在しない場合は、サービスマッピング によりホストを検出するために ディスカバリー がトリガーされます。
- ディスカバリー がポートディスカバリー用の最初のプローブセット (Shazzam プローブと呼ばれます) を作成し、外部通信チャネル (ECC) キューにディスカバリー要求として配置します。
- MID サーバー は ECC キューを確認し、アサインされたディスカバリー要求を取得します。
- MID サーバー はホストに対してプローブを実行し、開いているポートを検出します。
- MID サーバー によりホストポートの情報が ECC キューに渡されます。
- ディスカバリー が ECC キューを確認し、ホストポートに関する情報を受信します。
- これらのステップは、分類、識別、および探索の他のタイプのプローブに対して繰り返し実行されます。
- ディスカバリー でホストが CMDB に追加されます。
- プローブを使用してホストをディスカバリーする際に、サービスマッピング は ECC キューを使用して、このプロセスが完了しているか確認します。ホストディスカバリーが完了したら、 このホストが CMDB に存在するかどうかを サービスマッピング が確認します。
注:水平ディスカバリーフローの詳細な説明については、「 プローブとセンサーを使用した水平ディスカバリープロセスフロー」を参照してください。 - CMDB でホストが見つかると、サービスマッピング がこのホストで実行されているアプリケーションを検出します。
- サービスマッピング がエントリーポイントの IP アドレスに対するアプリケーションディスカバリー要求を作成します。次に、要求を ECC キューに書き込み、MID サーバー を要求に割り当てます。
- MID サーバー は ECC キューを確認し、アサインされたディスカバリー要求を取得します。
- MID サーバー は、分類子に関連付けられたパターンの識別セクションを実行して、エントリーポイントの一致を検索します。識別セクションがエントリーポイントと一致すると、パターンによって CI が検出されます。
- MID サーバー はパターンの接続セクションを開始して、新しく検出された CI の送信接続を検索します。
- MID サーバー は検出された CI、その属性、および ECC キューへの接続に関する情報を渡します。
- サービスマッピング が ECC キューを確認し、新しく検出された CI に関する情報を受信します。
サービスマッピング では、ECC キューをチェックして検出された CI に関する情報を受け取るたびに、これらのテーブルで CI に関連するアウトバウンド接続のデータ (cmdb_tcp および sa_flow_connection テーブル) をチェックします。これらの 2 つのテーブルに、パターンで検出できなかった固有のデータが含まれている場合、サービスマッピング は CI 接続に関する情報を拡充させ、それらをマップに追加します。
- サービスマッピング が情報を CMDB に書き込み、この CI をサービスインスタンスマップに追加します。
- サービスマッピング は、新たに検出された CI が接続するすべてのアプリケーションのディスカバリー要求を作成します。マッピングは、送信接続がない CI、または境界としてマークされている CI を サービスマッピング がマップした後に完了します。境界を使用すると、サービスマッピング はこの点からの検出を停止し、送信接続は実行されません。
- システムは定期的にサービス再計算を実行して、最新の CI 変更のために CMDB をクエリーし、ネットワークとストレージのパスのデータを追加し、CI 影響度ルールを適用します。