使用MMS(MongoDB Monitoring Service)监控MongoDB
一.MongoDB簡(jiǎn)介:
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。
它的特點(diǎn)是高性能、易部署、易使用,存儲(chǔ)數(shù)據(jù)非常方便。主要功能特性有:
*面向集合存儲(chǔ),易存儲(chǔ)對(duì)象類型的數(shù)據(jù)。
*模式自由。
*支持動(dòng)態(tài)查詢。
*支持完全索引,包含內(nèi)部對(duì)象。
*支持查詢。
*支持復(fù)制和故障恢復(fù)。
*使用高效的二進(jìn)制數(shù)據(jù)存儲(chǔ),包括大型對(duì)象(如視頻等)。
*自動(dòng)處理碎片,以支持云計(jì)算層次的擴(kuò)展性。
*支持RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
*文件存儲(chǔ)格式為BSON(一種JSON的擴(kuò)展)。
*可通過網(wǎng)絡(luò)訪問。
二、監(jiān)控工具
近幾年由于大數(shù)據(jù)的興起,在實(shí)際工作中我們對(duì)非關(guān)系型和大數(shù)據(jù)量的處理越來越多,mongoDB由于容易使用,在國內(nèi)很多項(xiàng)目已經(jīng)大量使用。它可以安裝在windows和linux平臺(tái)。但是之前由于監(jiān)控工具的不完善,大家在對(duì)數(shù)據(jù)庫的監(jiān)控上一直沒有太好的手段,基本使用cacti、nagos、zabbx或者mongodb之前提供的mongostat,詳細(xì)用法可以參照如下:
http://www.cnblogs.com/renyb/archive/2013/01/18/2866632.html
但是10gen(MongoDB官方)認(rèn)識(shí)到之前的工具的配置和使用都有很大的局限,2011年發(fā)布了官方的監(jiān)控程序,叫做MMS(MongoDB Monitoring Service),目前此版本已經(jīng)相當(dāng)成熟并且圖形化界面做得非常好。
其工作原理如下:
在MMS服務(wù)器上配置你的MongoDB信息(Host,Port,User,Passwd等)
在一臺(tái)能夠訪問你MongoDB服務(wù)的內(nèi)網(wǎng)機(jī)器上運(yùn)行其提供的Agent腳本
Agent腳本從MMS服務(wù)器獲取到你配置的MongoDB信息
Agent腳本連接到相應(yīng)的MongoDB獲取必要的監(jiān)控?cái)?shù)據(jù)
Agent腳本將監(jiān)控?cái)?shù)據(jù)上傳到MMS的服務(wù)器
登錄MMS網(wǎng)站查看整理過后的監(jiān)控?cái)?shù)據(jù)圖表了
另外多提一句,此監(jiān)控工具的手機(jī)版已經(jīng)發(fā)布,可以在google play商城上下載,名字叫做MongoDB Management Service(MMS),但是play比較煩人只能安裝不能下載,我試了幾次都沒有成功下載,有能下載的可以貢獻(xiàn)個(gè)apk給大家。
三、MMS安裝部署
MMS的監(jiān)控內(nèi)容其實(shí)很不錯(cuò),還支持硬件監(jiān)控,但是需要MongoDB運(yùn)行在linux主機(jī)上,由于目前我的環(huán)境是在windows平臺(tái)上,沒有現(xiàn)成的環(huán)境,下面就主要介紹在windows下的安裝部署,后續(xù)有機(jī)會(huì)在實(shí)驗(yàn)在linux上的部署。當(dāng)然官方有安裝說明。
安裝python
下載安裝python (Python
2.7.5 Windows X86-64 Installer 3.3的貌似不可以用,優(yōu)先安裝64位的)
http://www.python.org/getit/
安裝pymongo
注意pymongo的版本需要和pythonpython一致,如
pymongo-2.5.2.win-amd64-py2.7.exe 必須是與python對(duì)應(yīng)的版本
https://pypi.python.org/pypi/pymongo/
下載10gen-mms-agent-[group].zip
使用mms首先需要登錄到mms.mongodb.com去注冊(cè)一個(gè)組,然后再組中增加主機(jī)等信息。系統(tǒng)會(huì)自動(dòng)生成包含這個(gè)組的配置信息的專用的Monitoring Agent,下載。
配置PowerShell
Win7默認(rèn)是安裝的。如果沒有安裝請(qǐng)單獨(dú)下載。
執(zhí)行 Get-Host 查看當(dāng)前PowerShell的版本
執(zhí)行
Get-ExecutionPolicy 查看執(zhí)行策略限制,默認(rèn)一般是Restricted
執(zhí)行
Set-ExecutionPolicy -ExecutionPolicy Unrestricted 解除執(zhí)行策略限制
運(yùn)行agent
執(zhí)行下載的agent中的mongommsinstall.bat安裝mms服務(wù),成功后在服務(wù)中可以看到名稱為mms的服務(wù)。
四、監(jiān)控
1.填寫host信息
本地mms服務(wù)啟動(dòng)后,在mms官網(wǎng)登陸后填寫:
Host Type 主機(jī)類型
Internal Hostname 主機(jī)地址(相對(duì)于agent的地址,可以是localhost,192.168.x.x,也可以是域名和公網(wǎng)地址)
Port 端口號(hào)
DB Username 賬戶名(可選,admin庫的賬戶名)
DB Password 密碼(可選,admin庫的密碼)
2.數(shù)據(jù)同步
等待大約10分鐘,就可看到數(shù)據(jù)了。
五、使用說明
網(wǎng)上的很多資料也都僅僅局限在安裝,對(duì)具體的內(nèi)容沒有做詳細(xì)的說明。這里我僅僅記錄下這2天發(fā)現(xiàn)的一些tip。
一個(gè)組可以配置多主機(jī),之前是只能一個(gè)組有一臺(tái)主機(jī),但是10gen馬上認(rèn)識(shí)到自己的問題,使用mongodb怎么可能只有一臺(tái)主機(jī),起碼也是主從啊,索引現(xiàn)在可以配置多臺(tái)主機(jī)。
提醒
Agent停止,在頁面最上面右側(cè)會(huì)有專門的提醒。
Db down掉按道理也應(yīng)該有提醒,但是由于目前沒有配置硬件監(jiān)控,看不到硬件的圖形,但是在常規(guī)圖形監(jiān)控中發(fā)現(xiàn)了一個(gè)很有趣的東西,上圖:
在上圖中的紅色豎線就是我單獨(dú)測(cè)試db down掉的情況,看來mms還是能很快捕捉到數(shù)據(jù)庫的異常。當(dāng)然在上面可以設(shè)置刷新間隔為1分鐘,5分鐘,1小時(shí),1天等等,查看維度是隨著刷新間隔自動(dòng)關(guān)聯(lián)的,也可以靈活設(shè)定。
下一篇我會(huì)對(duì)監(jiān)控的內(nèi)容進(jìn)行詳細(xì)說明,如果大家喜歡可以支持下。
總結(jié)
以上是生活随笔為你收集整理的使用MMS(MongoDB Monitoring Service)监控MongoDB的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: input[tyle="fil
- 下一篇: 土壤湿度传感器YL69使用