繁体   English   中英

应用程序监视的最佳实践

[英]Best practice for application monitoring

我正在尝试为我们的运营部门创建一个监视应用程序,以便在遇到问题的系统时能够积极主动。 我创建了一个可以完成这项工作的应用程序,但它有一些缺点:

  1. 运行1个ping就足够了,每个运行的应用程序副本都会为系统提供单独的ping命令。
  2. 我有3种不同的api,用于获取系统状态,具体取决于托管的IIS,WCF还是桌面。

为了解决第一个问题,我将创建一个临时服务(app)(monitor)进行ping的数据库,然后该应用将在数据库中查询更新。 在考虑了这一点之后,我意识到了第二个问题,并认为这是一个未来的问题。

所以我的想法是,不是让临时应用程序对系统执行ping操作,而是让每个系统都有一个接口,该接口每x次将其状态发布到数据库中。 但是后来我遇到了我们拥有的WCF和IIS服务的问题。 这些服务可以放置数天,而无需任何人实际使用该服务。 我将如何使这些服务继续发布其数据?

我的问题是:

在这种情况下,请求或推送数据是否更好?

如果需要,在多个平台(IIS,WCF,桌面)上维护单个API的建议做法是什么?

如果按下,您将如何处理基于实例且无法连续运行的Web服务?

对于Web服务,一种解决方案可能是实现运行状况检查端点,您可以简单地调用它,例如:webservice / isServiceUp?。

我更希望此信息为PULLED。 如果服务/ Web服务/应用程序关闭,则您可能无法依靠它向DB写东西...这是可能的,但风险很高且不可靠。

在现实情况下,这要复杂得多,因为服务主机和使用者之间可能会发生某些情况(例如DNS问题),在这种情况下,您需要考虑不从服务器退回任何东西的情况。 isServiceUp(不为真,不为假,只有400 lvl错误)...

考虑使用负载平衡器检查APPS / Web服务,并在出现问题时主动切换到其他IP ...这是可能的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM