lepus 监控MongoDB 问题
python:2.6.6 操作系统:centos 6.7
用lepus监控mongo 3.2.11,出现了以下两个问题:
一、版本问题
python test_connect_mongodb.py
command SON([('authenticate', 1), ('user', u'admin'), ('nonce', u'b996cae25bd8e3af'),
('key', u'674223b5f7af86b1b5d8041f76374cd6')]) failed: auth failed
(mongo2.7及以下的版本,用户认证加密方式默认是“MONGODB-CR”
mongodb3之后的用户认证加密方式默认改为“SCRAM-SHA-1”,而旧版本的mongo driver(即pymongo)是不支持“SCRAM-SHA-1”这种加密方式,需要更新到2.8版本的pymongo才支持,
所以就算是在旧版本的pymongo下指定认证方式,也是不行的,会报)
方法:重新下载新版本的pymongo(pymongo下载3.3版本的也会报错)
pymongo-2.8.1.tar.gz
tar zxf pymongo-2.8.1.tar.gz
$ cd pymongo-2.8.1/
$ python setup.py install
二 权限问题:
python check_mongodb.py
2017-06-16 14:30:39 [INFO] check mongodb controller started.
2017-06-16 14:30:40 [WARNING] check mongodb 172.16.11.**:27017 : command SON([('serverStatus', 1), ('repl', 2)]) on namespace admin.$cmd failed: not authorized on admin to execute command { serverStatus: 1, repl: 2 }
2017-06-16 14:30:40 [INFO] check mongodb controller finished.
监控用户要又serverStatus权限或者root权限:
创建一个足够权限的用户:db.createUser({user:'root',pwd:'root',roles:[{ "role" : "root", "db" : "admin" }]})
名称栏目:lepus监控mongo问题总结
链接分享:
http://cdweb.net/article/gideds.html