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