【问题标题】:How to monitor external web services?如何监控外部网络服务?
【发布时间】:2009-08-06 11:02:38
【问题描述】:
我们正在开发一个使用外部 Web 服务作为主要数据源的 Web 应用程序。 Web 服务由我们的一位密切合作伙伴创建和维护。即使它们应该一直工作,它们也不是 100% 可靠的。有时,它们会停止访问或开始抛出异常。
什么是监控外部 Web 服务并在发生错误时获得通知的好方法?
限制:
- Web 服务外部托管在我们合作伙伴的服务器上
- 我们没有这些网络服务的源代码
- 我们无法控制一般基础架构
我想创建一个简单的 .NET 应用程序,它会定期调用 Web 服务并在出现问题时报告(通过电子邮件、日志文件或数据库)。但也许你有更好的想法?
【问题讨论】:
标签:
c#
asp.net
web-services
monitoring
【解决方案1】:
我想创建一个简单的 .NET
调用网络的应用程序
定期服务并报告时间
有问题(通过电子邮件,在日志中
文件或数据库中)。但也许你有
更好的想法?
除了向您的公司报告服务中断之外,您可能还想通知供应商,例如通过电子邮件发送他们的技术支持或自动拨打他们的热线电话或其他方式。
如果这些服务对业务至关重要,也许您可以与供应商达成SLA 作为合同的一部分。
我不知道您还能做些什么,除非在您的场景中实现数据的本地缓存。这至少可以使您免受 Web 服务中的临时故障的影响。
【解决方案2】:
生日,
这里有几个方面您必须考虑。
外部 Web 服务是否存在于负载平衡层后面?在这种情况下,您可以向其他公司报告的有用性非常有限。
您是否与公司制定了 SLA 以帮助确保提供其网络服务?如果您这样做了,那么您需要使用记录数据来支持任何索赔,这会改变所需的监控范围。
请像 Gomez 这样的外部公司为您监控公司的 Web 服务应用程序怎么样?他们有一系列出色的服务。顺便说一句,我不为 Gomez 工作,只是使用他们的服务。
贵公司是否与任何客户签订了 SLA 以提供您的应用程序?再一次,如果你这样做了,那么你需要通过与其他公司签订 SLA 来减轻任何此类处罚的成本。
编辑:我忘了说你做的任何探测都应该至少有两种类型。
- 外部平台的可用性,以及
- 您的特定服务的可用性
HTH
'Avahappy,