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