我正在为我的公司开发一个状态监控程序,我们需要能够知道远程机器上的进程是否由于没有响应(我可以做到)而挂起,或者它是否抛出了未处理的异常。我尝试了很多方法,从检查进程的 CPU 使用率到检查进程是否空闲。没有什么是真正可靠的。有没有办法做到这一点?我们将监控的所有程序都在 .NET 3.5 或 4.0 上运行。
最佳答案
如果您可以控制这些应用程序的来源,答案就会容易得多。
我们处理这种情况的方式是,要监视的应用程序会定期将它们的状态写入中央数据库。然后,监控应用程序会定期检查这些表中的状态,如果状态在特定时间段(即 2 分钟)内没有更新,则会生成警报。
这不仅可以帮助我们识别应用程序问题,还可以识别连接问题和意外的机器重启。
关于.net - 检查程序是否抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9825604/