使用C#.NET 3.5的分布式监视服务

Mr.*_*ith 1 c# monitoring .net-3.5

举例来说,假设您有5家使用相同平台(基于Windows)的公司都编写了自己的Web服务,那么您建议使用哪种技术使用C#和.Net 3.5来监视其所有不同的Web服务?

我的意图是构建一个向站点管理员提供有关服务状态的可视反馈的应用程序,当然还可以根据需要提供电子邮件/短信警报。您认为有最佳实践或方法可循吗?

另外,有没有我不知道的基于Windows的工具可以执行此操作?最好是开源的?

*编辑:想想最终结果,一个应用程序在跨不同公司运行的服务旁边仅显示红灯或绿灯。

公司1
     > Web服务1-绿色
     > Web服务2-绿色
公司2
     > Web服务1-红色
     > Web服务2-绿色

rea*_*idt 5

您应该尝试使用PolyMon,它是CodePlex上基于.NET的开放源代码监视工具:http ://polymon.codeplex.com/

至少在我们的案例中,它达到了功能的最佳点,并且精简且易于安装。

您可以从一些现成的任务中选择,例如Ping或URL监视,但是您也可以轻松实现自己的更复杂的任务。对我们来说效果很好。

该工具本身不是分布式的,但是您可以轻松地设置服务的两个实例(例如,在不同位置的服务器上)并监视相同的服务,或者使用一个实例监视另一个。

当同时运行PolyMon和PolyMon使用的SQL Server实例的服务器在重新启动时反复崩溃(重新启动的无限循环)时,我们遇到的一个问题非常烦人和有点怪异。似乎是某种种族状况。因此,我强烈建议在不同的(虚拟)计算机上托管PolyMon服务和SQL Server服务,或将PolyMon服务的启动类型设置为“手动”,而不是“自动”,并在其他所有启动之后手动启动PolyMon。 ,避免出现此问题。