Maison  >  Article  >  base de données  >  MongoDB与Log4J的日志集中化管理

MongoDB与Log4J的日志集中化管理

WBOY
WBOYoriginal
2016-06-07 16:26:081077parcourir

客户跟我们合作快一年了,随着业务的增长,机器也在增长,刚刚开始的时候没有人去关注在多台机器上怎么查看日志,因为刚刚开始的时候才有2台应用服务器,现在光是GlassFish(web app) 就有25台,还有JMS的服务器/消息收发 12台,现在30几台机器光是查看日志就

客户跟我们合作快一年了,随着业务的增长,机器也在增长,刚刚开始的时候没有人去关注在多台机器上怎么查看日志,因为刚刚开始的时候才有2台应用服务器,现在光是GlassFish(web app) 就有25台,还有JMS的服务器/消息收发 12台,现在30几台机器光是查看日志就能忙死,就好比你电脑中打开了30个窗口,需要一个一个查看,你说能不杯具吗?

现在有 30几台机器,将来也许还会更多,但我们需要查看Java程序在每台机器上运行的情况,如果还跟以前一样的方式似乎不太可行了,需要想想其他办法。
所以设想出3种方案:
    1.通过Log4J  JDBC插件直接写入 数据库,
    2.通过Log4J  JMS  插件先向JMS服务器发送消息,JMS服务器接收到消息以后,再向数据库写入
    3.通过改装后的 Log4J MongoDB插件 向 MongoDB数据库写入

这样,我们只需要查看一台机器上的log数据就可以知道每台机器的运行状态,将来需要对日志进行分析的话还可以进行二次开发,并且操作方便,可扩展性强。

所以最后选择了第三种向MongoDB写入,从以往大量的测试和经验中得到的实践告诉我们MongoDB和MySQL在执行大量的插入数据的过程中MongoDB更有效。

目前采用了这样的技术架构,如图所示:
http://1aqpcg.bay.livefilestore.com/y1p4msOfBCSQev9-rrsNr-2j8OAGgZJ09Xp9VIIu7FXUOHtl54B2COn4uaL_ezgBNRAJK5MiYIgiCC5yIKNIeF8vfzvvOvSqCv-/log4mongo.png
查看大图请点击这里

下载测试代码,请点击这里

相关文章:
MongoDB 客户端工具,不断收集ing(图)
MongoDB Java ORM 的设想
mongodb 入门 介绍
MongoDB 集群
MongoDB 主(Master)/从(Slave)数据同步

口水:
这个想法和实践要感谢 Jozef Sevcik 先生和他的开源项目给我带来的灵感,我上面提供的代码例子也发送给Jozef Sevcik 先生的邮箱了,并且很快得到了他的回复,他在来信中说道:

Hello H.E,

I'm sorry for delayed response.
Thank you for your contribution, I'm glad to see people using the project are contributing code back, great !

I'll review your changes during this weekend and let you know,

Thanks,
Jozef

这位国外友人说话非常客气,呵呵

–end–
 

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:分布式开源并发框架Hadoop简介Article suivant:Hadoop与Facebook