mongodb4.2.8 认证集群分片模式开启慢查询

阅读: 评论:0

mongodb4.2.8 认证集群分片模式开启慢查询

mongodb4.2.8 认证集群分片模式开启慢查询

 mongdb官方文档有点语焉不详 网上的流程没有关于开启了认证或者分片模式的 特记录如下 

mongodb默认情况下是不开启慢查询的  需要开启慢查询的话可以在启动命令后面添加参数

--profile 1 --slowms 3000

完整的命令就像这样

mongod -f /data/mongodb-4.2.8/f --profile 1 --slowms 3000 

--profile 1 1的意思是开启慢查询分析器  同样的还有0 和2  两个参数 0是关闭 2是收集任何信息

--slowms 是阈值  单位是ms  30000就是半分钟

也可以通过命令行去开启 

db.setProfilingLevel(1, { slowms: 30000 })

这样重启之后就开启了慢查询了  每个实例都需要这个步骤  mongos上无法统一开启

config集群应该是不需要开启这个参数 的。。应该没必要分析config的慢查询 。估计也没有  数据量很少

注意mongos上通过命令行是无法开启慢查询的 只能调整慢查询的阈值 ,虽然数据是经由mongos去查询的 慢查询则无法通过mongos去查看 

如果在mongos上操作 应该会报这个错误

"Profiling is not permitted on mongoS: the 'profile' field should be 0 to change 'slowms' and 'sampleRate' settings for logging, or -1 to view current values"

认证集群通常都是直接在mongos上完成的认证 查询慢查询日志的时候会发现在单独的实例上无法认证通过  正确的账密永远报错

其实是因为实例本身也有单独的认证。。这个时候在实例上创建root帐号就行了

use admin

 db.createUser({user: "root",pwd: "xxxxxxx", roles: [ { role: "root", db: "admin" } ]})

然后就可以

查看慢查询的设置情况

分析器数据查询示例

要返回system.profile 集合中最近的 10 个日志条目,请运行类似于以下内容的查询:

db.system.profile.find().limit(10).sort( { ts : -1 } ).pretty()

要返回特定集合的操作,请运行类似于以下内容的查询。此示例返回mydb数据库 test集合中的操作:

db.system.profile.find( { ns : &#st' } ).pretty()

要返回特定时间范围内的信息,请运行类似于以下内容的查询:

db.system.profile.find({
  ts : {
    $gt: new ISODate("2012-12-09T03:00:00Z"),
    $lt: new ISODate("2012-12-09T03:40:00Z")
  }
}).pretty()

更多的内容可以参阅 

Database Profiler — MongoDB Manual

本文发布于:2024-02-02 02:21:02,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170681466640766.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:集群   分片   模式
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23