AIOps 一场颠覆传统运维的盛筵
660
2023-02-13
MMS 代理权限验证需求(12)
mongodb admin数据库定义所有用户账号。
本节主要正对mongodb2.4和mongodb2.6版本来说的。
MMS 监控
MongoDB 2.6
监控mongodb2.6实例,代理用户必需要有clusterMonitor角色。
1 2 3 4 5 6 | useadmin db.createUser({user:"<username>", pwd:"<password>", roles:[ {role:"clusterMonitor",db:"admin"} ]}) |
此外,为了与2.4版本兼容,代理可能尝试查询local数据库。只授予clusterMonitor 角色,mongodb日志中会产生验证错误的信息,代理可以从这个错误中恢复,可以放心地忽略这些消息。
MongoDB 2.4
要监控mongodb2.4实例,代理用户必需要以下权限:
clusterAdminreadAnyDatabase
1 2 3 4 5 | useadmin db.addUser({user:"<username>", pwd:"<password>", roles:["clusterAdmin", "readAnyDatabase"]}) |
如果不希望MMS收集profile数据,可以忽略该信息。如果需要收集,就赋予该权限。
MMS Monitoring with Database Profiling
Profiling 可以捕获正在进行的读写操作,cursor 操作和有关数据库的数据库命令的信息。
MongoDB 2.6
带数据库profiling监控2.6版本需要clusterMonitor 角色权限。
1 2 3 4 | useadmin db.createUser({user:"<username>", pwd:"<password>", roles:[{role:"clusterMonitor",db:"admin"}]}) |
MongoDB 2.4
带数据库profiling监控2.4版本需要以下角色权限:
clusterAdminreadAnyDatabasedbAdminAnyDatabase
1 2 3 4 5 6 7 | useadmin db.addUser({user:"<username>", pwd:"<password>", roles:["clusterAdmin", "readAnyDatabase", "dbAdminAnyDatabase" ]}) |
MMS Monitoring without dbStats
监控没有dbStats会产生监控数据没有数据库存储,记录,索引和其他数据的统计。也就是不会收集到dbStats下的数据。
MongoDB 2.6
clusterMonitor 角色包含执行dbStats操作的权限。
1 2 3 4 | useadmin db.createUser({user:"<username>", pwd:"<password>", roles:[{role:"clusterMonitor",db:"admin"}]}) |
MongoDB 2.4
监控2.4版本需要clusterAdmin 角色权限。
1 2 3 4 | useadmin db.addUser({user:"<username>", pwd:"<password>", roles:["clusterAdmin"]}) |
MMS 备份
MongoDB 2.6
要备份的MongoDB2.6实例,备份代理需要以下权限:
clusterAdminreadAnyDatabaseuserAdminAnyDatabase
同时,还需要以下的角色:
readWrite 对local库的角色readWrite 对admin库的角色
1 2 3 4 5 6 7 8 | useadmin db.createUser({user:"<username>", pwd:"<password>", roles:["clusterAdmin","readAnyDatabase", "userAdminAnyDatabase", {role:"readWrite",db:"admin"}, {role:"readWrite",db:"local"}, ]}) |
MongoDB 2.4
要备份的MongoDB2.4实例,备份代理需要以下权限:
clusterAdminreadAnyDatabaseuserAdminAnyDatabase
同时,还需要以下的角色:
readWrite 对local库的角色readWrite 对admin库的角色
1 2 3 4 5 6 7 8 9 | useadmin db.addUser({user:"<username>", pwd:"<password>", roles:["clusterAdmin", "readAnyDatabase", "userAdminAnyDatabase" ], otherDBRoles:{local:['readWrite'], admin:['readWrite']}}) |
发表评论
评论列表