zoukankan      html  css  js  c++  java
  • 使用MMS(MongoDB Monitoring Service)监控MongoDB

    一.MongoDB简介

    MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

    它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

    *面向集合存储,易存储对象类型的数据。

    *模式自由。

    *支持动态查询

    *支持完全索引,包含内部对象。

    *支持查询。

    *支持复制和故障恢复。

    *使用高效的二进制数据存储,包括大型对象(如视频等)。

    *自动处理碎片,以支持云计算层次的扩展性。

    *支持RUBYPYTHONJAVAC++PHPC#等多种语言。

    *文件存储格式为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天等等,查看维度是随着刷新间隔自动关联的,也可以灵活设定。

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

  • 相关阅读:
    bootstrap
    前端框架 angularjs
    JAva集合框架
    圣诞
    IDEA
    科目三
    Bootstrap简介及Bootstrap里的栅格系统col-md/sm/xs-x;
    C# Windows service 定时发邮件功能 (用到webService)
    <转> 数据库索引的作用和优点缺点
    小知识
  • 原文地址:https://www.cnblogs.com/tippoint/p/3441160.html
Copyright © 2011-2022 走看看