想做一个基于Java的终端监控,求大神指点!

本人是刚接触Java的菜鸟,因为工作需要,想做一个基于JAVA的终端监控。
大概是需求是——做一个监控Client,同时部署在几十个windows终端上 ,然后收集CPU 内存 进程 时钟之类的状态信息,再做一个Server,Client传监控数据到监控中心的Server端上,处理后,分组显示出来,。

现在纠结的几个问题是——
1.Client收集到状态信息后,是使用文件的方式传输好,还是直接使用UDP报文呢?
2.Client端大概设定几分钟发送一次状态信息,要同时处理几十个终端的信息,Server端这边采用什么样的数据处理逻辑好呢?

想做轻量化的程序,所以不太想用数据库,跪求大神解答。。。

数据量不是很大的情况可以考虑使用socket直接发送数据包,在服务端只需要写一个监听级就可以了。用数据库或者不用,看个人。你要把数据全部保存到xml也没人说你,只是将来要做相关分析的时候可能你就会发愁了。

建议是用数据库,这样方便整理数据,对于客户端,倒是可以采用短连接的方式,就是提交完数据就释放连接,服务端接收了并存入到数据库。

javaweb还是桌面程序?

Linux用SNMP。Windows用WMI。
Java虽然不错,但不是万能的,选择最适合的项目的方案。百度一下Cacti可能是你要的。

Server端可以通过mina框架socket接收client端消息,再处理

Server端这边采用Tomcat也可以