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://www.xueling.net.cn/article/gideds.html