ディスカバリーの詳細
ディスカバリー ではコンピューター、サーバー、プリンター、さまざまな IP 対応デバイス、およびそれらで実行されるアプリケーションを検出します。次に、収集したデータを使用して、CMDB 内の CI を更新できます。
水平ディスカバリーとトップダウンディスカバリー
- 水平ディスカバリー
水平ディスカバリーは、ディスカバリー がネットワークをスキャンし、コンピューターやデバイスを検索して、検出された CI で CMDB にデータを入力するために使用する手法です。水平ディスカバリーでは、アプリケーション CI とそれが実行されている実際のコンピューター CI との
runs on関係性など、CI 間の直接的な関係性が作成されます。水平ディスカバリーはビジネスサービスを認識しておらず、CI が含まれているビジネスサービスに基づいて CI 間の関係性を作成するものではありません。- トップダウンディスカバリー
トップダウンディスカバリーは、サービスマッピングがメールサービスなどのビジネスサービスの一部である CI を検索してマッピングするために使用する手法です。たとえば、トップダウンディスカバリーでは、Apache Tomcat Web サーバーサービス、Windows サーバー、およびビジネスサービスのデータを格納する MSSQL データベースの間の関係性を示すことで、Web サイトのビジネスサービスをマッピングできます。
一般的に サービスマッピング と ディスカバリー は連携して水平ディスカバリーを最初に実行して CI を検索し、次にトップダウンディスカバリーを実行して、知る必要があるビジネスサービス間の関係性を確立します。
プローブ、センサー、およびパターン
- プローブとセンサー
- プローブとセンサーは、ホスト上のデータを収集および処理してから、CMDB を更新するスクリプトです。具体的には、プローブはネットワーク上の CI を探索または調査するのに対し、センサーはプローブから返されたデータを解析します。いくつかのプローブとセンサーがデフォルトで用意されていますが、それらをカスタマイズして別の情報を探すことも、プローブやセンサーを作成することもできます。また、複数のパラメーターを設定することによって、トリガーされるたびに特定のプローブの動作を制御することもできます。
- パターン
- プローブやセンサーのようなパターンは、ホスト上でデータを収集して処理し、CMDB を更新する一連の工程です。パターンはプローブやセンサーとは異なり、JavaScript ではなく Neebula ディスカバリー言語 (NDL) で記述され、水平ディスカバリープロセスの後のステージのアクションに呼び出されます。デフォルトのパターンが用意されていますが、パターンデザイナーを使用してパターンをカスタマイズまたは作成することもできます。
水平ディスカバリーのフェーズ
水平ディスカバリーのフェーズは次のとおりです。
- スキャン
- ディスカバリー では、Shazzam と呼ばれるプローブをネットワークに送信して、一般的に使用されているポートが開いているかどうか、およびそれらのポートがクエリに応答できるかどうかを確認します。たとえば、Shazzam がポート 135 で応答するデバイスを検出した場合、ディスカバリー はそれが Windows サーバーであることを認識します。
- 分類
- ディスカバリー でデバイスまたはコンピューターが検出された場合、追加のプローブを送信して、デバイスのタイプまたはデバイス上のオペレーティングシステムを確認します。たとえば、ディスカバリー は WMI プローブを Windows マシンに送信して、Windows 2012 オペレーティングシステムを検出します。次に、ディスカバリー では、分類子と呼ばれるレコードを使用します。これは、次の 2 つのフェーズで実行されるトリガープローブ (複数可) を指定します。パターンを使用している場合、分類子はトリガープローブを指定してから、パターンを起動します。
- 識別
- ディスカバリー はデバイスに関する詳細情報を収集し、デバイスの CI が CMDB に存在するかどうかを判断しようとします。ディスカバリー は、追加のプローブ、センサー、識別子を使用して、CMDB 内の既存の CI を更新するか、新しい CI を作成します。識別子 (識別ルールとも呼ばれる) は、データを CMDB 内の CI と照合する際に、プローブが参照する属性を指定します。パターンを使用している場合、ディスカバリー ではパターンで指定された CI タイプに適した識別ルールが使用されます。
- 探索
- 識別子は、分類子で設定された追加のプローブを起動します。これらのプローブは、デバイスを実行しているアプリケーションなどのデバイスに関する追加情報や、メモリー、ネットワーク カード、ドライバーなどの追加属性を収集するための探索プローブとして特別に設計されています。ディスカバリー では、アプリケーションとデバイス間およびアプリケーション間の関係が作成されます。パターンを使用している場合、パターンの操作で CI の探索が実行されます。
MID サーバーを介した検出通信
実行すべきプローブのインスタンスを常にクエリーする MID サーバー は、プローブ内の指示、またはプローブが指定するパターンの指示を実行します。その後 MID サーバーはインスタンスに結果を返し、それをセンサーが処理します。MID サーバーに検出情報は保持されません。
MID サーバーは HTTPS で SOAP を使用してすべての通信を開始します。これは、すべての通信が安全であり、すべての通信が企業のファイアウォール内で開始されることを意味します。特別なファイアウォールルールや VPN は必要ありません。
Discovery はエージェントレスなので、検出する必要があるコンピューターやデバイスに永続的なソフトウェアをインストールする必要はありません。MID サーバーは複数の手法を使って、エージェントを使用せずにデバイスをプローブします。たとえば、MID サーバーは SSH を使用して Unix または Linux コンピューターに接続してから、プローブに指定されているように標準のコマンドを実行して情報を収集できます。同様に、簡易ネットワーク管理プロトコル (SNMP) を使用してネットワークスイッチまたはプリンターから情報を収集します。
ディスカバリーのタイプ
ディスカバリー アプリケーションが実行できる水平ディスカバリーのタイプについて、次の表で説明します。
| タイプ | 説明 |
|---|---|
ネットワークディスカバリー |
このタイプのディスカバリーを実行して、組織内の内部 IP ネットワークを検索します。ネットワーク内の IP アドレス範囲を既に把握している場合は、ネットワークディスカバリーを実行する必要はありません。 |
CI ディスカバリー |
このタイプのディスカバリーを実行して、ネットワーク上のデバイス、コンピューター、およびアプリケーションを検索します。これは実質的に、最も頻繁に実行される標準的なタイプのディスカバリーです。 |
クラウドディスカバリー |
このタイプのディスカバリーを実行して、組織のクラウド内の AWS および Azure リソースを検索します。 |
サーバーレスディスカバリー |
このタイプのディスカバリーを実行して、ホストを最初にディスカバリーする必要なくホストマシン上のアプリケーションを検索します。サーバーレスディスカバリーは、ホスト上の CI を探索するパターンに依存しています。 |
IP サービスの親和性
IP サービスの親和性は、デバイスを正常に検索して当該デバイスの IP アドレスに関連付けるために使用される IP サービス情報を保存します。ディスカバリー はこの情報を使用して、正確なプロトコルを用いて後続の実行でデバイスをターゲットにすることができます。ディスカバリー は IP アドレスとともに IP サービスを記録します。ディスカバリー は、成功した IP サービス情報を IP サービスの親和性テーブル [ip_service_affinity] に保存できます。
たとえば、ネットワークデバイスで SSH ポートと SNMP ポートの両方が開いているとします。エージェントレス設計の ディスカバリー はまず、SSH を試行します。ただし、SNMP を介してネットワークデバイスを検出する必要があります。ディスカバリー は SSH プローブを試行して失敗します。これにより SNMP プローブがトリガーされ、成功します。IP アドレスと IP サービスの関係に基づいて、この IP アドレスをターゲットとする後続のディスカバリー実行では、成功したプローブである SNMP を最初に使用します。