使用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天等等,查看维度是随着刷新间隔自动关联的,也可以灵活设定。
下一篇我会对监控的内容进行详细说明,如果大家喜欢可以支持下。
使用MMS(MongoDB Monitoring Service)监控MongoDB相关推荐
- mongodb 服务器性能监控,MongoDB监控
MongoDB监控¶ 监控是所有数据库管理的重要组成部分.牢牢掌握 MongoDB 的报告将使您评估您的数据库的状态,并使您的部署不出意外.另外, 一种MongoDB 的常规操作参数允许您在它们恶化为 ...
- mongodb 服务器性能监控,mongodb监控 | mongodb数据库监控 - ManageEngine Applications Manager...
MongoDB监控 MongoDB是否一个非关系型数据库,用来快速开发并支持大量数据处理和存储.非关系型数据库,例如MongoDB和Cassandra,可以让应用没有限制的使用,极大地扩展了业务架构的 ...
- [Cacti] cacti监控mongodb性能实战
前言: 为了更好的使用mongodb,须要监控出mongodb的一些基础使用情况,比方Flush数.连接数.内存使用率.Index操作.Slave延迟等等,这些能够通过配置cacti监控mongodb ...
- Prometheus监控MongoDB数据库
监控环境:Prometheus 数据库:MongoDB 3.4.6 集群,3个节点 监控工具:mongodb_exporter 1.创建Mongodb监控可读账号 mongodb admin 库中执行 ...
- zabbix系列(十二) 监控MongoDB业务数据
目录 一.简介 二.部署说明 2.1编写python程序进行获取mogno数据 2.2.上传python脚本至服务器,并测试通过 2.3.配置zabbix web页面,获取数据入库 2.4 .配置gr ...
- 使用zabbix监控MongoDB
现在公司几个游戏项目主要使用MongoDB来存储游戏数据,所以对MongoDB的监控非常重要.关于MongoDB的其他监控方法详见以下几篇文章: MongoDB监控一 MongoDB监控二 mongo ...
- Java监控MongoDB空间使用量、连接数
最近在做一个Java开发的监控系统,里面有一个模块是监控MongoDB的.看到网络上比较少这块资料,特记录如下: 1.下载MongoDB的Java驱动包 mongo-java-driver-3.1.1 ...
- 使用Zabbix Agent 2监控MongoDB
参考链接 : 使用Zabbix Agent 2监控MongoDB https://mp.weixin.qq.com/s/41-CNF-_n8upXeUBOioMpw 从Zabbix5.0.10和5.2 ...
- MongoDB 运行 service mongod start 后服务没有启动成功
问题描述 查看日志(/var/log/mongodb/mongodb.log)有如下信息 Wiredtiger error(13).....file:WiredTiger.wt,connection: ...
最新文章
- PyTorch 笔记(10)— Tensor 与 NumPy 相互转换、两种共享内存以及两者的广播法则
- php与Ajax实例
- spring学习12 -Spring 框架模块以及面试常见问题注解等
- Thread.join()
- 二维小波变换_【外文文献速读】实时二维水波模拟
- 为什么统计学家应该关注数据挖掘
- APPLE笔记本电脑软件测试,Apple Mac 实验室
- cocos2dx学习:TexturePacker的使用
- python跳出if_python跳出if
- Hadoop入门(一篇就够了)
- maven添加ojdbc6
- bam文件测序深度统计-bamdst
- laravel实现短信验证码功能
- python群控微信_带你用 Python 实现自动化群控(入门篇)
- 恐鬼症不显示服务器区域,《Phasmophobia》恐鬼症怎么证明鬼存在?鬼存在证明方法...
- Revit内建模型的基础教学分享
- Jetson nano开机自启动程序
- PDK工艺库安装总结
- python jsonrpc调用_如何使用python向JSONRPC请求数据
- iPhone 4S iPhone 4 对比 区别