审核收集服务容量规划

 

适用对象: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 的性能将会降低。