我想监视服务器是启动还是关闭,我认为,ping 它是解决我的问题的最佳方法。我如何“安排”对函数TestServer的 asp.net 循环调用,该函数ping 到服务器列表(取自数据库)?也许,最好将我的软件分成两部分?
从数据库加载数据的 ASP.NET 视图(服务器、状态(向上向下))
A.. 每 ..1 分钟运行一次 ping 的命令行 .net 应用程序?
谢谢
我想监视服务器是启动还是关闭,我认为,ping 它是解决我的问题的最佳方法。我如何“安排”对函数TestServer的 asp.net 循环调用,该函数ping 到服务器列表(取自数据库)?也许,最好将我的软件分成两部分?
从数据库加载数据的 ASP.NET 视图(服务器、状态(向上向下))
A.. 每 ..1 分钟运行一次 ping 的命令行 .net 应用程序?
谢谢
为什么不使用 Nagios 来监控您的服务器?你可以在这里找到它:http: //www.nagios.com/。该软件旨在监控任何类型的服务器、服务器上的软件、网络连接、数据库、路由器等。安装后,它具有一整套开箱即用的插件。如果默认插件对您来说不够强大,您也可以编写自己的插件。
Nagios 能够监控 Linux 或 Windows 上的环境。只要符合要求,插件可以用任何语言编写。我们有这个工具在我的公司运行,并让它监控我们拥有的每个系统。它提供了一个不错的仪表板,您可以在其中将系统分配给特定用户,以便每个团队都可以监控自己的系统。老实说,这就是我要走的路。
编辑:因为听起来 Nagios 是不可能的,所以最好的办法是编写一个控制台应用程序来提取服务器列表并 ping 它们。不要为此使用数据库,而是创建一个包含服务器列表的配置文件。要运行应用程序,请使用 Windows 调度程序安排此应用程序以 X 分钟的时间间隔运行,然后将结果写入日志文件,或对它们执行其他操作。调度程序将是您最好的选择,而不是让应用程序在后台使用计时器全时运行。
我可能会创建一个控制台应用程序来完成这项工作(查询数据库、运行 ping 测试、记录结果),并使用 Windows 任务计划程序以特定时间间隔执行该程序。
http://windows.microsoft.com/en-us/windows7/Schedule-a-task
在您的控制台应用程序中,使用 HttpWebRequest 类进行 ping - http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx