サービスマッピング ML 接続提案/トラフィックベースのディスカバリーのトラブルシューティングガイド ML 接続提案/トラフィックベースのディスカバリーのトラブルシューティングガイド 接続提案とトラフィックベースのディスカバリーは、TCP 接続情報を使用してスマート提案を作成する 2 つの機能です。 内容: トラフィックベース接続の前提条件接続提案の概要とアーキテクチャ. 2ML 接続提案の前提条件トラブルシューティング 基本的なトラブルシューティングフロー問題:マップ上に古いトラフィックベースの接続がある。 解決策:エージングタイムを確認します。 問題:ジョブのスタック/トレーナー/トレーナーの可用性の失敗が原因でAFPが欠落している。 解決策:クラスタリングソリューションを確認します。 問題:接続提案がない。 解決策:関連するトラフィック情報の存在を検証します。解決策:sa_ml_process_to_processが入力され、ML トレーニングの準備ができていることを確認します。解決策: sa_ml_process_to_processにソース/ターゲットAFPが欠落していないことを確認します。解決策:CI がロードバランサーの場合はバージョン + を確認します。の場合は、バージョン + を確認します。 5解決策:AFP ML ソリューション機能タイプを確認します。 問題:提案レコードの信頼性レベルフィールドがないか、「N/A」と表示されている。 解決策:ソリューションの更新が完了したことを確認します。解決策: トラフィック接続が収集されたことを検証します。解決策: ソース AFP またはターゲット AFP が不良 AFP リストに存在しないかどうかを確認します。 でソース/ターゲット AFP が欠落していないことを確認します。5 問題:予測インテリジェンスソリューションが原因で信頼性が欠落 (または AFP が欠落) し、「トレーニングの待機中」/「更新の待機中」でスタックするか、進行中パーセンテージの動きがない。 解決策:フローの所有者チームに連絡してサポートを受ける。解決策: トレーニングの問題が解決されなかった場合の完全なクリーンアップを実施します。 問題:ML 準備状況ページに「接続提案のスケジュール済みジョブを確認してください」というメッセージがあり、トレーニングされたレコードの数は 0 です。問題:接続提案の決定が「ルールによって追加」または「手動で追加」であるが、接続がマップに表示されない。 解決策:ソース CI として分類されたターゲットプロセス。解決策: ディスカバリーメッセージログを確認します。 トレーナーの可用性障害後の SM ML ベースの機能の回復手順 トラフィックベース接続の前提条件 システムプロパティ sa_ml.connection_suggestions.active = trueサービスフォームのトラフィックベースのディスカバリーフラグをアクティブにする必要があります。[マップ表示 - トラフィックベースの CI を表示] がアクティブである必要があります。cmdb_tcpテーブルを空にすることはできません。空の場合は、関連するすべてのホストに対して水平ディスカバリーを実行してから、関連するビジネスサービスに対してトップダウンディスカバリーを実行します。空でない場合は、関連するビジネスサービスに対してトップダウンディスカバリーを実行します。 ML 接続提案の概要とアーキテクチャ 接続提案機能により、新しい ML アルゴリズムと新しい UI を使用して、トラフィックベースのサービスマッピングへの新しいアプローチが可能になります。新しいアルゴリズムは、接続のソースおよびターゲット AFP に基づいて、接続をアプリケーションサービスとの関係のいくつかの信頼度レベルに分類します。 この機能は、次のシステムプロパティによって有効になります。 glide.app.p2p.conn.map.enabled=trueprocess.clustering.appfingerprint.enabled=true (OOTB、上記のプロパティは存在せず、デフォルトは true です) この機能を有効にすると、トラフィックベースの接続はマップに自動的に追加されません。ユーザーは、接続提案のリストとその分類を表示し、マップに追加する接続を決定できます。 接続提案 ML モデルは、アプリケーションの指紋認証のトレーニング済みモデルによって異なります。 どちらのモデルも、水平ディスカバリーの成功に依存しています。接続提案は、トップダウンディスカバリーに依存します。テーブル「sa_ml_connection_suggestion」は、トップダウンディスカバリー時の入力です。 ML 接続提案の前提条件 PI プラグインをインストールする必要があります。アドミンユーザーには、ml_admin、sm_admin、およびdiscovery_adminロールが必要です。 アドミンユーザーのアプリケーションスコープ ID はグローバルである必要があります。[アプリの指紋認証] テーブルcmdb_process_groupsを入力する必要があります。そうでない場合は、続行する前にこのセクションのガイドラインに従ってください。 アプリの指紋認証の前提条件問題がこのセクション内にあり、解決に問題がある場合は、ケースをDev-SW-SmurAIチームに再アサインしてください。(大文字と小文字を区別)システムプロパティ「sa_ml.connection_suggestions.active」が存在し、「true」に設定されているか、まったく存在しない必要があります。 トラブルシューティング 基本的なトラブルシューティングフロー: [1] CI に対してトラフィックベースのディスカバリー/接続提案が有効になっていますか?マップビューでチェックします。 (有効にする必要があります) [2] 関連する PID の検索: マップ上の関連する CI に移動し、検出ログを開きます。検出ログで次のパターンを検索します。"$$$process_data$$$###pid=4###parent_pid=0###command_line=c:\\windows\\syste m32\\inetsrv\\w3wp.exe###executable_path=C:\\Windows\\System32\\ntoskrnl.exe## #process_data###"次の情報を抽出します:PID、PPID、command_line、実行可能パスcmdb_running_processtableに移動Windows ホストの場合は、以下に一致するレコードを検索します。 コンピューターの Sys ID = ホスト IDCommand = ディスカバリーログからの実行可能パスパラメーター = ディスカバリーログのコマンドライン UNIX ホストの場合は、コマンドラインをディスカバリーログからコマンドとパラメーターに分割し、以下に一致するレコードを検索します。 コンピューターの Sys ID = ホスト IDCommand = 完全なコマンド (パスあり) だが、コマンドのパラメーターは含まない。Parameters = コマンドのパラメーター (存在する場合) 見つかったレコードの PID を収集します。 (cmdb_running _processテーブルの PID フィールド)cmdb_running_processtable内に PID が見つからない場合は、ディスカバリーログから直接 PID を収集します。子プロセスの追加:cmdb_running_processtableに移動し、次に一致するレコードを検索します。 コンピューターの Sys ID = ホスト IDPPID = 収集された PID のリスト そのようなレコードが見つかった場合は、それらのレコードの PID (cmdb_running _processテーブルの pid フィールド) を取得し、PID リストに追加します。検出ログの PPID を PID リストに追加します。 [3] 最大トラフィックベースの接続許可プロパティ - sa.traffic_based_discovery.max_connections を増やします。 (デフォルトは 100)これにより、1 つの CI からのトラフィックベースの接続の最大数が定義されます。 問題:マップ上に古いトラフィックベースの接続がある。 解決策:エージングタイムを確認します。 これは、トラフィックベース接続の猶予期間中に予想される動作です。トラフィックベースの接続には、トラフィックベースの接続が CI から削除されるまでのエージング期間 (時間単位) の猶予期間があります。猶予期間は、sys プロパティ 'sa.traffic_based_discovery.conn_aging_time' によって定義されます。 問題: ジョブのスタック/トレーナー/トレーナーの可用性の失敗が原因で AFP が欠落している。 解決策:クラスタリングソリューションを確認します。 ML クラスタリングソリューションのトラブルシューティング:ソリューションが完了したことを確認するVancouver パッチ 4 以降: verify 機能タイプさらに問題が発生した場合は、Dev-SW-SmurAIチーム(チーム名は大文字と小文字が区別されます)にお問い合わせください。 問題:接続提案がない。 解決策: 関連するトラフィック情報の存在を検証します。 次の例に従って、テーブルcmdb_tcpを確認し、同じポート上の IP にフィルタリングします。例によると、緑色は接続を確立するために必要なもので、同じポート上のIPへの接続の両側です。赤は欠けているものです:両方の接続側のプロセス ID です。その他のトラフィック関連の問題が発生した場合は、次のトラフィックトラブルシューティングガイドを使用して、関連するトラフィック情報が収集されていることを確認してください。https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0832798上記のすべてで回答が得られない場合は、ソース/ターゲットAFPが「sa_ml.connection_suggestions.bad.afp.list」システムプロパティの一部ではないかどうかを確認してください。その場合は、このAFPが安定しておらず、接続提案がサポートされていないことを意味します。 解決策:sa_ml_process_to_processが入力され、MLトレーニングの準備ができていることを確認します。 テーブル sa_ml_process_to_process は、検出時に収集された TCP データを使用して 2 つのプロセス間の接続を収集しています。テーブルに依存:cmdb_tcp、cmdb_process_groups既存のレコードのテーブルsa_ml_process_to_processを確認します。すべてのレコードが "Is Complete"=true であることを確認します。[Is Complete] 列 – 行をトレーナーに送信する準備ができているかどうかを示します。False は、AFP の 1 つがまだ欠落していることを意味します。データをトレーニングし、プロセス間の信頼度を設定するには、「完了」=true のsa_ml_proces_to_processのレコードの最小数 (デフォルトでは 10,000) が必要です。顧客は、プロパティ「glide.platform_ml.api.csv_min_line」の値を 0 より大きい値で使用して、この最小数を変更できます。この数のレコードがsa_ml_process_to_processにない場合、接続提案の信頼度は設定されず、アプリケーションサービス候補の作成は開始されません。 解決策:sa_ml_process_to_processにソース/ターゲットAFPが欠落していないことを確認します。 ソース/ターゲット AFP 列に AFP がない場合は、以下のバックグラウンドスクリプトを実行して、プロセス ID に関連する AFP があるかどうかを確認する必要があります。 var afpProviderJs = new AFPProviderJS(); var afpSolutionVersion = afpProviderJs.getAFPSolutionVersion(); var sourceGroupID = afpProviderJs.getAFPIDForProcessVersion(/*ProcessID*/, afpSolutionVersion); gs.log("sourceGroupID=" + sourceGroupID); スクリプトにプロセス ID として null が表示されている場合は、次の手順に従ってソリューションを再起動する必要があることを意味します。 トレーナーの可用性障害後の SM ML ベースの機能の回復手順 解決策:CI がロードバランサーの場合はバージョン + を確認します。 ロードバランサーの接続提案は、San Diego バージョン以降でのみサポートされています。これより前はサーバーのみがサポートされています。 解決策:AFP ML ソリューション機能タイプを確認します。 Vancouver パッチ 4 以降では、AFP ML ソリューション機能タイプを検証します。 問題:提案レコードの信頼性レベルフィールドがないか、「N/A」と表示されている。 解決策:ML ソリューションの更新が完了したことを確認します。 アクティブなml_solutionレコードの [更新ステータス] フィールドにエラーがないことを確認します。 (このフィールドをビューに追加します) 「更新状態」でエラーが発生した場合は、 スタックしたMLソリューションの解決策を確認してください。 解決方法: トラフィック接続が収集されたことを検証します。 テーブルcmdb_tcpを確認し、関連するサービスの一部であることがわかっている関連 IP/ホストにフィルタリングします。交通情報が表示されない場合は、次のトラブルシューティング ガイドで、交通が収集されていることを検証するための詳細な手順を確認してください。https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0832798 解決策: ソース AFP またはターゲット AFP が不良 AFP リストに存在しないかどうかを確認します。 sys_property sa_ml.connection_suggestions.bad.afp.listがあり これにはカンマ区切りのAFPのリストが含まれており、ソースまたはターゲットAFPに存在するかどうかは信頼度を計算しません。必要に応じて、このリストから AFP を削除し、アプリケーションでトップダウンディスカバリーを再実行できます。これにより、信頼度が設定されます。 問題: 予測インテリジェンス(Predictive Intelligence)ソリューションによる信頼度の欠落 (または AFP の欠落) が、「トレーニング待ち」/「更新待ち」/「トレーニング済みソリューションのアップロードエラー」でスタックするか、進行中パーセンテージの動きがない。 解決策:フローの所有者チームに連絡してサポートを受ける。 テーブルを確認: sa_ml_solution_failure_statsし、空でないことを確認します。または、テーブル sa_hash で「cancel_retry_stuck_app_fingerprint_solution_name」という名前のレコードの存在を確認してください。上記の条件のいずれかが満たされている場合は、従来のコードフローを使用しています。「ATG - Infrastructure」チームにお問い合わせください (チーム名では大文字と小文字が区別されます)。それ以外の場合は、「AI ミドルウェア」チームに連絡してサポートを受けてください (チーム名では大文字と小文字が区別されます)。 解決策: トレーニングの問題が解決されなかった場合、完全なクリーンアップを実施します。 トラブルシューティングしているインスタンスがクローンインスタンスであり、インスタンスに存在するソリューションがベースインスタンスからのレコードのクローンを介して得られた場合、ソリューションはベースインスタンスで作成されたため、これを行わないとクローンインスタンスでトレーニングを続行できないため、完全なクリーンアップが必要になります。 注意: クローンインスタンスで、プロパティ glide.servleturl を上書きした場合は、クローン後にインスタンス名がクローンインスタンスに更新されていることを確認してください。 クローンインスタンスでは、トレーニングをクローンインスタンスで最初から開始する必要があります。 実行:トレーナーの可用性障害後の SM ML ベースの機能の 復旧手順 問題:ML 準備状況ページに「接続提案のスケジュール済みジョブを確認してください」というメッセージがあり、「推定時間 (時間)」が NA です。 ソリューション: コードは、「Service Mapping - Traffic Process to Process」および「All Applications」ジョブの実行期間があることを確認します。これらのジョブの 1 つに実行期間がない場合は、そのメッセージが表示されます。チャート上の数値 (トレーニング済み/未トレーニング) に関しては、sa_ml_connection_suggestionテーブルから解決します。合計数はsa_ml_connection_suggestionテーブル内のすべてのレコードであり、「トレーニングなし」は「信頼性 = N/A」のレコードの数です。 問題:接続提案の決定が「ルールによって追加」または「手動で追加」であるが、接続がマップに表示されない。 解決策:ソース CI として分類されたターゲットプロセス。 1. ディスカバリーおよびパターンプロセスがターゲットプロセスをソース CI と同じ CI として分類する場合、接続はマップに追加されません。 2. このユースケースを確認するには、ソース CI ディスカバリーログを確認します。同じ CI を検出するエンドポイントが少なくとも 2 つあります (ソース CI エンドポイントと接続提案エンドポイント)。 解決策: ディスカバリーメッセージログを確認します。 ディスカバリーログにはエラーが表示されても、サービスマップには表示されない場合があります。 ディスカバリーメッセージログを開きます。 追加されたがマップに表示されていない接続提案の同じ IP とポートでエラーがあるかどうかを確認します。 トレーナーの可用性障害後の SM ML ベースの機能の回復手順 1.[アプリケーションの指紋認証を削除] ソリューション メインナビゲーションメニューから「ml_capability_definition_base.list」と入力します。ソリューション名を「*global_application_suggestion」でフィルターします。すべての外観を選択し、アクションメニューから「削除」を選択します。 2。フローするエントリをsa_hashから削除します。 3.接続提案ソリューションを削除 メインナビゲーションメニューから「ml_capability_definition_base.list」と入力します。ソリューション名を「*global_proc_conn」でフィルターします。すべての外観を選択し、アクションメニューから「削除」を選択します。sa_hashから "*conn" と "*p2p" を削除します。 4.テーブルからデータを削除 メインナビゲーションメニューから「システム定義>テーブル」に移動します。cmdb_process_groupsテーブルを入力します。以下のようにすべてのレコードを削除します。sa_ml_process_to_processについても同じことを行います。 接続提案を削除する必要がある場合は、テーブルからエントリを削除しsa_ml_connection_suggestion。アプリケーションサービスマップに影響を与えることに注意してください。このような影響が望ましくない場合は、このテーブルからレコードを削除しないでください。 5.アプリケーションの指紋認証の前提条件を検証 PI プラグインがインストールされていることを検証します。システムプロパティ「process.clustering.appfingerprint.enabled」が存在し、「true」と等しいか、存在しないかを確認します。 6.アプリの指紋認証のスケジュール済みジョブを実行 メインナビゲーションメニューから「sysauto_script.list」と入力します。名前を「Applications suggestion - ITOM Autodiscovery」でフィルターします。以下のように今すぐ実行を押します。ソリューションが完了したことを確認します。ml_solution.list に移動し、ソリューション名を「*global_application_suggestion」でフィルタリングします。 ステータスが「ソリューション完了」で 100% であることを確認します。 機能タイプがクラスタリングであることを確認します。 機能タイプがクラスタリングでない場合は、ヴィジビリティコンテンツアプリケーションをバージョン 6.15.2 以降にアップグレードし、 復旧プロセスを再起動する必要があります。 cmdb_process_groupsテーブルにレコードがあるか確認します。 7.接続提案のスケジュール済みジョブを実行 メインナビゲーションメニューから「sysauto_script.list」と入力します。名前:「Service Mapping - Traffic Process to Process」でフィルターします。以下のように今すぐ実行を押します。 8.検証後 (sys_autoscriptジョブを実行してから数時間後) ml_solutionのデータ分析ソリューションが存在し、完全な状態であることを確認します。ソリューションがトレーナーに接続され、正常にファイナライズされたことを確認します。テーブルに最新の結果レコードが存在する必要があります。:ml_connection_analysis_resultテーブルsa_ml_process_to_processにレコードがあることを確認します。結果を表示するための最小行数は 10,000 であるため、テーブルには is_complete = true の行が 10,000 を超える必要があります。テーブルml_data_analysis_sol_updateにレコードがあることを確認します。作成されるソリューションはml_solutionテーブルにあり、テキストproc_connが含まれます。最初のソリューションが作成されると、更新が表 ml_data_analysis_sol_update に表示されます。