使用MMS(MongoDB Monitoring Service)监控MongoDB
使用MMS(MongoDB Monitoring Service)监控MongoDB
一.MongoDB简介:
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。
二、监控工具
近几年由于大数据的兴起,在实际工作中我们对非关系型和大数据量的处理越来越多,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给大家。
三、MMS安装部署
MMS的监控内容其实很不错,还支持硬件监控,但是需要MongoDB运行在linux主机上,由于目前我的环境是在windows平台上,没有现成的环境,下面就主要介绍在windows下的安装部署,后续有机会在实验在linux上的部署。当然官方有安装说明。
- 安装python
下载安装python (Python 2.7.5 Windows X86-64 Installer 3.3的貌似不可以用,优先安装64位的)
http://www.python.org/getit/
- 安装pymongo
注意pymongo的版本需要和pythonpython一致,如
pymongo-2.5.2.win-amd64-py2.7.exe 必须是与python对应的版本
https://pypi.python.org/pypi/pymongo/#downloads
- 下载10gen-mms-agent-[group].zip
使用mms首先需要登录到mms.mongodb.com去注册一个组,然后再组中增加主机等信息。系统会自动生成包含这个组的配置信息的专用的Monitoring Agent,下载。
- 配置PowerShell
Win7默认是安装的。如果没有安装请单独下载。
执行 Get-Host 查看当前PowerShell的版本
执行 Get-ExecutionPolicy 查看执行策略限制,默认一般是Restricted
执行 Set-ExecutionPolicy -ExecutionPolicy Unrestricted 解除执行策略限制
- 运行agent
执行下载的agent中的mongommsinstall.bat安装mms服务,成功后在服务中可以看到名称为mms的服务。
四、监控
1.填写host信息
本地mms服务启动后,在mms官网登陆后填写:
Host Type 主机类型
Internal Hostname 主机地址(相对于agent的地址,可以是localhost,192.168.x.x,也可以是域名和公网地址)
Port 端口号
DB Username 账户名(可选,admin库的账户名)
DB Password 密码(可选,admin库的密码)
2.数据同步
等待大约10分钟,就可看到数据了。
五、使用说明
网上的很多资料也都仅仅局限在安装,对具体的内容没有做详细的说明。这里我仅仅记录下这2天发现的一些tip。
- 一个组可以配置多主机,之前是只能一个组有一台主机,但是10gen马上认识到自己的问题,使用mongodb怎么可能只有一台主机,起码也是主从啊,索引现在可以配置多台主机。
- 提醒
Agent停止,在页面最上面右侧会有专门的提醒。
Db down掉按道理也应该有提醒,但是由于目前没有配置硬件监控,看不到硬件的图形,但是在常规图形监控中发现了一个很有趣的东西,上图:
在上图中的红色竖线就是我单独测试db down掉的情况,看来mms还是能很快捕捉到数据库的异常。当然在上面可以设置刷新间隔为1分钟,5分钟,1小时,1天等等,查看维度是随着刷新间隔自动关联的,也可以灵活设定。
下一篇我会对监控的内容进行详细说明,如果大家喜欢可以支持下。
树莓派 Raspberry-Pi 折腾系列:系统安装及一些必要的配置
入手树莓派将近一个月了,很折腾,许多资源不好找,也很乱。简单整理一下自己用到的东西,方便以后自己或别人继续折腾。
0. 操作系统下载
树莓派官方 Raspbian 系统下载:http://www.raspberrypi.org/downloads
或直接下载 http://downloads.raspberrypi.org/raspbian_latest.torrent 最新版的 BT 种子。
还有一个选择是由国人制作的超级精简版,更低内存占用:http://pan.baidu.com/share/link?shareid=167943&uk=1412008571
1. 系统安装
所谓“安装系统”其实不如说是“恢复”下载到的系统镜像到内存卡上,这个过程也没什么难度,就是看内存卡的速度,慢慢等而已。需要注意的是,市面上部分 4G 的内存卡,实际大小才 3.6G 多,会提示空间不足,所以还是直接购买 8G 吧,也差不了几块钱。
在 Windows 下可以使用 Win32 Disk Imager 进行镜像恢复,非常方便,也是树莓派官方推荐的方法。官方下载地址:http://sourceforge.net/projects/win32diskimager/
2. 通过 SSH 远程访问
老实说,我一直把树莓派定位为“一个扔在某个角落就可以自己跑得很欢的小电脑”,加上那仅有的两个 USB 口,一个插了 USB 无限网卡,另一个再拖个键盘或鼠标啥的,实在很不方便,那么最好还是能远程访问吧。
好在树莓派默认是有开启 SSH 的,但是我们系统刚安装,IP 还没设置,怎么找到它的 IP 地址呢?这时候就推荐使用另一个神器 PortScan 来找出我们的机器:
打开 PortScan 选择扫描范围,可以很方便的找出局域网中的其它机器,一般家庭中也没太多机器,找出树莓派是很容易的,如果是在公司,有很多机器的话,那么可以忽略那些有机器名的,然后剩下的一个一个尝试吧…
PortScan 下载地址:http://abel.oss.aliyuncs.com/file/PortScan.zip
3. ROOT 账号设置
如果你安装的是官方的 Raspbian 系统,那么默认的登录帐号为 pi 密码是 raspberry
为了方便折腾,建议第一时间启用 ROOT 账号吧~ 这个也很简单的,只需要执行一下两句命令即可:
// 设置 root 账号的密码,会让你输入两次新密码
sudo passwd root // 启用 root 账号登录
sudo passwd --unlock root
执行完之后,用 reboot 命令重启就可以用 root 登录啦。
4. 扩展可用空间
第一次用 root 登录,会自动弹出树莓派的高级设置面板(以后也可以通过 raspi-config 命令进入):
选择第一项 Expand Filesystem 扩展 SD 卡上可用的空间,不然以后会有很多大软件,不能安装(提示空间不足,例如 mysql)。
扩展之后可以通过 df -h 命令看到效果~
5. 更换软件源(apt-get sources)
树莓派的服务器实在太太太太太太慢了!会导致你安装一个几M的东西都要等大半天!肿么办!
好在树莓派官方有提供一个镜像列表:http://www.raspbian.org/RaspbianMirrors
在里面找到了几个国内的镜像,经过几番尝试,觉得来自中科大的速度非常不错~ 咱们就换成中科大的吧,镜像主页:https://lug.ustc.edu.cn/wiki/mirrors/help/raspbian
根据教程,咱们来编辑 /etc/apt/sources.list 文件。这里推荐用 nano 命令编辑,舍得去弄什么 VIM 啦。命令如下:
nano /etc/apt/sources.list
进入编辑界面,删除原有的内容,粘贴中科大提供的内容,结果如下:
然后使用 Ctrl+O 保存文件,Ctrl+X 退出编辑器。
然后执行 apt-get update 命令更新软件列表。
6. 设置静态 IP 地址
回到刚刚第二点提到的,不知道 IP 地址的问题,咱们要给树莓派设置一个静态 IP,省得 IP 变换又要重新找机器。还是用 nano 来编辑网络接口文件:
nano /etc/network/interfaces
如果你要设置的是有线网卡的 IP 地址,那么把 eth0 的 dhcp 改成 static 然后在下一行追加 IP 信息,结果大概如下:
iface eth0 inet static
address 192.168.1.200 # 设定的静态IP地址
netmask 255.255.255.0 # 网络掩码
gateway 192.168.1.1 # 网关
如果你要设置的是无线网卡的,那么除了把 wlan0 的 dhcp 改成 static 之外,还需要填写无线网的名称和密码,编辑后的结果大概如下:

iface wlan0 inet static
wpa-ssid Your_Wifi_SSID
wpa-psk Your_Wifi_Password
address 192.168.1.200 # 设定的静态IP地址
netmask 255.255.255.0 # 网络掩码
gateway 192.168.1.1 # 网关
network 192.168.1.1 # 网络地址
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

▲ 注意注释掉最后一行
搞定之后,咱们用 poweroff 命令关掉树莓派,等到机器上的绿灯不闪了,把电源拔掉,再把网线拔掉,重新连接电源,稍等一会,看看是不是就通过无线网络的 IP 地址可以访问了。
最后
至此,要折腾树莓派的几个准备工作都完成了,有了这些,以后折腾也更佳方便。
由于我当初手贱没有购买面驱动的 USB 网卡,买的是一个要自己编译驱动的,所以我折腾的东西还有很多,下次专门再来说说无线网卡驱动的事吧。
使用MMS(MongoDB Monitoring Service)监控MongoDB的更多相关文章
- 用monit监控mongodb,崩溃后自动重启mongdb
什么是monit Monit是一个跨平台的用来监控Unix/linux系统(比如Linux.BSD.OSX.Solaris)的工具.Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不 ...
- nagios监控mongodb
nagios本身不提供监控mongodb的服务,需要安装插件 已经有大神写好的插件nagios_plugin-mongodb 地址https://github.com/mzupan/nagios-pl ...
- zabbix3.2 监控MongoDB
本文参考连接: https://www.jianshu.com/p/a6b36d5b74ba 一.实验环境: MongoDB/zabbix-agent:172.16.88.44 zabbix-serv ...
- Zabbix应用八:Zabbix监控MongoDB
利用Zabbix监控MongoDB 一.首先介绍mongodb采集到的数据含义: 1.状态采集命令: >db.serverStatus(); 2.输出内容: { "host" ...
- ZABBIX 3.0 监控MongoDB性能【OK】
系统环境: centos7.2 zabbix-3.4 一.原理 通过以下命令查看mongodb的状态: echo "db.serverStatus()" | mongo ad ...
- MongoDB 监控 --- MongoDB基础用法(八)
MongoDB 监控 在你已经安装部署并允许MongoDB服务后,你必须要了解MongoDB的运行情况,并查看MongoDB的性能.这样在大流量得情况下可以很好的应对并保证MongoDB正常运作. M ...
- 免费试用MongoDB云数据库 (MongoDB Atlas)教程
众所周知,MongoDB包括社区版和企业版,但不止如此,MongoDB公司还有MongoDB Atlas:Database as a Service. MongoDB Atlas delivers t ...
- 在WIN7下安装运行mongodb 1)、下载MongoDB
1).下载MongoDB http://downloads.mongodb.org/win32/mongodb-win32-i386-2.4.5.zip 下载Windows 32-bit版本并解压缩, ...
- win10安装mongodb及配置 和 mongodb的基本使用(node环境)
mongodb安装 下载地址: https://www.mongodb.com/download-center 下载后,我们点击mongodb-win32-x86_64-2008plus-ssl-3. ...
随机推荐
- 2.cocos2dx 3.2在语法的差异,lambada使用表达式和function和bind使用功能
1 打开 - 内置T32 Cocos2dx-3.2一个专案 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhb ...
- NYNU_省赛选拔题(6)
题目描述 有一天,小米找到了一个藏宝的迷宫地图,迷宫在一个沙漠里有,迷宫里面有许多宝藏.迷宫里可能有N个藏宝地点,用1到K标记.藏宝地点之间最多有一条通路相连.标记1为迷宫的进出口. 他已经知道其中K ...
- 经典算法题每日演练——第十六题 Kruskal算法
原文:经典算法题每日演练--第十六题 Kruskal算法 这篇我们看看第二种生成树的Kruskal算法,这个算法的魅力在于我们可以打一下算法和数据结构的组合拳,很有意思的. 一:思想 若存在M={0, ...
- HDU1203_I NEED A OFFER!【01背包】
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- bash shell:重定向标准错误输出
如何重定向标准错误输出到标准输出?如何把标准错误输出输出到一个文件? Bash提供了I/O重定向工具,有3个缺省的文件(标准输出流): stdin - 用来获取输入,比如键盘.文件重定向 stdout ...
- MVC Bootstrap Helpers
ASP.NET MVC Bootstrap Helpers 阅读目录 序言 内置的HTML Helpers 创建自定义的Helpers 使用静态方法创建Helpers 使用扩展方法创建Helper ...
- Socket 学习(三).2 udp 穿透 服务端 与 客户端 通讯
之前演示的 是 局域网通讯,也可以用作服务器之间的通讯,不能穿透. 想要穿透就要用 udp 了, 后续再讲解 udp 打洞 . 客户端: using System; using System.Wind ...
- c# p2p 穿透(源码加密)
http://blog.oraycn.com/ESFramework_Demo_P2P.aspx 测试,完全OK! 我很喜欢这个.可以源码是加密的!我希望实现 web 版本的p2p视频观看,aehy ...
- Thrift官方安装手冊(译)
本篇是Thrift官网安装文档的翻译,原地址点击这里.Thrift之前是不支持Windows的.可是似乎0.9版本号以后已经支持Window了.介绍了Thrift安装的环境要求以及在centos,De ...
- ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版
原文:ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio ...