我有一个混合组服务器,一些运行Windows的英文,一些人在意大利运行Windows。
有没有一种方法来读取性能计数器的值,而不使用区域设置相关的字符串?
我在上阅读的zabbix文档 ,它应该是可以使用像一个数字格式\2\6
,但它不工作对我来说,无论是在的zabbix也不PowerShell的。
我想监视CPU使用率( \Processore(_Total)\% Tempo processore
)。
任何的建议是值得欢迎的。
我有一个混合组服务器,一些运行Windows的英文,一些人在意大利运行Windows。
有没有一种方法来读取性能计数器的值,而不使用区域设置相关的字符串?
我在上阅读的zabbix文档 ,它应该是可以使用像一个数字格式\2\6
,但它不工作对我来说,无论是在的zabbix也不PowerShell的。
我想监视CPU使用率( \Processore(_Total)\% Tempo processore
)。
任何的建议是值得欢迎的。
解决方法很简单:唯一的问题是放在一起的所有相关信息。
首先,打开注册表编辑器并转到以下项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
你会发现有三个数字(如009,010,...)命名的条目。 这三个数字是一个语言ID:009英语,010是意大利人,等等。
在这些条目,你会发现一个名为计数键。 打开它(双击),并复制您的首选语言的内容在文本编辑器。 您将有类似下面的内容:
1
1847
2
System
4
Memory
6
% Processor Time
10
File Read Operations/sec
12
File Write Operations/sec
14
File Control Operations/sec
16
...
正如你所看到的,有一些每个标签下面:那就是要使用的索引。 例如,指数% Processor Time
是10
。
如果你有一个复合表达式(例如, \Processore(_Total)\% Tempo processore
),你必须使用\238(_Total)\6
(我用的是意大利品牌)。
在的zabbix,使用用于监视平均CPU使用率,在过去15分钟表达式为:
perf_counter[\238(_Total)\6, 900]
我希望能说所有:如果有什么不清楚,请发表评论。
你没有标记的PowerShell或ZABBIX,所以我想你不介意如何做C中的例子:你可以使用它从PowerShell中如果是这样的目标。
在一般(正如你指出的),你可以查询通过索引。
他们在MSDN上一个非常广泛的例子,它实际上是一个全功能的计划,包括如何通过指数:查询MSDN:检索计数器数据