Network Management
Windows Agents Intermittently Unknown
This article describes an issue with bulk Windows Agents (Passive) intermittently going unknown, the root cause and how to mitigate the behavior
First published date
Last published date
Overview
Reproduction Steps -
1) Deploy passive Windows Agents
2) Wait 2-4 weeks
3) Agents Status will change from Up to Unknown
• Impacts passive Agents
• Reproduced after reinstalling local Agent software
• Reproduced across multiple versions
Product section
Cause
The thread pool in Agent Management Services checks on disconnected passive agents and tries to reestablish connection. The thread can become hung during TLS handshake that is suspected to be onset by a bug in Microsoft supporting library. Over time the amount of hung threads increases which reduces the amount of available threads to be used by the AMS thread pool and stops Agents from reconnecting.
This behavior is more prevalent in deployments that utilize a high amount (200 - 600) passive Agents per polling engine.
C:\ProgramData\SolarWinds\Logs\AgentManagement\AgentManagement.AMSProxy.log
WARN SolarWindsAMSProxy.Communications - AMSServerRPC::TaskExecuter::MaintenanceImpl - Sync Client Agent deviceID [07414239-ED38-4EC4-98B8-FFD10B52AB21], hostname [<AgentNameHere>], port [17790], elapsed since last activity for message [600.018] sec(s), provision [600.018] sec(s)
Resolution
This issue is fixed in SolarWinds Platform 2025.4. Consider upgrading your environment. If you can't upgrade, use one of the workarounds below.
• Restarting Agent Management Services can reestablish connectivity and temporarily restore status back to Up.
• Reduce the amount of Passive Agents to Active Agents.
• If you cannot change Agent Communication Mode to Active due to Firewall rules, then configure a Windows Scheduled Task to restart Module Engine Service every week or two.
• If you use High Availability then you can build a SWIS PowerShell script to disable the HA Pool before the Module Engine Service is restarted by using SWIS Entity (Orion.HA.Pools) and Verb (Disable Pool). The HA Pool can be re-enabled using the same SWIS entity and Verb (EnablePool).