使用MMS(MongoDB Monitoring Service)監控MongoDB

一.MongoDB簡介html

MongoDB是一個基於分佈式文件存儲的數據庫。由C++語言編寫。旨在爲WEB應用提供可擴展的高性能數據存儲解決方案。python

它的特色是高性能、易部署、易使用,存儲數據很是方便。主要功能特性有:linux

*面向集合存儲,易存儲對象類型的數據。mongodb

*模式自由。數據庫

*支持動態查詢windows

*支持徹底索引,包含內部對象。服務器

*支持查詢。網絡

*支持複製和故障恢復。分佈式

*使用高效的二進制數據存儲,包括大型對象(如視頻等)。工具

*自動處理碎片,以支持雲計算層次的擴展性。

*支持RUBYPYTHONJAVAC++PHPC#等多種語言。

*文件存儲格式爲BSON(一種JSON的擴展)。

*可經過網絡訪問。

 

2、監控工具

近幾年因爲大數據的興起,在實際工做中咱們對非關係型和大數據量的處理愈來愈多,mongoDB因爲容易使用,在國內不少項目已經大量使用。它能夠安裝在windows和linux平臺。可是以前因爲監控工具的不完善,你們在對數據庫的監控上一直沒有太好的手段,基本使用cacti、nagos、zabbx或者mongodb以前提供的mongostat,詳細用法能夠參照以下:

http://www.cnblogs.com/renyb/archive/2013/01/18/2866632.html

 

可是10gen(MongoDB官方)認識到以前的工具的配置和使用都有很大的侷限,2011年發佈了官方的監控程序,叫作MMS(MongoDB Monitoring Service),目前此版本已經至關成熟而且圖形化界面作得很是好。

其工做原理以下:

  • 在MMS服務器上配置你的MongoDB信息(Host,Port,User,Passwd等)
  • 在一臺可以訪問你MongoDB服務的內網機器上運行其提供的Agent腳本
  • Agent腳本從MMS服務器獲取到你配置的MongoDB信息
  • Agent腳本鏈接到相應的MongoDB獲取必要的監控數據
  • Agent腳本將監控數據上傳到MMS的服務器
  • 登陸MMS網站查看整理事後的監控數據圖表了

另外多提一句,此監控工具的手機版已經發布,能夠在google play商城上下載,名字叫作MongoDB Management Service(MMS),可是play比較煩人只能安裝不能下載,我試了幾回都沒有成功下載,有能下載的能夠貢獻個apk給你們。

 

3、MMS安裝部署

MMS的監控內容其實很不錯,還支持硬件監控,可是須要MongoDB運行在linux主機上,因爲目前個人環境是在windows平臺上,沒有現成的環境,下面就主要介紹在windows下的安裝部署,後續有機會在實驗在linux上的部署。固然官方有安裝說明。

  1. 安裝python

下載安裝python (Python 2.7.5 Windows X86-64 Installer   3.3的貌似不能夠用,優先安裝64位的)
http://www.python.org/getit/

  1. 安裝pymongo

注意pymongo的版本須要和pythonpython一致,如
pymongo-2.5.2.win-amd64-py2.7.exe 必須是與python對應的版本

https://pypi.python.org/pypi/pymongo/#downloads

  1. 下載10gen-mms-agent-[group].zip

使用mms首先須要登陸到mms.mongodb.com去註冊一個組,而後再組中增長主機等信息。系統會自動生成包含這個組的配置信息的專用的Monitoring Agent,下載。

  1. 配置PowerShell 

Win7默認是安裝的。若是沒有安裝請單獨下載。

執行 Get-Host 查看當前PowerShell的版本
執行 Get-ExecutionPolicy 查看執行策略限制,默認通常是Restricted
執行 Set-ExecutionPolicy -ExecutionPolicy Unrestricted 解除執行策略限制

  1. 運行agent

執行下載的agent中的mongommsinstall.bat安裝mms服務,成功後在服務中能夠看到名稱爲mms的服務。

4、監控

1.填寫host信息

  本地mms服務啓動後,在mms官網登錄後填寫:

Host Type 主機類型
Internal Hostname 主機地址(相對於agent的地址,能夠是localhost,192.168.x.x,也能夠是域名和公網地址)
Port 端口號
DB Username 帳戶名(可選,admin庫的帳戶名)
DB Password 密碼(可選,admin庫的密碼)

 

2.數據同步

 等待大約10分鐘,就可看到數據了。

 

 5、使用說明

     網上的不少資料也都僅僅侷限在安裝,對具體的內容沒有作詳細的說明。這裏我僅僅記錄下這2天發現的一些tip。

  1. 一個組能夠配置多主機,以前是隻能一個組有一臺主機,可是10gen立刻認識到本身的問題,使用mongodb怎麼可能只有一臺主機,起碼也是主從啊,索引如今能夠配置多臺主機。
  2. 提醒

Agent中止,在頁面最上面右側會有專門的提醒。

Db down掉按道理也應該有提醒,可是因爲目前沒有配置硬件監控,看不到硬件的圖形,可是在常規圖形監控中發現了一個頗有趣的東西,上圖:

 

在上圖中的紅色豎線就是我單獨測試db down掉的狀況,看來mms仍是能很快捕捉到數據庫的異常。固然在上面能夠設置刷新間隔爲1分鐘,5分鐘,1小時,1天等等,查看維度是隨着刷新間隔自動關聯的,也能夠靈活設定。

 

下一篇我會對監控的內容進行詳細說明,若是你們喜歡能夠支持下。

相關文章
相關標籤/搜索