服务器监控
服务器监控
最近经常出现服务器应用程序被关闭,而公司又没有监控程序,程序挂了都不知道。~~~基金公司连个监控系统都不买~~~吐槽中。
没有监控系统怎么办,领导可不管那么多,出了问题找的是你,曾经一度只要手机响了就怕说是电话通知网站挂了呀,拿着白菜价的工资,操着卖白粉的心。我是程序员,你说怎么办,怎么办,自己写监控程序呗......
说写就写,首先收集需求嘛
1.监控进程
2.监控端口
什么,就这2点需求?这叫什么需求,我是java程序员,这个很简单嘛,写个程序监控一下很简单的嘛!但是还没写,我就打退堂鼓了,java写的程序必须要有运行环境,要安装jdk呀,还要主要版本呢,这叫什么事咯。
然后呢,然后呢,没然后了,然后想了一个问题,监控程序提醒用什么,邮件?太麻烦,谁会实时注意邮件,反正我是不喜欢看邮件的。短信?收费呢,就算公司的,你哪能给你私人用呀,就这样被否决了。微信企业号不是可以发消息嘛,公司恰好有个企业号,说干就干,写了个简单的接口对接微信企业号,然后提供一个外网接口用于发送消息,等什么时候监控程序写好了,就直接用就行了。
接口长成这样:http://xxx.com/xxx.do?content=?&toUser=?,
是个程序员都懂吧,content是发送内容,toUser是发送对象,必须关注了我的企业号才行。
废话了那么多,切入主题。脚本语言就能监控进程,window机器用vbs,linux 用shell脚本,都是系统自带的,不用什么运行环境。
先来个windows下监控进程的,代码如下
start.vbs
stop.vbs
1 CreateObject("WScript.Shell").Run "taskkill /f /im wscript.exe",1
给个装逼的界面,因为脚本语言的限制,所以要点击确认后才能真正的执行后续的脚本。

要关闭监控,运行stop.vbs
手工关闭一个进程,监控立马报警,看如下

未完待续:
1、监控端口
2、linux上面脚本的编写
另外请一个会C的同事写了个监控程序,可以监控进程,监控端口,做的挺好的,界面如下:

~~~~~~
涉及到业务的监控,用java写了监控程序来监控,用企业号的这个接口来发送消息。
还啰嗦一下,有个不成熟的想法,不过暂时没去实行。
如果机器挂了,监控程序本身挂了,该怎么及时提醒,如果应用开启后有端口的还好,我可以部署几个监控程序,相互监控,不可能所有的监控程序都挂了吧。
提供一个统一接口 接收 监控程序的定时报告(包括内存,cpu等信息),然后用一个页面显示所有的服务器最新的情况,如果服务器有一段时间没更新监控状态了,就提醒是否机器已经失联。

浙公网安备 33010602011771号