Perfmon 数据转换成 SQL

Perfmon 数据转换成 SQL

抱歉,下面的文字太长了。

在我的工作场所,我们有相当多的 Exchange 服务器和支持域控制器,目前都由 SCOM 监控。我在 ASP.net 网站中设置了某些监控元素,这些元素基于 SCOM 的功能,由 SQL DB 支持。

我热衷于更密切地监控服务器,以便我们可以:

Baseline the servers better for historical comparison
If a problem occurs we can pull out more raw data.

为此,我想从 Perfmon 计数器中提取更多数据。我知道 SCOM 可以提取一些 Perfmon 数据,而且确实如此,但我们的 SCOM 实现相当庞大,管理它的人不希望我将计数器的频率提高到足以在某些时候发挥作用的程度。

另外,查询 SCOM DB 中的数据意味着我无法真正更改索引、控制我需要的数据的截止时间,或者真正控制我可能需要的内容。

我在这里的问题实际上是我应该如何处理这个问题,而不是我如何实际提取数据并插入它,因为我已经有可以提取数据并将其插入 SQL 的脚本。

我们的服务器大致划分如下:

Exchange 2007 in Domain1.com
Exchange 2010 in Domain2.com

对于 Exchange 2007/2010,服务器按逻辑划分如下:

Mailbox Servers
Client Access Servers
Hub Transport Servers
Domain Controllers

我想从上述所有服务器中获取基本计数器,然后更深入地了解特定的服务器类型,例如从邮箱服务器中提取 RPC 平均延迟、来自 CAS 服务器的连接数、HT 服务器的每秒提交的消息数等。

所以我要做的是创建 4 种脚本类型,每个服务器类别一个,然后按照计划从每个服务器运行它们以记录一些数据,连接到我的 SQL DB,然后将记录插入表中。

对于我的 SQL 表,我应该为每个服务器类创建一个表,还是只是将所有记录放入一个表中?

在每个服务器上运行一个本地脚本,将所有数据都发送到 SQL 表中,这是一个糟糕的想法吗?我考虑过远程收集数据,但如果我只想每隔几分钟捕获一点数据,我发现由于网络延迟或其他因素导致时间差异很大,从而影响了时间安排。

我还渴望了解任何潜在的档案解决方案,例如如何保留最近几天的更频繁的记录(也许所有计数器每 5 分钟一次,持续 5 天),但保留不太频繁的过去记录。

答案1

最后,我只是运行了远程收集,但针对的是一组有限的数据,并将间隔设置为每 5 分钟一次左右,到目前为止似乎还不错。我需要考虑数据保留、查询效率等,但与此同时,我已经回答了自己的问题,没有人提出任何建议。

相关内容