我有许多 Windows 服务(用 C# 4.0 编写),它们以不同的时间间隔连接到数据库并执行各种复杂的任务。其中一些任务每天仅每隔 X 小时发生一次。但是,服务器支持团队想知道 Windows 服务是否确实在运行,因为任务之间可能存在很大的间隔。他们本质上希望每个 Windows 服务都有一个心跳。每 5 分钟,Windows 服务就会执行一些可由 Microsoft System Center Operations Manager (SCOM) 监控的操作。任何解决方案都必须能够由 SCOM 轻松监控,因为服务器支持团队依赖它。
实现这种功能的最佳方法是什么?我想过使用性能计数器并让 SCOM 监听这些计数器,但不确定这是否是性能计数器的最佳用途。
更新(完全忘记包括):目前每个服务都会将此操作写入数据库,但 SCOM 不太擅长监视数据库记录并区分哪个服务正在做什么等。
如果您的案例仅限于服务健康检查,我很确定这可以通过 Windows 工具(例如 Windows 性能监视器)来完成。收集数据应该比在通常断开连接的环境中创建心跳更容易。
有很多服务器和服务监控工具。其中很少有开源的,您可以选择开源作为第一步。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)