Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#.NET 3.5的分布式监控服务_C#_.net 3.5_Monitoring - Fatal编程技术网

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

使用C#.NET 3.5的分布式监控服务,c#,.net-3.5,monitoring,C#,.net 3.5,Monitoring,例如,假设有5家不同的公司使用相同的平台(基于Windows),都编写了自己的web服务,您建议使用什么技术使用C#和.Net 3.5来监控所有不同的web服务 我的目的是构建一个应用程序,向站点管理员提供有关服务状态的可视反馈,当然还可以根据需要提供电子邮件/sms警报。您认为有没有最佳实践或方法可以遵循 此外,是否有我不知道的基于windows的工具可用于执行此操作?更喜欢开源 *编辑:考虑最终结果,一个应用程序在不同公司运行的服务旁边显示红灯或绿灯 Company 1 > Web

例如,假设有5家不同的公司使用相同的平台(基于Windows),都编写了自己的web服务,您建议使用什么技术使用C#和.Net 3.5来监控所有不同的web服务

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

此外,是否有我不知道的基于windows的工具可用于执行此操作?更喜欢开源

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

Company 1 > Web Service 1 - Green > Web Service 2 - Green Company 2 > Web Service 1 - Red > Web Service 2 - Green 第一公司 >Web服务1-绿色 >Web服务2-绿色 公司2 >Web服务1-红色
>Web服务2-绿色如果他们编写aspx Web服务,那么针对ASP.NET应用程序描述的所有监控最佳实践(如MSDN文章和中的)都适用


还有一个问题,标准工具将允许您ping IP或探测HTTP端口-这些都是验证web服务可用性最低的廉价而简单的方法。为了验证它们是否功能齐全,您需要做更多的工作。。。您的监控包需要有效的凭据才能登录到各种web服务,更不用说针对每个web服务执行的特定代理和业务逻辑了


你看过MOM(特别是MOM管理包)吗

Big Brother系统和网络监视器可能会满足您的大部分需求。它是可扩展的,插件可以用任何语言编写。他们可以免费编辑他们的监控软件:

您还应该在每个被监视的服务器上使用本地监视器。这是因为很难远程诊断问题。本博客详细讨论了本地监视器设计模式的问题和细节:


最常用的开源监控工具是Nagios。内置it支持多种不同的服务,您可以随时编写脚本或应用程序来测试任何尚未受支持的服务


您应该试试PolyMon,这是CodePlex上基于.NET的开源监控工具:

至少在我们的案例中,它达到了功能性和精简、简单的设置的最佳点

您可以从一些现成的任务(如Ping或URL监控)中进行选择,但也可以轻松实现自己更复杂的任务。这对我们很有效

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


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

有这样的工具,您可以使用它发出HTTP请求并检查返回的数据…

我知道这是一个非常古老的线程,但我想我会添加到列表中,以供仍在寻找“分布式系统监视器”的人使用。Wolfpack正是这样设计的(由我设计)。它可以运行多个“代理”,收集它们监视的服务器的数据,并将其报告给中央服务器实例

它有一套丰富的监控和存储插件,您可以轻松地进行自定义检查(有许多支持nuget的软件包可供使用-仅此而已),另外还有一个活动插件…通过Chocolate.org(cinst wolfpack)安装非常简单


它是开源的,完全免费!目前,我还在为下一个v3.0版本重写它的主要部分,它将支持SignalR警报通知、powershell和一个完整的web api/接口(通过ServiceStack)。

感谢重新编写。我看了你的链接,但不是我想的那样。尽管.NET探查器应用程序是一个很好的建议,但Nagios不是C#NET吗?错误500错误404未找到任何关于Wolfpack的更新?未找到错误