mongodb分片集群日志的连接定位
phpcn_u1582
phpcn_u1582 2017-05-02 09:25:04
[MongoDB讨论组]

如何从mongodb的日志片段“I COMMAND [conn10217]” 中的conn10217定位到是那个mongos连接过来的发起的command请求,能定位到是哪个服务器(ip)上过来的请求。

phpcn_u1582
phpcn_u1582

全部回复(1)
怪我咯

1.通过查看mongodb的源代码,在客户端线程初始化中有这样一处代码。

string fullDesc = desc;
if ( str::equals( "conn" , desc ) && mp != NULL )
    fullDesc = str::stream() << desc << mp->connectionId();

2.从源代码中可以看出conn后面的数字是内部的分配的连接id,且通过观察mongodb的启动日志发现这个id是从1开始每次递增1,在日志会打出对端的信息(ip:port)和#后的connectionId。

3.综上只需要过滤mongodb的日志mongod.log(我这里的日志文件名命名为:mongod.log)即可定位是哪个主机发过来的命令,命令如下:

cat mongod.log | grep accept | grep "#10217"

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号