C#WMI,性能计数器和SNMP哦我的!

我有一个C#
windows服务,它监听MSMQ并将每条消息作为电子邮件发送出去.

由于没有用户界面,我想提供监控此服务的功能,以查看诸如队列中的#个消息,发送的#个电子邮件(可能是消息类型),错误数量等等.

完成此任务的最佳/推荐方法是什么?是WMI还是性能计数器?是使用PerfMon还是WMI CIM Studio查看此数据?是否有任何方法可以实时监控服务并提供历史分析?

我可以自己深入了解细节,但会欣赏一些广泛的指导来帮助揭开这个主题的神秘面纱.

最佳答案 我有时会实现我的
Windows服务的性能监视.我做什么我保留我感兴趣的东西的内部计数器,并为外部程序创建一种访问它的方法.它可以是托管在Windows服务中的WCF服务,它很容易实现,并且可以通过各种渠道访问.此WCF服务的客户端也很容易完成.

其他方法是创建自己的Windows性能计数器,可由事件查看器应用程序读取.

在任何一种情况下,您都需要跟踪服务中发生的情况并将其暴露给外部.在您的情况下,您需要记录MSMQ大小,发送的电子邮件,获得的错误并测量收集的时间.应该很容易.然后转到WCF服务或自定义性能计数器.使用此msdn article如何创建自定义计数器.希望这可以帮助.

点赞