JAVA 运用监控

JAVA 应用监控
监控一个应用可以有很多好处,xxxxx 这里就不说了

不同应用的监控的出发点肯定不同,有些事为了看应用性能,有些为了监视外部系统,有些为了数据打点做数据分析等等。

因为出发点不同,应用不同,所以监控的数据结构肯定也不同,如果有一个通用的易扩展的又使可以自管理的监控应用,可以监控所有应用,满足各类需求,那是不是很好呢。

我想到的通用,最好就是不定义死数据结构,让应用负责人自己去定义,且数据采集的和数据消费的方式可以自定义,那就是无限扩展拉(可能我想得太简单了,欢迎拍砖!)。

于是我简单实践了下,写了一个监控的客户端,如下:http://code.google.com/p/dragonfly-client/wiki/Guides  可以通过svn获取。

该客户端使用jmx管理监控本身的生命周期,使用log方式采集监控数据放入缓存中,通过定时器调度消费者消费数据。

这里log如何收集数据和消费者都提供扩展,包括缓存数据的方式,都可以扩展。

JAVA 运用监控

以后可以考虑把客户端注册到监控服务端,把数据发送到服务端,服务端通过定制化的数据展现插件,渲染监控数据报表。


甚至缓存可以扩展到redis,memcached等分布式缓存中保存,数据可以远程分发到,NOSQL 数据库或者hadoop等分布式数据库中, 用于数据分析和挖掘。

监控真是重要啊~ 有了监控,晚上可以安心睡觉拉~




项目还在开发中,欢迎有新需求,更欢迎对代码和设计上有任何建议~~