在对大型网络监控中,如何汇集各个节点的信息(其实就是系统架构问题)?
网络监控系统中,监控的对象主要有:平台信息、平台服务信息(包括:CPU、内存、网络情况、硬盘、进程、系统日志)、该平台所安装的服务器(也就是具体的程序)、每个服务器所提供的服务。设备节点负责收集这些信息,监控服务器负责汇总信息、分析信息。但是, 在对大型网络这些信息如何汇集?我认为大的方面就是两种方法:第一种,节点主动报告给监控服务器。第二种,监控服务器定时遍历各个监控节点。具体的实施的时候是否需要有中间层?如何保证这些信息都可以报上来?如何保证节点采集程序的简单?采用什么协议TCP/UDP?等等这些问题如何通过架构来解决?
1 楼 老肥羊 2008-03-02 cacti,hobby,每台server 用snmp来报告需要的信息 2 楼 galaxystar 2008-03-02 1,采用configServer,客户端获取信息server IP,主动推送信息.
优点:服务端只负责统计,职责单一,容易扩展,并保证数据实时性。
缺点:客户端推送频繁或信息统计server宕机,会导致网络阻塞。影响正常服务。
另外,统计server的规模也与客户端的数量成正比增加。
2,客户端将信息持久化到本地文件,服务器端主动去挨个爬。
优点:降低客户端压力。廉价。一台机器就可以搞定。
缺点:不实时。
3, 客户端直接写数据库或cache等较高性能,高可靠性的存储。
优点:实时,可靠。
缺点:根据业务类型跟产生数据量不同,存储压力会上升。
暂时想到这些。。