KBI 311804 Issue Addressed: Blank Compliance Reports After Decommissioning Servers From Network
Version
Argent Advanced Technology 5.1A-2001-A and below
Date
Wednesday, 15 April 2020
Summary
Argent for Compliance suddenly stops collecting compliance data after some servers are decommissioned from the network
Checking system logs, the following errors could be seen:
Failed to see checkpoint event of daughter process ‘ARGSOFT_COMPLIANCE_MAIN.EXE’. Restart the process
Potential DeadLock Detected. Thread (Id=xxxx) has waited for more than 310 seconds trying to lock the resource Lock Name: SERVER_LIST
Could not determine 32-bit or 64-bit OS. Error: Unable to connect to registry of target machine xxx.xxx.xxx.xxx
The issue has been addressed in Argent AT 5.1A-2004-A
Technical Background
After decommissioning servers from the network, the user forgot to remove them from the list of monitored servers in Argent for Compliance
When the Engine attempts to archive a decommissioned server’s security logs, it has to determine if the server is 64-bit or 32-bit so that the appropriate API can be used
To determine the OS type, the Engine must connect to the remote registry
For a decommissioned server, such a network connection can take several minutes to timeout
When there are a lot of such servers, the accumulated time can cause either a checkpoint error or a deadlock in the Engine
As a result, the Engine keeps recycling and no compliance data is collected
To address the issue, the system keeps an internal cache of the remote OS type, which becomes obsolete only after 3 hours
This allows for balancing potential system rebuilds which change the OS type and the Engine efficiency
Resolution
Upgrade to Argent Advanced Technology 5.1A-2004-A or above
For users who cannot upgrade immediately, the user should manually remove the decommissioned servers from the License Manager and CMDB-X
To prevent such an issue in the first place, the user should set the OS type in CMDB-X for each Windows machine so that the Engine does not need to query dynamically