Windows OS に対しDiscoveryが不定期に失敗する対策

thoshino12
Tera Contributor

WMI を利用しWindows OSに対しDiscoveryを実行すると、時々Discoveryが予期せず失敗する現象が発生しました。

以下のログが出力

thoshino12_0-1778215732527.png

 

 

内容:

「Could not find any valid credentials to authenticate the target for type [Windows] with credential tag [xxxxxxx]」

 

内容から認証エラーと思い、該当アドレスに対、個別で認証テストをすると成功する。

thoshino12_1-1778215732527.png

 

 

■ MID サーバログの確認結果

MID サーバのログにて、以下のエラーメッセージを確認しました。

本エラーは、PowerShell セッションが同時に多数実行され、MID サーバ側で処理待ち(リソース枯渇)が発生している状態を示しているようです。

Discovery schedule において 1スケジュールで40台程度のWindows OS を検出するように設定しており、パワーシェルが同時に40以上起動していました。

 

ログ内容

----------------------------------

PowerConsole is in the busy state and cannot run any commands

2025-12-22T16:08:07.133+0900 WARN (Worker-Standard:HorizontalDiscoveryProbe-6550c618c3c63e108f4cb93599013127) [APowershellSession:371] Fatal Exception

com.snc.automation_common.integration.exceptions.PowerConsoleCommandException: PowerConsole is in the busy state and cannot run any commands

at com.service_now.mid.win.powershell.api.PowerConsole.execute(PowerConsole.java:196)

at com.service_now.mid.win.powershell.api.APowershellSession.executeWithoutResultExtraction(APowershellSession.java:356)

----------------------------------

 

■対策方法

Mid-Server のスペックをメモリやスペックを上げてもWindows OS そのもののパワーシェル起動上限にひっかかっているとみており、

スペックを上げるより、同時起動数を調整する事で対策するのがベターと判断。

製品ドキュメントから:製品ドキュメント | ServiceNow から Mid-Server のパワーシェル起動上限を修正して対応を行いました。

 

Mid-Server にある、config.xml に以下を追加して対応。

config.xml ァイルの所在。

C:\<Mid-Server Installed Path>\agent

 

追加パラメータ (パワーシェルの同時起動数を3に設定)

  <parameter name="mid.powershell_api.session_pool.max_size" value="3"/>

 

パラメータ追加後、Mid-Server のサービスを再起動。

 

■効果確認

Discovery 実行を行い、エラー発生しない点を確認。

さらにDiscovery実行中のMID Serverにおいて、タスクマネージャーを用いてPowerShellの起動数を確認しました。

その結果、エラーが発生しなくなり、本現象が回避されることを確認しました。

同時起動数のチューニングは引き続き必要となりますが、並列起動数が減少することでDiscoveryの処理時間は増加するものの、エラー解消の効果が上回ると判断し、本設定で進める方針としました。

 

タスクマネージャの確認内容

対策前

対策後

thoshino12_2-1778215732528.png

 

 

thoshino12_3-1778215732529.png

 

 

0 REPLIES 0