MongoDB如日中天,10gen也剛剛拿到了一筆2000萬美圓的融資,可是10gen在全球宣傳MongoDB時,發現人們常常問到這樣一個問題 「What should I be monitoring in production?」(我應該怎麼對MongoDB進行監控呢?),而在此以前,已經有不少非官方的開源系統提供對MongoDB的操做及監控。而今天10gen本身發佈了一款MongoDB監控系統,名爲MMS(MongoDB Monitoring Service)。
據10gen說,本系統的開發,是10gen與世界上各大MongoDB用戶進行了深刻合做,仔細彙總了其需求而完成,會對MongoDB及集羣的全方位監控,將監控數據生成可視化的報表。目前提供免費版和商業版兩種。任何人均可以註冊MMS並享受其免費的服務。
先簡單說下原理:
一、在mms服務器上添加mongodb服務器的ip,端口,user,password.
二、在mongodb服務器所在的內網空閒機器上安裝定製的agent腳本。
三、agent腳本從mms獲取你的服務器Ip及端口等信息,而後鏈接到mongodb服務器獲取必要的監控數據。
四、agent腳本將監控信息上傳到mms服務器,咱們登錄後就能夠查看到相應的信息了。
安裝:
一、到mms.10gen.com註冊一個新的帳號,註冊完成後登錄,到settings下的agent下下載agent腳本。
二、在Hosts項上點擊添加,此處hostname填寫內網IP,port爲mongodb端口,user/password爲用戶名和密碼。
三、把agent腳本上傳到須要跑agent腳本的服務器上。
四、檢查服務器上的python版本,若是是2.6版的就直接運行 nohup python agent.py >/tmp/agent.log 2>&1 &
若是是2.4版的,則須要安裝pymongo,simplejson,hashlib,hmac等包
pymongohttp:http://api.mongodb.org/python/
simplejson:http://pypi.python.org/pypi/simplejson/2.1.0
hashlib:http://pypi.python.org/pypi/hashlib/20081119
hmac:http://pypi.python.org/pypi/hmac
安裝過程:解壓縮,
python setup.py build
python setup.py install
上面4個包若是不安裝的話,啓動後會拋錯,安裝完成後,啓動服務:nohup python agent.py >/tmp/agent.log 2>&1 &
啓動後觀察一會日誌,若是無拋錯,則證實正常。
五、開啓防火牆出口443,
iptables -t filter -A OUTPUT -o eth1 -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
service iptables restart
六、登錄mms.10gen.com,登錄後查看Hosts。
python
到此基本就監控成功了。。感受還不錯,有興趣的能夠研究下。
mongodb