描述

目前要做的是多台服务器上的程序日志(如订购日志,交易日志,接口是否成功等)汇总到1个mongodb服务器,每日大约1亿的量,然后有图表实时展现,和报表展现日志信息

注意:

没有把所有日志放入1张表里面,因为日志插入很频繁会导致锁表,二是量大了影响查询速度。没有考虑用分片,因为针对我们的业务查询,分片没得分表效率高。用上了mongodb的副本集来保证服务器稳定运行 和 主从库读写分离来提高效率。

方案

1:简化入库,使用log4j配置把log4j日志以统一的json格式直接存入到mogodb

2:建立4张表

a:总表(全部日志)【单独建个库来保存,这样防止写入全局锁影响查询】

b:小时临时表:

格式:2013122106 注:2013年12月21日6时log4j写入的日志汇总

小时表:(crontab或者quartz定时统计前一小时临时表的业务所需数据,如某小时交易总量,成功率,各种聚合值等)

c:建立固定集合来存放最近2小时的数据。大小固定,效率高,自动会替换老的数据【随时在插入数据,所以会影响查询,建议放到mongodb的内存数据库和固定集合,提升效率】

d:天表(小时表的汇总)

业务处理

1小时内图标实时展现(固定集合能满足)

当天图表实时展现(小时表+固定集合能满足)

表报统计(小时表或者天表,有需求+月表或者年表)

遇到问题

mongodb使用import导入数据速度不稳定,所以如果导入数据有时间要求的话,建议使用程序批导入,

mongodb对插入会出现锁表,locked集合,影响集合查询, 不要把log4j的日志直接写入总表,在统计小时业务聚合信息,因为总表数量大了,效率很慢。建议log4j按小时写入的临时集合,在临时集合中统计小时业务数据到小时表

mongodb日志服务器方案的更多相关文章

  1. graylog2+syslog-ng+mongodb构建集中管理日志服务器 --转载

    原文地址:http://blog.chinaunix.net/uid-11065483-id-3654882.html 由于公司内需要监控QQ的上下线记录,原本使用了分光+Panabit+Splunk ...

  2. mongodb 简单部署方案及实例

    mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb  我这里选用rehl 5.6 ...

  3. MongoDB安全加固方案,防止数据泄露被勒索

    早上起来,发现生产数据库被删了,留下一个数据库名叫“PLEASE_READ”,里面内容如下: "Info" : "Your DB is Backed up at our ...

  4. Graylog2+mongdb+rsyslog中央日志服务器对syslog的web管理--转载

    原文地址:http://blog.sina.com.cn/s/blog_49be4d570100yvv1.html 1.下载mongodb,可以通过下面2中方法安装. (1)官网下载yum源后直接安装 ...

  5. DataBase MongoDB集群方案介绍

    MongoDB集群方案介绍 一.什么是mongodb集群? 是指由多台mongodb服务器组成的服务器集群,称之为mongodb集群. 二.mongodb集群搭建的方式: 1.Replica Set  ...

  6. Android 优质精准的用户行为统计和日志打捞方案

    Android 自定义优质精准的用户行为和日志打捞方案 Tamic csdn博客 :http://blog.csdn.net/sk719887916/article/details/51398416 ...

  7. SQL SERVER数据库删除LOG文件和清空日志的方案

    原文:SQL SERVER数据库删除LOG文件和清空日志的方案 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文 ...

  8. Eventlog Analyzer日志管理系统、日志分析工具、日志服务器的功能及作用

    Eventlog Analyzer日志管理系统.日志分析工具.日志服务器的功能及作用 Eventlog Analyzer是用来分析和审计系统及事件日志的管理软件,能够对全网范围内的主机.服务器.网络设 ...

  9. MongoDB集群方案介绍

    MongoDB集群方案介绍 一.什么是mongodb集群? 是指由多台mongodb服务器组成的服务器集群,称之为mongodb集群. 二.mongodb集群搭建的方式: 1.Replica Set  ...

随机推荐

  1. sencha touch

    download http://www.sencha.com/products/touch/thank-you/ Developer Center http://developer.sencha.co ...

  2. 对敏捷开发的误解(转自MBAlib)

    对敏捷开发的误解 误解一:敏捷对人的要求很高 很多人在尝试实施敏捷时说:敏捷对人的要求太高了,我们没有这样的条件,我们没有这样的人,因此我们没法敏捷.可是,敏捷对人的要求真的那么高么? 软件归根到底还 ...

  3. Wix 安装部署(一)同MSBuild 自动生成打包文件 转

    原文地址:http://www.cnblogs.com/stoneniqiu/p/3355086.html 因为项目需要,最近在研究Wix打包部署,园子里也有一些关于wix的博客,方方面面,讲的点各不 ...

  4. pptpvpn记录用户登录和流量信息

    这个问题困扰了我很久,终于在pppd的man文档里,发现了踪迹.在man中的SCRIPTS下有一系列的参数,其中PEERNAME就是登陆的用户名,并且在/etc/ppp/ip-up和/etc/ppp/ ...

  5. 《暗黑世界GM管理后台系统》部署+功能说明

    原地址:http://blog.csdn.net/uxqclm/article/details/11969761 欢迎来到9秒:www.9miao.com 暗黑三国管理后台说明文档 (一)功能描述该后 ...

  6. 开启CURL扩展,让服务器支持PHP curl函数(远程采集)

    关于开启Curl的方法模板天下小编在此给大家简单说一下 curl().file_get_contents().snoopy.class.php这三个远程页面抓取或采集中用到的工具,默迹还是侵向于用sn ...

  7. LINUX下安装PHP(CGI模式)和NGINX[转]

    安装所需依赖 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freety ...

  8. MyGui 3.2.0(OpenGL平台)的编译(五篇文章)

    MyGui是一个用来创建用户图形界面的库,用于游戏和3D应用程序.这个库的主要目标是达到:快速.灵活.易用. 1.下载准备: 源代码:http://svn.code.sf.net/p/my-gui/c ...

  9. QT使用UAC(经过验证)

    网上有很多manifest的版本,mingw与vs系列也有不同的解决方案,不管那么多,我是使用这篇文章解决这个问题的: So it turns out that I had another bug t ...

  10. ASP.NET 導入Excel

    常常碰到這種需求,為了避免自己每次寫Code都要東翻西找Sample,乾脆丟上來當備份 此外,也為了方便網路上的大大們Copy Paste方便,小弟已經順便標示要複製程式碼的起始結束位置 在歡樂的貼程 ...