アプリケーションディスカバリーマッピングの概要Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } アプリケーション依存関係マッピング (ADM) プローブは、サーバー上で実行されているプロセスに関する情報を収集します。ADM (アプリケーション依存関係マッピング) プローブがコンピューターとサーバーでトリガーされます。このプローブは、そのようなデバイスで実行中のプロセスに関する情報を収集します。 スクリプトインクルード DiscoveryADMSensor、EnrichProcessesAndConnections、および ApplicationDependencyMapping は連携して、プローブによって返された情報を処理します。特に、ApplicationDependencyMapping スクリプトインクルードは、返された各プロセスをチェックして、そのようなプロセスがいずれかのプロセス分類子に記述されている条件に一致するかどうかを判断します。一致する分類子を持つプロセスは、プロセスに関する詳細情報を収集し、CMDB にアプリケーションレコードを作成するために、プローブまたはパターンをトリガーする場合があります。 このようなプロセスのプローブ/パターンのトリガーは、プロセス分類子 (discovery_classy_proc) とプロセスハンドラー (discovery_proc_handler) に従った構成によって異なります。 詳細については、以下でも確認できます。 Discovery のアプリケーション依存関係マッピング (ADM) Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } すべて Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 目次 アプリケーション依存関係マッピングフロートラブルシューティング一般的な問題例入力処理のデバッグ アプリケーション依存関係マッピングフロー アプリケーション依存関係マッピングプローブは、検出されるデバイスの識別フェーズが完了するとトリガーされます。 アプリケーション依存関係マッピング: ADM プローブを介してサーバー上で実行中のプロセスと接続を収集します。 注: 複数の ADM プローブがあり、トリガーされる ADM プローブは分類子、UNIX、Windows、Linux などによって異なります。 ADM プローブによって返されたデータは、ADM センサーによって処理されます。ADM センサーは、DiscoveryJSONADMSensor スクリプトインクルードによって拡張された JSON ペイロードを作成します。DiscoveryJSONADMSensor は、ApplicationDependencyMapping スクリプトインクルードを呼び出します。最後に、ApplicationDependencyMapping スクリプトインクルードは、「CI 分類>プロセス>ディスカバリー定義」構成に従ってアプリケーション CI を作成します。 全体的な入力フロー プロセス分類子テーブル:discovery_classy_procプロセスハンドラーテーブル:discovery_proc_handler 次のドキュメントでは、すぐに利用可能なアプリケーションの一部を取り上げています。 ソフトウェアディスカバリー 次のドキュメントでは、NGINX Web サーバーのディスカバリーについて説明します。これはプロセス分類子の良い例です。 NGINX Web サーバーディスカバリー 次のリンクは、ADM とプロセスの分類を理解するのに役立ちます。 ディスカバリープロセスの分類の作成ディスカバリーの分類スクリプトオブジェクトディスカバリープロセスハンドラーの作成 トラブルシューティング 多くの場合、調査対象の問題は、アプリケーションのパターンまたはプローブがトリガーされなかったか、アプリケーションが作成されなかったことです。パターン/プローブがトリガーされたにもかかわらずアプリケーションが作成されないという問題は、アプリケーションのマッピングが正常に完了した後に発生します。このようなトラブルシューティングは、他のプローブ/パターン入力処理のトラブルシューティングと同じであり、このナレッジ記事 (KB) の範囲外です。プローブの権限の問題または入力エラーも、他のプローブと同様に調査されます。この KB の目標は、プローブまたはパターンがアプリケーションに対して正常にトリガーされるようにすることです。 全体的なトラブルシューティング手順は次のとおりです。 ADM プローブ入力を開きます。入力処理にエラーがないことを確認します。プローブ/パターンをトリガーするプロセスがペイロードに含まれていることを確認します。プロセス情報がプロセス分類子の条件と一致していることを確認します。プロセス分類子がアクティブであり、[プローブのトリガー] 関連リストにプローブ/パターンがあることを確認します。プロセス情報が、アクティブで分類 = false に設定されているプロセスハンドラーと一致するかどうかを確認します。必要に応じて (上記のいずれかのステップで根本原因が見つからない場合)、入力処理をデバッグします。 一般的な問題 アプリケーション依存関係マッピングプローブがトリガーされませんでした |アプリケーションレコードが作成されていません サーバーの検出時にアプリケーション CI がまったく作成されない場合は、特定のクラスのアプリケーション依存関係マッピングプローブがオフになっている可能性があります。解決策として、プローブが分類子に存在するかどうかを確認し、アクティブであることを確認します。 「すべて> CI 分類>ディスカバリー定義」に移動します。次の例では、サーバーの検出時に使用された分類子 (Windows サーバーの場合は「table=cmdb_ci_win_server」) を検索します。分類子を開き、[プローブのトリガー] 関連リストでプローブを見つけます。 アプリケーション依存関係マッピングプローブがトリガーされましたが、アプリケーションは作成されません この場合、プロセス情報のdiscovery_classy_procテーブルで条件が一致していなかった可能性があります。そのような場合: [アプリケーション依存関係マッピング] 入力ecc_queueレコードを開きます。ペイロード内のプロセスを検索し、ペイロードに潜在的なエラーがないか確認します。プロセス情報を、アプリケーションを作成し、さらに探索プローブをトリガーする必要があるプロセス分類子と比較します。必要に応じて、目的のプロセスと一致するようにプロセス分類子の条件を調整します。 例 MSSQL の正常なディスカバリー 次の例では、テストサーバー appserver-01 を検出します。次の図では、"SQL Server Analysis Service" と 2 つの "MSFT SQL インスタンス" が検出され、CI に追加されたことがわかります。 次のスクリーンショットは、ディスカバリーステータスの [ECC キュー] 関連リストを新しい順に示しています。ADM 入力が処理された後に、検出されたアプリケーションごとにプローブがトリガーされたことがわかります。 「Windows - MSSQL」プローブを例にとると、「Windows - MSSQL」の「ディスカバリー定義>プローブ」を検索してプローブを見つけることができます。[トリガー元分類子] 関連リストから、プローブをトリガーしたプロセス分類子を見つけることができます。 次に、「Windows - MSSQL」プローブをトリガーするプロセス分類子の条件を確認します。 最後に、「Windows - アプリケーション依存関係マッピング」プローブによって返されたペイロードにプロセス情報が表示されます。 カスタム「ModemManager」 この例では、「ModemManager」という名前のプロセスにカスタムプロセス分類子を使用します。ADM プローブ入力を開き、入力処理にエラーがないことを確認し、ペイロードにプロセスが存在することを確認しました ディスカバリーステータスを開く[ECC キュー] 関連リストを選択します[エラー文字列] フィールドが空であることを確認してください[アプリケーション依存関係マッピング] の入力をクリックします開いたら、プロセスを検索します親 CI に移動し、プロセスが正常に作成されたことを確認します 上記の手順により、プロセス情報が正常に収集され、プロセスが作成されたことがわかります。次に、プロセス情報がプロセス分類子の条件に一致し、アクティブであることを確認します。 CI 分類>プロセス>ディスカバリー定義に移動します。アプリケーションを作成するテーブル (この場合は「cmdb_ci_modem_manager」) に基づいてプロセス分類子を検索します。分類子を開き、条件をプロセス内のフィールドと比較します。プロセス分類子の [プローブのトリガー] 関連リストが空でないことを確認します[プローブのトリガー] 関連リストのレコードのフィールドがアクティブ = true になっていることを確認してください。すべてのレコードがアクティブ = false の場合、プローブ/パターンはトリガーされませんテーブル discovery_proc_handler に移動し、アクティブで「分類」= false に設定された一致するハンドラがないことを確認します。分類 = false の場合、プロセスは分類されず、プローブ/パターンはトリガーされません この時点で、プロセス情報が正常に収集され、プロセス分類子が存在し、"classify" = false のハンドラーがないことを確認しました。分類子がプローブを使用する場合、アプリケーションはこの時点で作成されます。パターンを使用する場合、アプリケーションはパターンからの入力が処理された場合にのみ作成されます。 入力処理のデバッグ スクリプトデバッガーの使用方法とセッションでecc_queue入力を再処理する方法については、次のドキュメントを参照してください。 スクリプトデバッガECC キュー処理中 この時点で、必要なすべての構成データと入力データを確認しました。プローブ/パターンが期待どおりにトリガーされない場合は、ADM 入力処理をデバッグできます。デバッグを使用して、プロセスが別の分類子と一致するかどうかを判断できます。プロセスが「正しくない」分類子と一致する場合もあります。目的のプロセスのみが表示されるように ADM 入力ペイロードを最初に編集することは便利ですが、必須ではありません。例: ApplicationDependencyMapping スクリプトの分類関数から始めるとよいでしょう。行をクリックしてブレークポイントを追加します。 次に、スクリプトバックグラウンドを介して入力を再処理します。 var eccRecord = new GlideRecord('ecc_queue');eccRecord.get('');var sp = new SncSensorProcessor(eccRecord);sp.process(); 入力の処理は、スクリプトに設定されたブレークポイントで停止する必要があります。 次のスクリーンショットでは、使用されている分類子のsys_idを示しています。次に、sys_idを使用して分類子を開き、「正しい」分類子が使用されたことを確認する必要があります。 Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 次のブログ投稿には、初期設定で検出されていないアプリケーションに関する情報を収集するようにディスカバリーを構成する方法の例が記載されています。 ユージーンの「特別な」アプリケーションの発見