我有许多Windows服务(用C#4.0编写),它们在不同的时间间隔连接到数据库并执行各种复杂任务。其中一些任务每天只发生X小时间隔一次。然而,服务器支持团队想知道Windows服务是否正在运行,因为任务之间可能存在很大的间隔。他们希望每个Windows服务都有一个心跳。每5分钟,Windows服务将执行可以由Microsoft System Center Operation Manager(SCOM)监视的操作。任何解决方案都必须易于由SCOM监视,因为服务器支持团队依赖于它。
如何实现此类功能的最佳方法是什么?我考虑使用性能计数器,并让SCOM监听这些计数器,但不确定这是否是性能计数器的最佳用法。
更新(完全忘记包括):目前,每个服务都会将此操作写入数据库,但SCOM在监视数据库记录和区分哪个服务正在执行什么等方面效果不佳。
如何实现此类功能的最佳方法是什么?我考虑使用性能计数器,并让SCOM监听这些计数器,但不确定这是否是性能计数器的最佳用法。
更新(完全忘记包括):目前,每个服务都会将此操作写入数据库,但SCOM在监视数据库记录和区分哪个服务正在执行什么等方面效果不佳。