设为首页 收藏本站
查看: 3955|回复: 0

[经验分享] mongodb监控工具mongosniff

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-22 08:59:54 | 显示全部楼层 |阅读模式
介绍

mongosniff提供了对数据库实时活动的低级别操作跟踪和嗅探视图。可以将mongosniff认为是专为MongoDB定制的,类似于tcpdump用于TCP/IP网络流量分析。mongosniff常用于驱动开发。

注意:mongosniff需要libpcap,并且只对类Unix系统可用。

相对于mongosniff,Wireshark,一个流行的网络嗅探工具,可用于侦测和解析MongoDB线协议。

用法

下面的命令连接到运行在localhost的27017和27018上的mongod或mongos:   

1
mongosniff --source NET lo 27017 27018




下面的命令只记录运行在localhost的27018上的mongod或mongos的无效的BSON对象,用于驱动开发和问题跟踪:   

1
mongosniff --objcheck --source NET lo 27018




实践
1
2
[iyunv@test ~]# mongosniff --help   
mongosniff: error while loading shared libraries: libpcap.so.0.9: cannot open shared object file: No such file or directory




1
2
[iyunv@test ~]# which mongosniff   
/usr/bin/mongosniff




1
2
3
4
5
6
7
8
9
10
[iyunv@test ~]# ldd /usr/bin/mongosniff   
        linux-vdso.so.1 =>  (0x00007fffe2d7a000)   
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003558e00000)   
        librt.so.1 => /lib64/librt.so.1 (0x0000003559200000)   
        libpcap.so.0.9 => not found   
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003559e00000)   
        libm.so.6 => /lib64/libm.so.6 (0x0000003559600000)   
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000355a600000)   
        libc.so.6 => /lib64/libc.so.6 (0x0000003558a00000)   
        /lib64/ld-linux-x86-64.so.2 (0x0000003558200000)




可以看出libpcap.so.0.9 => not found并没有找到。

1
2
3
4
[iyunv@test ~]# cd /usr/lib64   
[iyunv@test lib64]# ls -al | grep libpcap   
lrwxrwxrwx.  1 root root      16 Feb 26 17:28 libpcap.so.1 -> libpcap.so.1.4.0   
-rwxr-xr-x   1 root root  260880 Nov 22  2013 libpcap.so.1.4.0




添加软连接。

1
[iyunv@test lib64]# ln -s /usr/lib64/libpcap.so.1.4.0 /usr/lib64/libpcap.so.0.9




再次查看帮助。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@test lib64]# mongosniff --help   
Usage: mongosniff [--help] [--forward host:port] [--source (NET <interface> | (FILE | DIAGLOG) <filename>)] [<port0> <port1> ... ]   
--forward       Forward all parsed request messages to mongod instance at     
                specified host:port   
--source        Source of traffic to sniff, either a network interface or a   
                file containing previously captured packets in pcap format,   
                or a file containing output from mongod's --diaglog option.   
                If no source is specified, mongosniff will attempt to sniff   
                from one of the machine's network interfaces.   
--objcheck      Log hex representation of invalid BSON objects and nothing   
                else.  Spurious messages about invalid objects may result   
                when there are dropped tcp packets.   
<port0>...      These parameters are used to filter sniffing.  By default,     
                only port 27017 is sniffed.   
--help          Print this help message.




抓包:

1
[iyunv@test lib64]# /usr/bin/mongosniff --source NET bond0 > /var/log/currentOp/sniff.log




下面是sniff.log中的部分内容:

1
2
10.10.0.1:55553  -->> 10.10.0.2:27017 MyTest.Pro  1042 bytes  id:41d99     269721   
        query: { $query: { id: { $in: [ 380, 383 ] }, Availability.Status: { $lt: 5 }, $or: [ { id: { $lt: 331 } }, { id: { $gt: 200, $lt: 400 } }, { id: { $gt: 600, $lt: 800 } } ] }, $orderby: { Availability.Status: 1 } }  ntoreturn: 0 ntoskip: 0 hasfields SlaveOk



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-69387-1-1.html 上篇帖子: Mongodb主从辅助 下篇帖子: MongoDB分片集群 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表