热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MongoDB与Log4J的日志集中化管理

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

客户跟我们合作快一年了,随着业务的增长,机器也在增长,刚刚开始的时候没有人去关注在多台机器上怎么查看日志,因为刚刚开始的时候才有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–

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了关系型数据库和NoSQL数据库的概念和特点,列举了主流的关系型数据库和NoSQL数据库,同时描述了它们在新闻、电商抢购信息和微博热点信息等场景中的应用。此外,还提供了MySQL配置文件的相关内容。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 一面自我介绍对象相等的判断,equals方法实现。可以简单描述挫折,并说明自己如何克服,最终有哪些收获。职业规划表明自己决心,首先自己不准备继续求学了,必须招工作了。希望去哪 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • Intellij IDEA中详细图解连接MySQL腾讯云数据库以及基础操作
    虽然小编记录的是在IDEA中连接mysql腾讯云数据库。当然,如果读者使用的是本地数据库,也是一样的操作,只是数据库的url书写有所不同。 ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 一、前言在数据库中,慢查询日志通常是用来进行优化数据库,MySQL中存在慢查询,Mongodb中也是如此。在Mongo中的慢查询属于Mon ... [详细]
  • 1.淘宝模拟登录2.天猫商品数据爬虫3.爬取淘宝我已购买的宝贝数据4.每天不同时间段通过微信发消息提醒女友5.爬取5K分辨率超清唯美壁纸6.爬取豆瓣排行榜电影数据(含GUI界面版) ... [详细]
  • Abp+MongoDb改造默认的审计日志存储位置
    一、背景在实际项目的开发当中,使用AbpZero自带的审计日志功能写入效率比较低。其次审计日志数据量中后期十分庞大,不适合与业务数据存放在一起。所以我们可以重新实现A ... [详细]
  •     系统采用jeeplus框架(ssm+redis+shiro+mongodb+redis),默认是做了JSP未做前后端分离,由于业务需要已经多终端使用的需求(H5、小程序等) ... [详细]
author-avatar
帝京
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有