MongoDB的监控和备份服务MMS(MongoDB Management Service)的使用说明
MMS的概述
MMS功能的含义
MMS(MongoDB管理服务)是一项提供自动运维管理的MongoDB服务,主要包括以下功能。
-
- 監視
MongoDBの各種統計情報収集、グラフ化、監視
閾値を指定して超えたらアラートメール送付
バックアップ
スナップショット取得・リカバリ
差分バックアップ
ポイントインタイムリカバリ(時間指定リカバリ)
オートメーション(2014/5現在、公開予定)
無停止バージョンアップ
ワンクリック環境構築
MMS和MMS代理的角色划分
MongoDB单独无法使用MMS。需要引入MMS代理才能与MMS连接。
MMS代理包括监控代理和备份代理两个部分。它们的责任分工如下所示。
-
- MMS監視エージェント
MongoDBから情報を取得し、暗号化してMMSに情報を送る
手元の環境にインストールする必要あり。ただし、MongoDBと同じサーバにインストールする必要はなくMongoDBに接続できる場所であればどこでもOK
一台のMMSエージェントで、複数台のMongoDBと接続することができる
MMSバックアップエージェント
MongoDBから定期的にスナップショットや更新ログ(oplog)を取得する。
MMS指示のもと、MongoDBのリストアやポイントインタイムリカバリを行う
MMS
MMS監視エージェントから情報を収集して、ユーザに対して監視のダッシュボード(Web)を提供する
監視が閾値を超えたらアラートメールをブラウザに送る
ユーザからのバックアップ・リスト指示を受け付けつける

云端版和本地版。
MMS有云端版和本地版。MMS代理没有区分。
-
- クラウド版
インターネットにあり、アカウントを作るとだれでも利用可能。
モニタリングは無料
バックアップは有料だが、$5/月以下の利用は無料
オンプレ版
自前の環境にMMSサーバをインストールできる
情報を外に出せない企業向け
试着使用云端版MMS。
无论您选择使用监视功能还是备份功能,首先需要注册MMS账户。
MMS账户的注册
访问MMS公式网站

点击“完全托管的MMS”选项进入云版。

点击“注册”, 创建一个新的 MMS 账户。

建议注册一个账户,填写适当的信息。可能可以使用任何邮箱地址。无需进行诸如”收到确认邮件后点击链接”之类的步骤。
(2014/7/1附注)
目前,除了密码外,需要进行两步验证。需要通过电话的短信或语音指南,或使用谷歌身份验证器获取一次性密码。
最方便的方式是通过电话的短信消息。你可以将电话号码添加为国际日本号码,比如+81-90-1234-5678,并在登录时收到一次性密码的短信消息。
当您成功创建账户后,将会显示欢迎界面。

我們試著使用監視功能。
本次尝试的环境如下所示。
-
- CentOS 6.2
-
- MongoDB 2.6.0
- MMS Monitoring Agent 2.1.2.43
安装MMS监视代理程序。
在Wellcome画面上,当点击Monitoring Agent的「Get Started」→「Begin Setup」→「Next」后,屏幕会切换到MMS监控代理的安装步骤页面。
选择正在使用的操作系统(对我来说是CentOS)。

请按照屏幕上显示的代理安装步骤进行操作。

降低RPM
curl -OL https://mms.mongodb.com/download/agent/monitoring/mongodb-mms-monitoring-agent-2.1.2.43-1.x86_64.rpm
安装RPM
sudo rpm -U mongodb-mms-monitoring-agent-2.1.2.43-1.x86_64.rpm
将API密钥设置在/etc/mongodb-mms/monitoring-agent.config文件中。
mmsApiKey=4ace5fc505305aeXXXXXXX ←MMSアカウントごとに違う値です
启动代理
sudo service mongodb-mms-monitoring-agent start
只要没有错误发生,就算是成功!
如果发生错误,请参考/var/log/mongodb-mms/monitoring-agent.log文件中的日志,这些日志可能会提供一些线索。
连接MongoDB和MMS监控代理
※ 假设在此步骤中,MongoDB已经在MMS代理安装节点的27017端口上启动。
如果在刚才的屏幕上直接按下“Next”按钮,将会显示主机添加画面!

请按照以下方式输入。
-
- Internal HostnameにMMSエージェントから見えるホスト名を入れます。localhostはやめて、ユニークなホスト名を入れる事が推奨です。
-
- PortにMongoDBの待ち受けポートを入れます。
-
- (オプション)SSLで通信を暗号化する場合は「Use SSL」を入力。
-
- (オプション)DBにユーザ・パスワード認証をかけている場合は「Auth Mechanism」でUsername/Passwordを選んで「DB Username」と「DB Password」を入力。
- (オプション)DBをケルベロス認証している人は「Auth Mechanism」でKerberosを選択
当一切准备完毕,请点击”验证主机”。

如果检测到一个或多个主机,则表示找到了MonogDB,这是成功的。

点击「开始监控」即可开始监测!
如果顺利的话,将显示如下内容在Hosts上

点击节点时,会自动显示如下内容。

关于监视代理的使用方法说明到此结束。
试试使用备份功能。
首先,有一个重要的注意事项。
备份功能不能应用于独立的MongoDB。
原因是备份的方法是通过复制MongoDB的更新日志(oplog)来实现的,但独立的MongoDB没有启用oplog。为了备份独立的MongoDB,需要将其配置为单节点副本集。
此外,在创建备份功能之前,最好先对备份目标的MongoDB启用监视功能,以便更加顺利。
因此,本次旨在介绍备份副本集的备份。假设在监控功能下,备份副本集的状态如下所示开始一切。

安装备份代理
从画面左侧的选项卡中选择”备份”。

请点击「开始设置」。

需要进行双重认证。可以通过电话认证和Google Authenticator进行认证,但由于将日本电话号码+81***输入到电话中未成功,似乎还不能使用日本电话号码。因此我们将使用Google Authenticator进行认证。
当认证完成后,请点击“下一步”按钮,进入发票页面并进行适当输入。

目前的费用如下:
-
- 差分バックアップに用いるoplog(DBに対する変更のログ)のサイズが 1Gあたり$1
- スナップショットが1GBあたり$0.08
月に$5まで無料ということは、スナップショットは取らず、一か月のデータ変更のログ容量(oplog容量)が5G以下であれば、無料ということになります。
勘違いしてはいけないのは、ドキュメントのサイズがそのままoplogのサイズにはならないということです。
ほとんど更新しない読み込み専用システムであれば、ほとんどお金はかかりません。
ただし、ほとんど更新しないということは、自動バックアップを取る意味もあまりなく、mongodumpで十分かもしれません。。。
請求資訊後,將會轉至以下網頁。

下一个是。

选择安装MMS备份代理的操作系统。对我来说,我选择了CentOS。

我会下载
curl -OL https://mms.mongodb.com/download/agent/backup/mongodb-mms-backup-agent-1.4.6.43-1.x86_64.rpm
RPMをインストールします
sudo rpm -U mongodb-mms-backup-agent-1.4.6.43-1.x86_64.rpm
/etc/mongodb-mms/backup-agent.configにAPIキーを設定します
apiKey=2824d4bxxxxxxxx
起動します
sudo service mongodb-mms-backup-agent start
关闭弹出窗口的操作手册。

点击 “确认代理”。
如果显示 “代理已验证”,表示连接成功!点击 “下一步”。
在MMS备份代理中添加MongoDB节点。
監視機能で正しくレプリカセットが認識され、かつAgent Verifiedな状態であれば、
Nextをクリックすると、レプリカセットを選択する画面になるはずです。

选择备份副本集合进行备份。

-
- Sync Sourceで、バックアップのための更新ログ(oplog)を取得する先を選べます。
-
- プライマリのロードを高めないようにしたければ、「any seconday」でセカンダリから取得するのがよいでしょう。
-
- (オプション)SSLで通信を暗号化する場合は「Use SSL」を入力。
-
- (オプション)DBにユーザ・パスワード認証をかけている場合は「Auth Mechanism」でUsername/Passwordを選んで「DB Username」と「DB Password」を入力。
- (オプション)DBをケルベロス認証している人は「Auth Mechanism」でKerberosを選択
これらを入力したらNextです

成功すると、このようにReplica Set Statusのメニューで見えるようになります。
定期抓取快照
从菜单右侧的设置图标点击“编辑快照计划”,即可进入以下界面进行设置。

恢复
选择要恢复的副本集,然后单击右上角的”恢复”按钮,即可显示如下画面。

然后,您可以选择快照或输入要回溯到的时间。
由于我的环境中还没有快照,所以它没有显示出来。
尝试使用本地版MMS(专业人士使用)。
监视功能
概述流程
基本上就像原文所解释的那样。
-
- 确认硬件要求
-
- 准备MongoDB用于存储MMS数据
-
- 准备SMTP服务器
-
- 安装MMS
-
- 配置MMS
- 启动MMS
1. 确认硬件需求
注意点
* マニュアルには書いてありませんが、「sudo」が必須です。
* ulimitを増やさないと、途中でスレッドを作れなくなりエラーが出ます。
我在如下环境中进行了操作。
-
- CentOS 6.2
-
- MongoDB 2.6.0
- mongodb-mms-1.4.1.62-1.x86_64.rpm
为了存储MMS数据,准备使用MongoDB
将MMS数据本身存储在MongoDB中。
耐障害性を考慮して、レプリカセットが推奨されいますが、スタンドアロンでも動きます。
実運用を想定すると、スタンドアロン構成は考えにくいため、レプリカセットで作ってみます。
在本文中,我对复制集的构建并没有详细解释。请参考我的其他文章,如《轻松体验MongoDB数据库》等。
为了冗余化,本来应该将三个mongod置于不同的机箱中,但这次我们将在同一服务器上设置三个mongod并建立副本集。
私の環境ではIPは「192.168.1.7」なので適宜読み替えてください。
またレプリカセット名は「rsmms」にしてますが、ここも適宜変えてください。
mkdir data1 data2 data3
mongod --dbpath data1 --logpath mongo1.log --replSet "rsmms" --port 27001 --fork &
mongod --dbpath data2 --logpath mongo2.log --replSet "rsmms" --port 27002 --fork &
mongod --dbpath data3 --logpath mongo3.log --replSet "rsmms" --port 27003 --fork &
./bin/mongo --port 27001
> config = {
... _id : "rsmms",
... members : [
... { _id : 0, host : "192.168.1.7:27001"},
... { _id : 1, host : "192.168.1.7:27002"},
... { _id : 2, host : "192.168.1.7:27003"}]}
> rs.initiate(config)
准备一个SMTP服务器。
如果不需要邮件通知,可以省略这一点。
4. 安装MMS包。
请点击以下链接前往:https://www.mongodb.com/subscription/downloads
<br>png](https://cdn.silicloud.com/blog-img/blog/img/657d022d37434c4406bd02e9/129-0.png)
从页面中间的”Package: mongodb-mms-1.4.1.62-1.x86_64.rpm”处下载RPM包。
安装
rpm -ivh mongodb-mms-1.4.1.62-1.x86_64.rpm
设置MMS
基本上,我会按照原版说明书进行操作。
当使用RPM进行安装时,配置文件将会生成在/opt/mongodb/mms/conf/conf-mms.properties。
首先,将设置文件的权限降低。
chmod 600 /opt/mongodb/mms/conf/conf-mms.properties
请按照以下方式编辑conf-mms.properties文件。
当从浏览器访问MMS时的URL
mms.centralUrl=http://192.168.1.7:8080 #MMS主页面的URL
mms.centralUrl=http://192.168.1.7:8081 #用于MMS备份的URL
邮件设置。如果只是临时启动MMS,可以使用任何合适的选项。
mms.fromEmailAddr=mmsadmin@hoge.com
mms.replyToEmailAddr=mmsadmin@hoge.com
mms.adminFromEmailAddr=mmsadmin@hoge.com
mms.adminEmailAddr=mmsadmin@hoge.com
mms.bounceEmailAddr=mmsadmin@hoge.com
邮件设置。只需暂时启动MMS,随便选择一个适当的选项即可。
mms.fromEmailAddr=mmsadmin@hoge.com
mms.replyToEmailAddr=mmsadmin@hoge.com
mms.adminFromEmailAddr=mmsadmin@hoge.com
mms.adminEmailAddr=mmsadmin@hoge.com
mms.bounceEmailAddr=mmsadmin@hoge.com
设定用于存储MMS数据的副本集
mongo.mongoUri=mongodb://192.168.1.7:27001,192.168.1.7:27002,192.168.1.7:27003
mongo.replicaSet=rsmms
打开MMS应用程序
/etc/init.d/mongodb-mms start
只有sudo才能运行。如果没有的话,可以用”yum install sudo”来安装。
成功启动后,请在浏览器中访问http://192.168.1.7:8080/user/login,如果出现以下类似页面,则表示成功。

以上为本地版说明的结束。
印象
以前,我也使用过MMS,但最近安装的门槛大大降低了。正如您所见,非常易于使用。当您在MongoDB上构建一个相当重要的系统时,建议先添加云版本的监控功能。
此外,根据资金的情况,备份也是非常方便的。特别是差分备份和点时间恢复,在没有MMS的情况下是相当困难的(或者说是不可能的),所以我认为只要支付了费用就可以享受到好处。
尽管本地版本的构建相对困难,但即使对信息进行加密,也存在不能将信息发送到互联网的系统,因此成为了一种选择。