一.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上的部署。当然官方有安装说明。

  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的服务。

四、监控

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。

  1. 一个组可以配置多主机,之前是只能一个组有一台主机,但是10gen马上认识到自己的问题,使用mongodb怎么可能只有一台主机,起码也是主从啊,索引现在可以配置多台主机。
  2. 提醒

Agent停止,在页面最上面右侧会有专门的提醒。

Db down掉按道理也应该有提醒,但是由于目前没有配置硬件监控,看不到硬件的图形,但是在常规图形监控中发现了一个很有趣的东西,上图:

在上图中的红色竖线就是我单独测试db down掉的情况,看来mms还是能很快捕捉到数据库的异常。当然在上面可以设置刷新间隔为1分钟,5分钟,1小时,1天等等,查看维度是随着刷新间隔自动关联的,也可以灵活设定。

下一篇我会对监控的内容进行详细说明,如果大家喜欢可以支持下。

使用MMS(MongoDB Monitoring Service)监控MongoDB相关推荐

  1. mongodb 服务器性能监控,MongoDB监控

    MongoDB监控¶ 监控是所有数据库管理的重要组成部分.牢牢掌握 MongoDB 的报告将使您评估您的数据库的状态,并使您的部署不出意外.另外, 一种MongoDB 的常规操作参数允许您在它们恶化为 ...

  2. mongodb 服务器性能监控,mongodb监控 | mongodb数据库监控 - ManageEngine Applications Manager...

    MongoDB监控 MongoDB是否一个非关系型数据库,用来快速开发并支持大量数据处理和存储.非关系型数据库,例如MongoDB和Cassandra,可以让应用没有限制的使用,极大地扩展了业务架构的 ...

  3. [Cacti] cacti监控mongodb性能实战

    前言: 为了更好的使用mongodb,须要监控出mongodb的一些基础使用情况,比方Flush数.连接数.内存使用率.Index操作.Slave延迟等等,这些能够通过配置cacti监控mongodb ...

  4. Prometheus监控MongoDB数据库

    监控环境:Prometheus 数据库:MongoDB 3.4.6 集群,3个节点 监控工具:mongodb_exporter 1.创建Mongodb监控可读账号 mongodb admin 库中执行 ...

  5. zabbix系列(十二) 监控MongoDB业务数据

    目录 一.简介 二.部署说明 2.1编写python程序进行获取mogno数据 2.2.上传python脚本至服务器,并测试通过 2.3.配置zabbix web页面,获取数据入库 2.4 .配置gr ...

  6. 使用zabbix监控MongoDB

    现在公司几个游戏项目主要使用MongoDB来存储游戏数据,所以对MongoDB的监控非常重要.关于MongoDB的其他监控方法详见以下几篇文章: MongoDB监控一 MongoDB监控二 mongo ...

  7. Java监控MongoDB空间使用量、连接数

    最近在做一个Java开发的监控系统,里面有一个模块是监控MongoDB的.看到网络上比较少这块资料,特记录如下: 1.下载MongoDB的Java驱动包 mongo-java-driver-3.1.1 ...

  8. 使用Zabbix Agent 2监控MongoDB

    参考链接 : 使用Zabbix Agent 2监控MongoDB https://mp.weixin.qq.com/s/41-CNF-_n8upXeUBOioMpw 从Zabbix5.0.10和5.2 ...

  9. MongoDB 运行 service mongod start 后服务没有启动成功

    问题描述 查看日志(/var/log/mongodb/mongodb.log)有如下信息 Wiredtiger error(13).....file:WiredTiger.wt,connection: ...

最新文章

  1. PyTorch 笔记(10)— Tensor 与 NumPy 相互转换、两种共享内存以及两者的广播法则
  2. php与Ajax实例
  3. spring学习12 -Spring 框架模块以及面试常见问题注解等
  4. Thread.join()
  5. 二维小波变换_【外文文献速读】实时二维水波模拟
  6. 为什么统计学家应该关注数据挖掘
  7. APPLE笔记本电脑软件测试,Apple Mac 实验室
  8. cocos2dx学习:TexturePacker的使用
  9. python跳出if_python跳出if
  10. Hadoop入门(一篇就够了)
  11. maven添加ojdbc6
  12. bam文件测序深度统计-bamdst
  13. laravel实现短信验证码功能
  14. python群控微信_带你用 Python 实现自动化群控(入门篇)
  15. 恐鬼症不显示服务器区域,《Phasmophobia》恐鬼症怎么证明鬼存在?鬼存在证明方法...
  16. Revit内建模型的基础教学分享
  17. Jetson nano开机自启动程序
  18. PDK工艺库安装总结
  19. python jsonrpc调用_如何使用python向JSONRPC请求数据
  20. iPhone 4S iPhone 4 对比 区别

热门文章

  1. antd下拉框联动说明
  2. 【iOS开发】在一个Xcode页面建立多个工程
  3. python3基础学习(XML文件解析)
  4. WatchStor观察:冰岛身陷困境也不会停止数据中心项目
  5. 科技驱动未来:飞康如何赢得尤尼克斯的青睐?
  6. 数据结构 --- 线性表学习(php模拟)
  7. sqlserver_identity
  8. Vmware vSphere 5.0存储的连接
  9. 解析HttpURLConnection与代理服务器
  10. APACHE OFBIZ XML-RPC 反序列化漏洞 (CVE-2020-9496) 的复现与分析