我想监控服务器是启动还是启动,我认为ping它是解决问题的最佳方法。 我怎样才能'安排'一个asp.net循环调用函数 TestServer ping一个服务器列表(取自数据库)? 也许,最好将我的软件分成两部分?
从数据库加载数据的ASP.NET视图(服务器,状态(向上))
一个..命令行.net应用程序,每个..1分钟运行ping?
由于
答案 0 :(得分:1)
为什么不使用Nagios来监控您的服务器?你可以在这里找到它:http://www.nagios.com/。编写该软件是为了监控任何类型的服务器,服务器上的软件,网络连接,数据库,路由器等。一旦安装,它就有了一整套插件即开即用。如果默认插件功能不够强大,您也可以编写自己的插件。
Nagios能够监控Linux或Windows上的环境。插件可以用任何语言编写,只要它们符合要求即可。我们在我的公司运行此工具,并监控我们所拥有的每个系统。它提供了一个很好的仪表板,您可以在其中为特定用户分配系统,以便每个团队都可以监控自己的系统。老实说,这就是我要去的方式。
编辑: 由于听起来像Nagios是不可能的,你最好的选择是编写一个控制台应用程序,它可以提取服务器列表并对其进行ping操作。不要使用数据库,而是创建包含服务器列表的配置文件。要运行应用程序,请使用Windows计划程序安排此应用程序以X分钟为间隔运行,然后将结果写入日志文件,或对其执行其他操作。
,而不是让应用程序在后台使用计时器全天候运行,调度程序将是最好的选择。答案 1 :(得分:0)
我可能会创建一个控制台应用程序来完成工作(查询数据库,运行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