本文分享的这个应用监控小工具,本来是我在五年多以前开发实现的windows服务监控的一个windows服务。听上去比较拗口吧,是的,这个应用一开始就是个监控windows服务的windows服务。记得当时写这个程序的直接原因就是,做数据统计结转迁移备份之类的后台定时windows ...
本文分享的这个应用监控小工具,本来是我在五年多以前开发实现的get='_blank'>windows服务监控的一个windows服务。听上去比较拗口吧,是的,这个应用一开始就是个监控windows服务的windows服务。
记得当时写这个程序的直接原因就是,做数据统计结转迁移备份之类的后台定时windows任务实在太多,而且由于历史原因,服务挂掉了也没有人及时知道,最终都会造成用户投诉,但很久才反馈到开发这边,或者用户根本不投诉,而日志系统又做的不好(可以算是没有),很可能就一直不知道某些应用已经发生问题。
这个工具的缺点也很明显,我亲眼看到过某司后台强大的运维监控系统,各种详细的参数和指标,大量日志和完善的日志分析系统,可以直接定位问题至某个集群某台服务器,以及可视化数据监控平台管理后台…必须承认,这个小工具做不到某司统一监控平台系统的任何一点。
后来随着需求改变,监控的类型变多,逐渐完善,在这个过程中,也曾经考虑加入很多特殊应用的内部业务监控逻辑。但是开发组发现统一监控平台不是那么容易实现,抽象改进使监控通用必须统一应用框架,但我们那时候人手不足,只好简单粗暴实现最容易的通用逻辑,且慢慢被改造为基于http的应用的简单心跳检查,目前支持的主要应用类型有windows服务、web服务、web页面、wcf、web api等。
在某些特殊业务场景下,这个神器还能重见天日,还可以占有一席用武之地。
现在,这个应用支持两种表现形式:1、winform程序 2、windows服务
将winform改造为windows服务很简单,只要将Program类文件稍作修改:
Programusing System;using System.ServiceProcess;using System.Threading;using System.Windows.Forms;namespace ServiceMonitor{ using PowerServiceMonitor.Util; static class Program { /// <summary> /// 应用程序的主入口 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); MonitorConfig.InitMonitorConfig(); //初始化监控配置文件 ////改造为winform程序 //var isCreate = false; //var mutex = new Mutex(true, "powerservicemonitor", out isCreate); //if (isCreate == true) //{ // Application.Run(new MainForm()); //} //改造为windows服务 var ServicesToRun = new ServiceBase[] { new MonitorService() }; ServiceBase.Run(ServicesToRun); } }}
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:Sharing A Powerful Tool For Application Auto Monitor
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。