Performance 通过群集访问性能计数器

Performance 通过群集访问性能计数器,performance,msmq,windows-clustering,Performance,Msmq,Windows Clustering,我正在试图找到如何使性能监视在集群上可用,但在搜索时除了如何访问集群的性能计数器之外,我找不到其他任何东西 情况是这样的:到目前为止,我们已经在单个服务器上设置了MSMQ,并且我们已经访问了队列计数(出于健康检查目的),如下所示: ManagementScope scope = new ManagementScope(@"\\MachineName\root\CIMv2"); scope.Connect(); ObjectQuery query = new ObjectQuery("SELEC

我正在试图找到如何使性能监视在集群上可用,但在搜索时除了如何访问集群的性能计数器之外,我找不到其他任何东西

情况是这样的:到目前为止,我们已经在单个服务器上设置了MSMQ,并且我们已经访问了队列计数(出于健康检查目的),如下所示:

ManagementScope scope = new ManagementScope(@"\\MachineName\root\CIMv2");
scope.Connect();

ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_PerfFormattedData_msmq_MSMQQueue WHERE Name = 'MachineName\private$\QueueName'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);

ulong? count = (from ManagementObject queue in searcher.Get()
                select (ulong?)queue.GetPropertyValue("MessagesInQueue")).FirstOrDefault();
但是,当我尝试通过MSMQ群集(代替MachineName)的客户端访问点名称执行相同操作时,我会得到
System.Management.ManagementException:Invalid Class
,这表示性能计数器不可用。这是有道理的,因为我们没有做任何特殊的事情使它们在集群上可用,因为我们不知道如何使用它们

因此,任何方向都将不胜感激。几个星期来,我一直在为这件事绞尽脑汁

编辑:好的,我们已经仔细研究了一下,如果我们直接转到集群,表/类是存在的,但是表中没有任何行

确实找到了注册表项,但它看起来不适合我们的情况,因为我们只有一个MSMQ实例在活动节点上运行,并且所有涉及的服务器都是Windows Server 2008(我想是R2)

我很愿意将它们放入NetNameForPerfCounters注册表项中,但我找不到资源来告诉我它的去向。它是否进入客户端访问点的注册表(因为您可以将regedit连接到客户端访问点)?它在集群上运行吗?在单独的机器上?在客户端计算机上?(我想我们可以把它放在任何地方测试一下。)


EDIT2:我们尝试了NetNameForPerfCounters,但它不起作用。事实上,我们已经有微软的一个团队复制了我们的问题,所以我们已经打开了一个卓越支持案例,它应该作为一个bug提交给产品团队。当我听到回复时,将发布结果。

如果我不理解问题,请道歉。您的目标是监视群集性能计数器,还是编写一段代码来监视群集的性能计数器?我正在尝试通过代码来提取MSMQ群集实例的性能计数器。问题解决几年后?