如何在auth=true时获取到MongoDB的连接数

如何在auth=true时获取到MongoDB的连接数,mongodb,Mongodb,MongoDB版本2.4.5 我在mongodb.conf中启用了auth=true,然后我无法使用db.serverStatus()或mongostat.exe获取到mongodb的连接数。它们是MongoDB的缺陷(https://jira.mongodb.org/browse/SERVER-4977和https://github.com/DataDog/dd-agent/issues/318) 我的问题是:如果您链接的Jira问题是()指的是mongostat工具,与您是否可以从自己的应用

MongoDB版本2.4.5

我在
mongodb.conf
中启用了
auth=true
,然后我无法使用
db.serverStatus()
mongostat.exe
获取到mongodb的连接数。它们是MongoDB的缺陷(
https://jira.mongodb.org/browse/SERVER-4977
https://github.com/DataDog/dd-agent/issues/318

我的问题是:如果您链接的Jira问题是()指的是
mongostat
工具,与您是否可以从自己的应用程序代码或
mongo
shell调用
serverStatus
命令(如果正确验证)无关

如果您在MongoDB 2.4中启用了身份验证,则
serverStatus
命令需要具有身份验证的用户


MongoDB 2.4上的身份验证是在服务器级别启用的,因此一旦启用,所有连接都需要使用适当的用户和角色进行身份验证。

在您的第二个链接中,它说问题已在“是”中解决,但我看到它已针对里程碑3.4.x进行了修复。我在2.4.8上对其进行了测试,但仍然出现了问题。考虑升级吗?谢谢你的回答。我添加了新用户db.addUser({user:“dbadmin 3”,pwd:“dbpasswd3”,角色:[“readWrite”,“clusterAdmin”]})并使用了该用户,但问题仍然存在。>使用dbtest切换到db dbtest>db.auth(“dbadmin3”,“dbpasswd3”)1>db.serverStatus(){“ok”:0,“errmsg”:“unauthorized”}请帮助确认我是否遗漏了某些内容。谢谢。根据
clusterAdmin
角色上的链接信息,您必须在
admin
数据库上授予此权限(并根据
admin
进行身份验证)。你肯定是在对管理员进行身份验证吗?非常感谢Stennie。这是工作。我在数据库
admin
上创建了一个角色为
clusterAdmin
的新用户。然后我连接到
admin
db并执行
db.serverStatus()
。它起作用了。谢谢