如何监控服务器状态
请教:如何监控一个server的状态?该server跑了多少线程,线程的状态,等待队列状态
在linux下如何显示这些状态数据?是用类似于top ?还是使用共享内存,或是pipe发布状态数据?或是log分析?
有几个先决条件:linux系统,多线程并发,业务处理时间长
现在比较关心以下几个方面:
1、状态数据的采集
2、状态数据的存储
3、状态数据的发布
4、状态数据的表现方式
1、关于数据的采集:
使用线程管理器管理线程池,是否可以获取线程运行状态?
等行队列的状态获取
如果对任务状态进行采集,对每任务使用状态机是否合适?
2、状态数据的存储:
全局数据存储,共享内存,日志文件,或是其它手段方式比较
3、状态数据发布:
共享内存发布,进程间同步访问?
pipe发布,有接收端接收,没有就>>null
UDP方式广播
文件方式发布,同步访问
4、状态数据表现方式:
top方式?实现难度?
客户端图形界面显示?linuxGUI,远程登录图形显示?
WEB方式,以浏览器远程定时刷新方式?实现难度? 其实这些东西,都是自己试验一下就知道的。一次问这么多问题,让人望而却步。
1、可以。状态机怎么不行?
2、日志方便,但是会有同步的代价。
3、采用一个特殊的监听端口和协议,监控的客户端进行查询就可以了。其它方式看具体情况再分析。
4、没什么难以表现的,难度看你的要求。
剩下细节问题自己想,看文档,做程序员,不能太懒,什么都靠问,是不行的。just try!
页:
[1]