10gen发布MongoDB监控系统MMS(附使用教程)

MongoDB如日中天,10gen也刚刚拿到了一笔2000万美元的融资,但是10gen在全球宣传MongoDB时,发现人们经常问到这样一个问题“What should I be monitoring in production?”(我应该怎么对MongoDB进行监控呢?),而在此之前,已经有很多非官方的开源系统提供对MongoDB的操作及监控。而今天10gen自己发布了一款MongoDB监控系统,名为MMSMongoDB Monitoring Service)。

10月20日更新:10gen刚刚发布了MMS的Android客户端,在market上搜索“MongoDB”既可找到。

据10gen说,本系统的开发,是10gen与世界上各大MongoDB用户进行了深入合作,仔细汇总了其需求而完成,会对MongoDB及集群的全方位监控,将监控数据生成可视化的报表。目前提供免费版和商业版两种。任何人都可以注册MMS并享受其免费的服务。

其原理及流程如下:

  • 在MMS服务器上配置你的MongoDB信息(Host,Port,User,Passwd等)
  • 在一台能够访问你MongoDB服务的内网机器上运行其提供的Agent脚本
  • Agent脚本从MMS服务器获取到你配置的MongoDB信息
  • Agent脚本连接到相应的MongoDB获取必要的监控数据
  • Agent脚本将监控数据上传到MMS的服务器
  • 登录MMS网站查看整理过后的监控数据图表了

各位用MongoDB的兄弟,还在等什么,赶紧尝鲜吧。

下面是具体的注册安装流程:

注册

首先到注册页填定你的注册信息

点击Register按钮完成注册后就跳转到控制面板了

添加监控项目

点击页面顶部Hosts旁边的的+按钮就会弹出添加监控项的面板,添加服务的Host、Port、用户名和密码等项。

填写完成,点击Add按钮,就会直接添加一条监控记录。这里有两点需要注意

  • 1.这里的HostName填子网IP即可,MongoDB当然考虑到了我们可能将存储部署在仅见无法访问的机器的
  • 2.这里添加的只是一个记录,还需要进一步在自己机器上部署用于收集信息的Deamon才行(这个Deamon会从MMS获取你刚刚添加的配置信息,然后去相应的MongoDB获取监控数据再上传到MMS的服务器)

运行监控Agent

下面我们需要部署监控程序,点击网站面板顶部的Settings,选择下面的Agent,点击Download下载Agent程序。这个zip包是一个为你定制的包,其中有一个settings.py 文件,记录了一些设置信息,其中最重要的是mms_key和secret_key,这两项是你服务的api key和相应的secret。如无意外,不需要修改此文件,如果这两项为空,可以在Settings页面点API Key和Secret Key获取到并填入settings.py文件。

#
# Enter your API key  - See: http://mms.10gen.com/settings
#
mms_key = "*********yourmmskey"

secret_key = "********yoursecretkey"

Agent程序是一个Python程序,使用pymongo连接MongoDB,所以必须先安装pymongo,如果你是Python2.4版本,可能还需要安装simplejson,hashlib,hmac等几个包,具体可以在启动报错里查看,或者查看Agent程序里的README文件,一般通过Python的easy_install工具都能够直接安装,当所有东西都安装完成,你就可以运行:

nohup python agent.py >> /tmp/agent.log &

运行agent,日志存在 /tmp/agent.log 文件中。

如果日志显示成功运行,那么你一会就能在MMS的网站上点击相应的host查看具体的数据统计信息了。其中包括了对操作数、内存磁盘使用、连接状况、网络IO等多个方面的图形化统计。非常直观方便。

anyShare据说看到好文章不转的人,服务器容易宕机!
          

无觅相关文章插件,快速提升流量

    • 这个是能用来监控一下自己私人的机器,不敢用来监控公司机器上运行的mongodb

      • 这个其实还行,他的agent就是一个python程序,可以看一看有没有其它不安全的操作,如果只是取serverStatus之类的东西,取了其实也不会有什么机密泄露。

  1. 我的mongodb服务器在内网,无法连接到互联网,应该如何使用mms呢?

    • mms是提交数据到mms官方的,不是mms的官方服务器来查你的server,所以只要你的服务器能访问外网就行。

      • 现在就是访问不了外网,公司限制数据库服务器只能通过内网访问。