代码之家  ›  专栏  ›  技术社区  ›  Mr. Smith

使用C.NET 3.5的分布式监控服务[已关闭]

  •  1
  • Mr. Smith  · 技术社区  · 15 年前

    例如,有5家不同的公司使用相同的平台(基于Windows)都编写了自己的Web服务,您建议使用什么技术使用C和.NET 3.5来监视他们所有的不同Web服务?

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

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

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

    Company 1
         > Web Service 1 - Green
         > Web Service 2 - Green
    Company 2
         > Web Service 1 - Red
         > Web Service 2 - Green
    7 回复  |  直到 6 年前
        1
  •  4
  •   realMarkusSchmidt    15 年前

    您应该在codeplex上尝试polymon,这是一个基于.NET的开源监视工具: http://polymon.codeplex.com/

    至少在我们的案例中,它达到了功能的最佳位置,而且设置简单。

    您可以从一些现成的任务(如ping或url监视)中进行选择,但也可以轻松地实现自己更复杂的任务。对我们来说效果相当好。

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

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

        2
  •  3
  •   macleojw    15 年前

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

    http://www.bb4.org/home1.html

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

    http://sleeksoft.co.uk/public/techblog/articles/20041218_1.html

        3
  •  3
  •   Stefan Rusek    15 年前

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

        4
  •  1
  •   Community Reversed Engineer    7 年前

    如果他们编写ASPXWeb服务,那么所有针对ASP.NET应用程序描述的监控最佳实践,如 ASP.NET Health Monitoring Overview msdn文章和 ASP.NET Health Monitoring 适用

    还可以看到一个这样的问题 Tools and methods for live-monitoring ASP.NET web applications?

        5
  •  1
  •   Addys    15 年前

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

    你看过妈妈吗(尤其是妈妈管理包)?

        6
  •  1
  •   kitsune    15 年前

    有一些工具 IPSentry 您可以使用它发出HTTP请求并检查返回的数据…

        7
  •  1
  •   jimbobdog    12 年前

    我知道这是一条很古老的线,但我想我会补充 Wolfpack 对于任何仍在寻找“分布式系统监视器”的人来说,Wolfpack就是这样设计的。它可以运行多个“代理”,收集有关其监视的服务器的数据,并将其报告给中央服务器实例。

    它有一套丰富的监控和存储插件,您可以轻松地滚动自己的自定义检查(有许多支持Nuget的软件包-仅 search for Wolfpack on nuget.org )还有一个活动的 contrib project 也……而且它很容易通过chocolvey.org(cinst wolfpack)安装!

    它是开源的,完全免费!我现在还在为下一个v3.0版本重写它的主要部分,它将支持信号警报通知、PowerShell和完整的Web API/接口(通过ServiceStack)。