Applies to:
DirectAudit earlier than 2014.1
Problem:
The following message is seen in Collector. The collector has to be restarted frequently.
Is there any reason for this?
[Date Time] collector.exe [6644,985] Error: CollectorServer.UpdateAgentStatus: The DirectAudit Collector was unable to update the Agent status table in the Audit Store database for Agent 'FQDN-SERVERNAME'. The DirectAudit Administration Console will not properly reflect the running status of this Agent. Detailed error information: Timeout expired. The timeout period elapsed prior to the obtaining a connection from the pool.
Cause:
This may have occurred because all pooled connections were in use and max pool size was reached. Collector service maintains a SQL Server connection pool with 300 connections. When there are more than 300 machines sending data to the collector concurrently, the collector cannot handle all the requests and it will stop completely.
Answer:
To remedy the problem, there are two options.
Option 1: Add additional collectors to the Audit Store. This will offload the load balance from the busy current collector.
Option 2: Increase the number of connections that SQL Server can pool. The number of connections in the SQL Server connection pool can be set using the following registry key with the type of DWORD (Decimal value). The value can be set to say 2000.
Add DWORD (Decimal value) value: MaxPoolSize
HKLM\Software\Centrify\DirectAudit\Collector
By default, MaxPoolSize is not present. This is a manual change.
Restart collector and DirectAudit service (Windows side).
To verify if MaxPoolSize is now set to for example to 2000, change the Diagnostic level to 'Verbose' in DirectAudit Collector Control Panel (click 'Configure' button).
To summarize, please note the following:
DA version | Default pool size | Configurable? |
Before Suite 2013.3 | 300 | No |
Suite 2013.3 onwards | 300 | Yes (using Collector registry settings) |
Future release (Suite 2015) | 1000 | Yes (using Collector registry settings) |