本文目录:
mongoDB开启操作日志
一、查看是否开启操作日志:
nosql : db.getProfilingStatus()
返回:
{
“was”: NumberInt(“0”),
“slowms”: NumberInt(“100”)
}
注:was:0表示未开启。1表示记录慢命令(默认:执行时常超过100ms)2表示记录所有命令。
二、修改was:
nosql: db.setProfilingLevel(2)
三、查看操作日志
nosql:db.system.profile.find()
用mongodb专门做日志库合适吗
我才疏学浅,稍微给点拙见。
1、如果是突出“大型”,mongodb3确实适合。mongodb3改善了集群的能力。
2、从服务器稳定性方面来说,mongodb3确实不错。
3、安全性方面的考虑,mongodb3是能控制安全性的。不一定全部都先存内存,也可以强制存盘的。
凡事有好必有坏,以上3点的代价是成本也相对增加。
SNS虽然总体比不过MMORPG,但是也有相当大的用户群。作为游戏来讲,做得好的话,应该很容易达到大数据级别。所以从这个角度来看,mongodb3还是很必要的。
不过,我看你的意思是想部分使用mongodb来做。如果使用2种以上数据库。
1、在技术方面,数据不好统一维护,势必拖慢开发效率。
2、成本也相对提高,如果是mongodb和sql一起的话,那么在大数据方面,sql将无法承受为了应付大数据而付出的高昂费用。或者sql只承担少部分任务,但是sql很可能要另外配置机器,这也是提高了成本。因为mongodb偏重内存,而sql很可能偏重磁盘容量。
MongoDB 日志太大怎么办
MongoDB的日志增长的很快,/var所在的空间马上就占满了,即便换到另一个磁盘分区保存日志,日志还是增长的很快,磁盘眼看要告磬。
有一个好办法,就是使用旋转日志。
MongoDB的旋转日志有点怪,Linux下mongd服务接受一个kill -SGIUSR1命令后就立刻将当前日志文件重命名为带日期的文件,然后创建新的日志文件。
不想一般的旋转日志,可以配置旋转策略。不过没关系,经过测试,发送该命令时不会影响到MongoDB的服务。
下面是一个例子,先查找进程id, 然后发送命令。
root@jstc:/etc/init.d# ps -def | grep mongod
mongodb 723 1 48 May04 ? 6-22:23:53 /usr/bin/mongod –config /etc/mongodb.conf
root 22035 22012 0 20:22 pts/2 00:00:00 grep –color=auto mongod
root@jstc:/etc/init.d# kill -SIGUSR1 723
root@jstc:/etc/init.d# cd /home/mongodb/log/
root@jstc:/home/mongodb/log# ls
mongodb.log mongodb.log.2014-05-18T12-23-51
root@jstc:/home/mongodb/log# ls -alh
total 20G
drwxrwxrwx 2 root root 4.0K May 18 20:23 .
drwxrwxrwx 4 root root 4.0K Apr 20 21:25 ..
-rw-r–r– 1 mongodb nogroup 34K May 18 20:24 mongodb.log
-rwxrwxrwx 1 mongodb nogroup 20G May 18 20:23 mongodb.log.2014-05-18T12-23-51
现在可以将之前20G的日志文件挪走或者删除了。
也可以自己先个定时脚本,定期发送命令给mongod服务。
【mongodb审计日志】的内容来源于互联网,如引用不当,请联系我们修改。