MongoDB 使用技巧记录(三)
一:操作记录
mongos> db.kaiser_log_20171205.aggregate([{$match:{"time":{$gt:"2017-12-05 00:00:00",$lt:"2017-12-05 23:59:59"}}},{$group : {_id : {"system":"$system","level":"$level","id":"$id","appId":"$appId"},count : {$sum : 1}}}]);
{ "_id" : { "system" : "UserCenter", "level" : "info", "id" : "00000", "appId" : "100000017" }, "count" : 1 }
{ "_id" : { "system" : "SingleCenter", "level" : "error", "id" : "00000", "appId" : "0" }, "count" : 19 }
{ "_id" : { "system" : "PayCenter", "level" : "info", "id" : "10012", "appId" : "0" }, "count" : 302 }
{ "_id" : { "system" : "PayCenter", "level" : "error", "id" : "00000", "appId" : "0" }, "count" : 4 }
{ "_id" : { "system" : "UserCenter", "level" : "error", "id" : "00000", "appId" : "100000020" }, "count" : 205 }
{ "_id" : { "system" : "UserCenter", "level" : "info", "id" : "00000", "appId" : "100000020" }, "count" : 607 }
{ "_id" : { "system" : "UserCenter", "level" : "exception", "id" : "10000", "appId" : "0" }, "count" : 154 }
{ "_id" : { "system" : "SingleCenter", "level" : "info", "id" : "00000", "appId" : "0" }, "count" : 38 }
{ "_id" : { "system" : "LoginCenter", "level" : "error", "id" : "00000", "appId" : "0" }, "count" : 4 }
{ "_id" : { "system" : "PayCenter", "level" : "error", "id" : "10001", "appId" : "100000020" }, "count" : 2 }
{ "_id" : { "system" : "PayCenter", "level" : "info", "id" : "00000", "appId" : "0" }, "count" : 22 }
{ "_id" : { "system" : "PayCenter", "level" : "error", "id" : "00000", "appId" : "100000020" }, "count" : 2 }
导出mongodb 为json 文件
./mongoexport --host 10.66.221.220 --port 27017 -ukaiser_loguser -pkaiserlog2017 --authenticationDatabase admin -d kaiser_log -c
kaiser_log_20171204 -o /data/mongodb/tmp/kslog.20171104.json
./mongoexport --host 10.66.221.220 --port 27017 -ukaiser_loguser -pkaiserlog2017 --authenticationDatabase admin -d kaiser_log -c
kaiser_log_20171205 -o /data/mongodb/tmp/kslog.20171105.json
统计指定内容的条数
db.kaiser_log_20171204.aggregate([{$match:{"time":{$gt:"2017-12-04 00:00:00",$lt:"2017-12-04 23:59:59"}}},{$group : {_id : {"system":"$system","level":"error"},count : {$sum : 1}}}]);
db.kaiser_log_20171204.aggregate([{$match:{"time":{$lt:"2017-12-04 19:11:00",$gt:"2017-12-04 18:50:50"}}},{$group : {_id : {"system":"$system","ip":"$ip","message":"$message","level":"error"},count : {$sum : 1}}}]);
db.kaiser_log_20171205.aggregate([{$match:{"time":{$gt:"2017-12-05 08:11:00",$lt:"2017-12-05 09:30:50"}}},{$group : {_id : {"system":"$system","ip":"$ip","message":"$message","level":"error"},count : {$sum : 1}}}]);
统计 level 为 error 的1天分类日志记录数
db.kaiser_log_20171205.aggregate([{$match:{"time":{$gt:"2017-12-05 00:00:00",$lt:"2017-12-05 23:59:59"}}},{$group : {_id : {"system":"$system","level":"error"},count : {$sum : 1}}}]);
> db.kaiser_log_monitor.aggregate([{$group : {_id : {"system":"$system"},count : {$sum : 1}}}]);
{ "_id" : { "system" : "UserCenter" }, "count" : 11 }
> db.kaiser_log_monitor.aggregate([{$group : {_id : {"system":"$system","ip":"$ip","message":"$message"},count : {$sum : 1}}}]);
{ "_id" : { "system" : "UserCenter", "ip" : "10.10.20.155", "message" : "游客登录,签名错误" }, "count" : 10 }
{ "_id" : { "system" : "UserCenter", "ip" : "10.10.20.155", "message" : "找回密码,数据库保存失败" }, "count" : 1 }
>
> db.kaiser_log_monitor.find({"level":"monitor","time":{$lt:"2017-05-26 07:45:55",$gt:"2017-05-26 07:45:53"}},
{system:1,time:1,ip:1,message:1,_id:0}).pretty();
{
"system" : "UserCenter",
"time" : "2017-05-26 07:45:54",
"ip" : "10.10.20.155",
"message" : "游客登录,签名错误"
}
{
"system" : "UserCenter",
"time" : "2017-05-26 07:45:54",
"ip" : "10.10.20.155",
"message" : "游客登录,签名错误"
}
{
"system" : "UserCenter",
"time" : "2017-05-26 07:45:54",
"ip" : "10.10.20.155",
"message" : "游客登录,签名错误"
}
>
> db.kaiser_log_monitor.aggregate([{$group : {_id : {"system":"$system","ip":"$ip","message":"$message","time":"$time"},count : {$sum :
1}}}]);
{ "_id" : { "system" : "UserCenter", "ip" : "10.10.20.155", "message" : "游客登录,签名错误", "time" : "2017-05-26 07:45:55" }, "count" :
3 }
{ "_id" : { "system" : "UserCenter", "ip" : "10.10.20.155", "message" : "游客登录,签名错误", "time" : "2017-05-26 07:45:54" }, "count" :
3 }
{ "_id" : { "system" : "UserCenter", "ip" : "10.10.20.155", "message" : "游客登录,签名错误", "time" : "2017-05-26 07:45:56" }, "count" :
1 }
{ "_id" : { "system" : "UserCenter", "ip" : "10.10.20.155", "message" : "游客登录,签名错误", "time" : "2017-05-26 07:45:49" }, "count" :
1 }
{ "_id" : { "system" : "UserCenter", "ip" : "10.10.20.155", "message" : "游客登录,签名错误", "time" : "2017-05-26 07:45:53" }, "count" :
2 }
{ "_id" : { "system" : "UserCenter", "ip" : "10.10.20.155", "message" : "找回密码,数据库保存失败", "time" : "2017-05-26 07:44:52" },
"count" : 1 }
>
db.term.aggregate([
{$match:{library_id:3607}},
{$limit:5},
{$group:{_id:"$version", count: {$sum:1}}},
{$sort:{count:-1}}
])
> db.kaiser_log_monitor.aggregate([{$match:{"time":{$lt:"2017-05-26 07:45:55",$gt:"2017-05-26 07:45:53"}}},{$group : {_id :
{"system":"$system","ip":"$ip","message":"$message"},count : {$sum : 1}}}]);
{ "_id" : { "system" : "UserCenter", "ip" : "10.10.20.155", "message" : "游客登录,签名错误" }, "count" : 3 }