注册 登录
  • 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

MongoDB工具-MMS监控备份实践

MongoDB 彭东稳 9619次浏览 已收录 0个评论

MMS介绍

MongoDB目前算是NoSQL产品中的佼佼者,在国内很多项目已经大量使用。它可以安装在Windows和Linux平台。但是之前由于监控工具的不完善,大家在对数据库的监控上一直没有太好的手段,基本使用Cacti、Nagos、Zabbx或者Mongodb之前提供的mongostat。

MongoDB官方认识到之前的工具的配置和使用都有很大的局限,2011年发布了官方的监控程序,叫做MMS(MongoDB Monitoring Service),是一个基于Web的应用,提供了一个一站式的解决方案,帮助您监控,备份和管理您的MongoDB集群。目前MMS有监控和备份MongoDB的基础设施服务两个功能,其中监控的服务是免费的,但备份的服务是需要收费的。

MMS已经正式更名为MongoDB Cloud Manager。

OpsManager:https://docs.opsmanager.mongodb.com/current

OpsManager:https://www.wilean.com/archives/186

MMS监控服务介绍

MMS的监控内容其实很不错,提供实时的报告,可视化,警报,硬件指标,并以直观的Web仪表盘展现数据,且支持硬件监控。

其工作原理如下:

  • 在MMS服务器上配置你的MongoDB信息(Host,Port,User,Passwd等)。
  • 在一台能够访问你MongoDB服务的内网机器上运行其提供的Agent脚本。
  • Agent脚本从MMS服务器获取到你配置的MongoDB信息。
  • Agent脚本连接到相应的MongoDB获取必要的监控数据。
  • Agent脚本将监控数据上传到MMS的服务器。
  • 登录MMS网站查看整理过后的监控数据图表了。

MMS备份服务介绍

备份是专为MongoDB设计的,可以预定恢复快照和时间点。一旦该服务启动并运行,MMS提供一个Web界面来支持备份和恢复,MMS备份还支持水平扩展。

需要安装一个轻量级的备份代理,代理执行初始化同步,并截取复制集primary节点的OPLOG。对于分片集群,备份代理截取每个primary和每个config服务器。然后将初始化同步和oplog数据通过https传回到MMS。

MMS服务通过备份再现每个复制集并应用oplog日志,然后,MMS在硬盘上保持一个独立的mongodb数据库,也称为head,每个复制集的备份。每个head与原始的primary通过代理提供的最后的oplog来保持一致。

该初始化数据和oplog都是使用标准的MongoDB查询来完成的。

部署MMS

一、安装MMS环境要求

1. 分配一台符合MMS硬件要求的服务器。

2. 安装一个单独的mongodb复制集作为MMS应用数据库。

3. 安装SMTP邮件服务器。

4. 安装MMS应用程序包。

5. 配置MMS服务的URL、电子邮件、mongo URI连接串。

6. 启动MMS服务。

7. 可选安装,安装备份服务。

二、安装mongodb

安装MMS应用数据库,官方建议是使用复制集,我这里就使用单一的mongodb。

我这里比较简单的安装,相关参数的配置,可以看看之前的内容。

三、SMTP服务

MMS依赖SMTP服务,是以电子邮件作为用户的,需要根据MMS服务器回复的邮件来进行用户注册和密码设置的,报警信息也是通过邮件来发送的。可以不用配置SMTP服务器,用第三方的即可。

四、安装MMS

五、配置MMS

RPM安装完,程序位于/opt/mongodb/mms,以mongodb-mms用户运行该程序。

需要修改/opt/mongodb/mms/conf/conf-mms.properties文件,需要确保以下参数设置正确:

  • mms.centralUrl
  • mms.backupCentralUrl
  • mms.fromEmailAddr
  • mms.replyToEmailAddr
  • mms.adminFromEmailAddr
  • mms.adminEmailAddr
  • mms.bounceEmailAddr
  • mongo.mongoUri
  • mongo.replicaSet

配置文件

启动mongodb-mms服务:

MongoDB工具-MMS监控备份实践

MMS的可视化管理是免费的,但是在线备份的话,每月需要花费5美刀。因为我们本来就是使用MMS的可视化管理的,所以在Moritoring下选择“Get Started”。然后就会看到下面这张图讲MMS监控是如何工作的:

MongoDB工具-MMS监控备份实践

首先,我们需要在数据中心部署一个监控代理。然后,使用MMS Web接口指定集群中的一个节点。监控代理会连接这个子节点,并发现集群中的其他主机。监控代理会收集集群中所有节点的分析数据并传输到MMS。这些数据会以日志的形式展示在用户面前并且弹出提示。MongoDB的数据不会发送给MMS,只有分析数据和元数据才会发送出来。

下面就开始介绍监控代理了。

MongoDB工具-MMS监控备份实践

监控代理是运行在服务器上的一个独立应用。它收集Mongo进程的运行信息并安全的传送到我们的API。

我们需要一个代理实例来管理所有的Mongod实例,因为代理也需要占用一些资源,为避免和其它Mongod进程引起冲突,通常将代理部署在另外一台服务器上。

下载安装与操作系统版本一致的代理,怎么操作都说的很清楚了。

MongoDB工具-MMS监控备份实践

我这里选项以Linux系统为监控代理端,会跳出如下页面,告诉你在Linux主机上如何安装配置监控代理。

MongoDB工具-MMS监控备份实践

安装此图操作即可,下载安装监控客户端,然后再配置文件中填写APIkey以及MMS的地址和端口即可。然后,检测代理是否正常。

验证通过后,接下去的内容就是添加主机了。

MongoDB工具-MMS监控备份实践

我这里添加了一个但实例的MongoDB,没有用户名和密码(DB Username/DB Password不用填),效果如下图:

MongoDB工具-MMS监控备份实践

监控已经添加完成,看下效果。

MongoDB工具-MMS监控备份实践

然后可以把监控项添加到Dashboard中,还可以进行主机的增删改查等操作。具体自己研究使用吧。另外,MMS默认是不监控硬件的,如果需要监控硬件需要安装额外的插件。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (2)or分享 (0)
关于作者:

您必须 登录 才能发表评论!