前言
最近需要开发一个监控项目,主要用于监控服务器的各项硬件指标,以及应用的状态(只需要确认应用是否存活),到了这个阶段也希望自己能静下心来总结一下。
需求
服务器监控
服务器监控目前只需要监控起CPU、DISK和RAM的使用情况,本可以java编程解决,
但是考虑到程序的扩展(后续可能新增指标),所以使用了java+shell的方式,
即shell脚本获取指标、打印,java控制shell脚本的执行,并获取返回值。在经
由java后台解析入库。
应用监控
应用监控在此处就比较简单,只考虑应用的存活情况即可。那么考虑到通过端口的
状态来确认应用的状态(在部分情况下端口状态并不能反映应用本身的状态,但此
处暂不考虑)。
管理员维护
由于涉及到预警告知的概念,那便引入了管理员的概念,与服务器绑定,做通知用。
设计
系统架构
采用 单独jar + 管理平台的方式
1、单独jar: 运行于服务器上,用于根据管理平台下发的端口判断应用状态、定
期执行Shell脚本、解析返回值、推送结果至管理平台。
2、管理平台: 用于服务器、应用等的维护,针对服务器应用集端口的下发,接收
状态报文,解析入纵表库。并提供数据组装、展示的