The Goliath Agent monitors itself for abnormal conditions and will automatically restart if any of those conditions are detected in an attempt to self-correct.
The categories of internal monitoring and thresholds associated are as-follows:
- Memory Use - Working Set over 750,000 KB
- Memory Use - Commit over 750,000 KB
- Memory Use - Page Pool over 5,000 KB
- Memory Use - Non-Paged Pool over 5,000 KB
- Handle Use - Over 6,000
- CPU Use - Over 90% for more than 2 minutes
- Process Existence - AgentService.exe ensures RPMAgent.exe is running
- Specific Conditions - Internal fault monitoring resulting in a "Catch Fault" error within the Agent log
Note, other conditions referencing "Catching Fault" or "Catching Error" in the Agent log will NOT trigger an automatic restart.
In situations where our agent is configured as a Master Agent, the following thresholds are higher, as follows:
- Memory Use - Working Set over 900,000 KB
- Memory Use - Commit over 900,000 KB
- Memory Use - Page Pool over 15,000 KB
- Memory Use - Non-Paged Pool over 15,000 KB
Because the Agent will restart in case of any of the above issues, the Goliath server will also monitor for repeated agent connection attempts and will "throttle" an agent. The logic of the throttling is as-follows based on connection attempts since last successful connection:
- Throttling starts at the 75th Agent connection attempt
- For Agent connection attempts up to the 100th, there is a 2 minute delay imposed
- For Agent connection attempts up to the 150th, there is a 7 minute delay imposed
- For Agent connection attempts up to the 200th, there is a 15 minute delay imposed
- All future attempts beyond 200 will be delayed 25 minutes
Once an agent successfully connects for at least 35 minutes, the attempt counters for that agent are reset.
Note, throttling of an agent only happens in situations where an Agent is directly connecting to a GPM server and does not take effect when a Master Agent or AJAX Agent is in-use.
One common reason for an agent becoming throttled is due to a lack of available licenses for the Agent to register.