审核收集服务容量规划
适用对象:System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager
审核策略可以生成大量数据。 在 System Center 2012 – Operations Manager 中,为了获得更好的性能,你可以更改审核收集服务 (ACS) 收集器上的设置,对实际审核负荷做出调整。 ACS 收集器使用队列存储已经写入到 ACS 数据库的事件,该队列对 ACS 处理突然生成的大量安全事件的能力有相当大的影响。 平衡此队列的容量以及在 ACS 收集器上维护正确数量的 RAM 能够改进 ACS 的性能。
ACS 收集器队列
从 ACS 转发器接收事件后,在将其发送到 ACS 数据库之前,使用 ACS 收集器队列存储这些事件。 在高审核流量期间或者在 ACS 数据库不能接受新事件时(如数据库清除期间),队列中的事件数量会增加。 有三个注册表值用来控制 ACS 收集器在队列达到最大容量时如何反应。
下表列出每个注册表项及其默认值。 表中所有注册表项都位于注册表的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdtServer\Parameters 注册表项中。
注册表项名称 |
默认值 |
描述 |
---|---|---|
MaximumQueueLength |
0x40000 |
在等待数据库时可以在内存中排队的最大事件数。 每个队列项平均占用 512 字节的内存。 |
BackOffThreshold |
75 |
ACS 收集器队列在 ACS 收集器拒绝来自 ACS 转发器的新连接之前可以排队多少事件。 此值表示为 MaximumQueueLength 的百分比。 |
DisconnectThreshold |
90 |
ACS 收集器队列在 ACS 收集器断开与 ACS 转发器的连接之前可以排队多少事件。 此值表示为 MaximumQueueLength 的百分比。 优先级值最低的 ACS 转发器最先断开。 |
根据你的环境,你可能需要调整一个或多个上述注册表项的值。 为了获得最佳结果,你应该考虑更改注册表项的值会对其他注册表项产生的影响。 例如,BackOffThreshold 值应该始终小于 DisconnectThreshold,允许 ACS 收集器在 ACS 数据库跟不上需求时顺利降低性能。
ACS 收集器内存
ACS 收集器上的内存用于缓存需要写入 ACS 数据库的 ACS 事件。 ACS 收集器需要的内存量根据连接的 ACS 转发器数量以及你的审核策略生成的事件数而有所不同。 你可以使用以下公式,根据预期流量计算是否需要更多内存以获得更好的 ACS 性能:
建议内存 = (M x .5)+(50 x N)+(S x .5)+(P x .1)
公式变量在下表中定义。
变量 |
定义 |
注册表项 |
注册表项名称 |
---|---|---|---|
M |
ACS 收集器内存中排队的最大事件数 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdtServer\Parameters |
MaximumQueueLength |
N |
连接到 ACS 收集器的转发器数量 |
无注册表设置 |
NA |
S |
ACS 对以前插入的字符串(如事件参数)使用该字符串缓存,以避免对 ACS 数据库中的 dtString 表进行不必要的查询。 ACS 收集器上字符串缓存的大小,用缓存可存放的最大条目数表示。 每个队列项平均占用 512 字节的内存。 此缓存用于事件记录数据。 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdtServer\Parameters |
StringCacheSize |
P |
ACS 收集器上主体缓存大小,用该缓存可存放的最大条目数表示。 此缓存用于存放拥有 ACS 组件访问权限的用户和计算机帐户的数据。 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdtServer\Parameters |
PrincipalCacheSize |
ACS 数据库建议
在 ACS 正常运行时,队列长度应该很少达到 BackOffThreshold 值。 如果队列长度经常达到此阈值,表示事件数量超出了数据库的处理能力,或者应该升级你的数据库硬件。
要减少写入到 ACS 数据库的事件数,你可以更改审核策略来减少生成的事件数,或者在 ACS 收集器上应用筛选器来丢弃不必要的事件并且将其清理出 ACS 数据库。 你还可以部署附加的 ACS 收集器和数据库,减少每个 ACS 收集器服务的 ACS 转发器数量,从而减少将事件发送到 ACS 数据库的 ACS 转发器数量。
有关筛选器的详细信息,请参阅 AdtAdmin.exe /SetQuery。 有关一个 ACS 收集器可支持的 ACS 转发器数量的详细信息,请参阅使用 Operations Manager 中的审核收集服务收集安全事件。
UNIX 和 Linux 注意事项
由于数据集超过 10,000 条记录,因此在 UNIX 和 Linux 计算机上部署 ACS 的性能将会降低。