免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2592 | 回复: 1
打印 上一主题 下一主题

[MongoDB] [原创] 《红丸》MongoDB管理与开发精要20.1 性能监控之mongosniff [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-13 22:38 |只看该作者 |倒序浏览
第二十章 性能监控20.1 mongosniff

此工具可以从底层监控到底有哪些命令发送给了MongoDB去执行,从中就可以进行分析:

以root身份执行:

./mongosniff --source NET lo

然后其会监控位到本地以localhost监听默认27017端口的MongoDB的所有包请求,如执行”show  dbs” 操作

[root@localhost bin]# ./mongo
MongoDB shell version: 1.8.1
connecting to: test
> show dbs
admin   0.0625GB
foo     0.0625GB
local   (empty)
test    0.0625GB
>

那么你可以看到如下输出。

[root@localhost bin]# ./mongosniff --source NET lo
sniffing... 27017
127.0.0.1:38500  -->> 127.0.0.1:27017 admin.$cmd  60 bytes  id:537ebe0f 1400815119
        query: { whatsmyuri: 1 }  ntoreturn: 1 ntoskip: 0
127.0.0.1:27017  <<--  127.0.0.1:38500   78 bytes  id:531c3855  1394358357 - 1400815119
        reply n:1 cursorId: 0
        { you: "127.0.0.1:38500", ok: 1.0 }
127.0.0.1:38500  -->> 127.0.0.1:27017 admin.$cmd  80 bytes  id:537ebe10 1400815120
        query: { replSetGetStatus: 1, forShell: 1 }  ntoreturn: 1 ntoskip: 0
127.0.0.1:27017  <<--  127.0.0.1:38500   92 bytes  id:531c3856  1394358358 - 1400815120
        reply n:1 cursorId: 0
        { errmsg: "not running with --replSet", ok: 0.0 }
127.0.0.1:38500  -->> 127.0.0.1:27017 admin.$cmd  67 bytes  id:537ebe11 1400815121
        query: { listDatabases: 1.0 }  ntoreturn: -1 ntoskip: 0
127.0.0.1:27017  <<--  127.0.0.1:38500   293 bytes  id:531c3857 1394358359 - 1400815121
        reply n:1 cursorId: 0
        { databases: [ { name: "foo", sizeOnDisk: 67108864.0, empty: false }, { name: "test", sizeOnDisk: 67108864.0, empty: false }, { name: "admin", sizeOnDisk: 67108864.0, empty: false }, { name: "local", sizeOnDisk: 1.0, empty: true } ], totalSize: 201326592.0, ok: 1.0 }
127.0.0.1:38500  -->> 127.0.0.1:27017 admin.$cmd  80 bytes  id:537ebe12 1400815122
        query: { replSetGetStatus: 1, forShell: 1 }  ntoreturn: 1 ntoskip: 0
127.0.0.1:27017  <<--  127.0.0.1:38500   92 bytes  id:531c3858  1394358360 - 1400815122
        reply n:1 cursorId: 0
        { errmsg: "not running with --replSet", ok: 0.0 }

如果将这些输出到一个日志文件中,那么就可以保留下所有数据库操作的历史记录,对于后期的性能分析和安全审计等工作将是一个巨大的贡献。

免费IT培训(ChinaDBA.net)实践者!学费1元,全捐公益

论坛徽章:
0
2 [报告]
发表于 2012-09-17 09:44 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP