据 Microsoft 称,Systems Center Operations Manager 无法监控 Server 2003 上的群集 MSMQ。Microsoft 代表引用了此文章. 并说它适用于我们的问题。所以,我的问题是:serverfault 社区建议如何监控 Server 2003 集群中的 msmq?
我正在寻找一种可以监视队列中消息数量的方法,如果消息出现在故障队列中或者消息在主队列中备份,则发送警报。
谢谢!
答案1
如果您只想监控队列深度,我会拿出您的 powershell 手册或请您最喜欢的开发人员喝一两杯啤酒,然后查看 .NET System.Messaging 命名空间。您可以每隔几分钟运行一次计划任务,并通过这种方式获得近乎实时的警报。
答案2
我不知道 MSMQ 怎么样,但如果它支持 STOMP(我想作为消息代理它应该支持),那么你就可以使用 Perl 的网::踩踏模块来发送和接收测试消息。我一直在使用关注 Nagios 插件检查 ActiveMQ。
重点是,您可以使用任何您采用的监控系统(无论是 Nagios 还是其他系统)并检查您的消息代理是否可以正常发送 STOMP 消息。
答案3
这是一个很好的资源:
MSMQ 4.0 性能计数器和 NetNameForPerfCounters 注册表项 http://blogs.msdn.com/b/motleyqueue/archive/2007/12/14/msmq-4-0-performance-counters-and-the-netnameforperfcounters-registry-key.aspx