JAVA监控IIS程序是否正常_监控IIS的运行状态

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Diagnostics;usingSystem.Linq;usingSystem.ServiceProcess;usingSystem.Text;usingSystem.Management;usingSystem.Diagnostics;usingSystem.ServiceProcess;usingSystem.Configuration;namespaceIISWatcher

{public partial classIISWatcher : ServiceBase

{publicIISWatcher()

{

InitializeComponent();

}

System.Timers.Timer tmr;protected override void OnStart(string[] args)

{

tmr= newSystem.Timers.Timer();

tmr.Interval= 6000;

tmr.Elapsed+= newSystem.Timers.ElapsedEventHandler(tmr_Elapsed);

tmr.Enabled= true;

}void tmr_Elapsed(objectsender, System.Timers.ElapsedEventArgs e)

{string currentAnonymousUsers = "";string timeOut = "";try{

currentAnonymousUsers= ConfigurationManager.AppSettings["CurrentAnonymousUsers"];

timeOut= ConfigurationManager.AppSettings["TimeOut"];

ServiceController winSc= new ServiceController("WAS");if (winSc.Status != System.ServiceProcess.ServiceControllerStatus.Running && winSc.Status !=System.ServiceProcess.ServiceControllerStatus.StartPending)

{

StartService("WAS");

}

ServiceController sc= new ServiceController("W3SVC");if (sc.Status != System.ServiceProcess.ServiceControllerStatus.Running && sc.Status !=System.ServiceProcess.ServiceControllerStatus.StartPending)

{

StartService("W3SVC");

}else{

SelectQuery query= new SelectQuery("Select" + currentAnonymousUsers + "from Win32_PerfRawData_W3SVC_WebService where name=\"_total\"");

ManagementObjectSearcher searcher= newManagementObjectSearcher(query);int currentAnonUsers = 0;foreach (ManagementBaseObject disk insearcher.Get())

{int.TryParse(disk[currentAnonymousUsers].ToString(), outcurrentAnonUsers);

}if (currentAnonUsers >Convert.ToInt32(timeOut))

{

StartService("W3SVC");

}

}

}catch(Exception ex)

{

EventLog.WriteEntry("IISWatcherRecord", "ErrorMessage:" +ex.Message, EventLogEntryType.Error);

}

}static private void StartService(stringserviceName)

{

ServiceController sc= newServiceController(serviceName);

sc.Start();for (int i = 0; i < 5; i++)

{

sc.Refresh();

System.Threading.Thread.Sleep(1000);if (sc.Status ==System.ServiceProcess.ServiceControllerStatus.Running)

{break;

}if (i == 4)

{throw new Exception(serviceName + "启动失败!启动时间超过5秒!");

}

}

}protected override voidOnStop()

{

tmr.Stop();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运行环境:window .net 1.1框架 http://download.microsoft.com/download/0/f/e/0fecf85c-fb50-4ca9-adf2-c4be7ec9b454/setup.exe 适用范围:虚拟主机提供商用于排查个别有问题的网站. 监控每一个WEB站点的资源使用状态,包括:CPU使用率,总的CPU时间,内存,最大内存,线程数,模块数等. 如果某个网站CPU占用率,或内存,最大内存非常大,标志该网站流量很大,或程序有问题. 软件功能: 应用程序:可以看到到当前机器运行的应用程序名称. 进程管理器:可以看到每一个进程序的详细信息.在win2000机器下运行备注字段会指明了虚拟主机的网站名称.在win2003机器下运行备注字段会指明了应用程序池的名称. IIS6.0设置:先加载IIS列表,可以选择需要监控的站点(按Shift键可以多选),再点击使用独立应用程池.这样就可以在进程管理器里,查看到每一个站点所对应的应用程池的进程序的CPU等情况.建议操作之前,先对IIS进行备份,然后监控完了,恢复IIS设置.在还原成初始状态. 如果全部使用独立应用程序池,对服务器的资源占用会有所增加,只把三四十个可以疑的站点设置独立应用程池,或者先30个站点共用一个池,找出是哪一个池有问题了,再把这个池里的站点设置成独立程序池,再具体查找. IIS5.0设置:先加载IIS列表,可以选择需要被监控的站点(按Shift键可以多选),然后点"安装监控器".再去进程管理器里查看站点所对应的进程的CPU情况.注意:建议操作之前,先对IIS进行备份,然后监控完了,恢复IIS设置.在还原成初始状态. 安装监示器之后,对服务器的资源占用会有所增加,建议不要把全部的程序都安装监控器,一次只安装三四十个可疑的站点即可. 注册(Register):注册本软件.
这是一个用于网站监控程序,对于服务器管理员来说,24小时监控服务器是否正常是很烦人的时。有了这个程序,一切都简单了。 本软件是一个运行于Win2000服务器上的HTTP监控程序,可以实时监控服务的运行状态,一但HTTP服务发生错误,可以自动重起服务器、重起IIS、或是通过请求指定的页面通知管理员。 本程序很小,完全不会影响到服务器的性能。 使用说明:将 HttpMon.exe 复制到硬盘上,并将其添加到Windows的任务计划中,设置为"计算机启动时运行",以administrator 的权限运行。 主要功能: 一.定时功能: 可指定每隔几天重启一次计算机或是重启IIS。 若是指定为0天时表示每天重启一次。 二.Http监控: 1.运行HttpMon.exe 点击"添加"按钮添加监控条件。 a)在"检查链接"里加上用来监控的页面 如 http://XXX/state.asp 在state.asp加随意加上一个简单代码,如<%response.write "OK"%> 这样可以检查IIS是否死掉 若要检查链接数据库是否正常还可以把代码写为: <% set db=CreateObject("ADODB.Connection") db.open 数据库链接 db.close %> b)在"检查频率"中可以指定多长时间检查一次,默认是20分钟 c)在返回信息中选择要检查的条件,有几种情况: 返回状态等于,返回状态值不等于,文件大小等于,小于,大于。 "返回状态值" 指IIS返回的客户端时的状态。 200 是正常 302 文件重定向 404 文件找不到 500 服务器内部错误 . . . 默认是:当返回状态不等于200时(表示IIS出错时)重起IIS 当上面情况出现时可做几个对应处理: a)重启计算机 b)重启IIS c)关闭计算机 d)请求页面 "请求页面"可用于扩展程序功能,如通过请求一个程序页面发信给管理员。 2.因为有时重启IIS不一定成功,所以当上面错误情况出现时,程序会自动缩短检查的隔时间,默认为5分钟。也可以自定义。 当上面操作多次重试都不成功时,还可以设置对应的操作。例如:当重启了3次IIS后还是有错误,这时可以在后面设置为重启计算机 3.关于日志功能:日志功能可以记录Http监控程序的工作情况,他可以记录什么时候检查过什么页面,什么时候出现了错误,对应操作是什么。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值