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.png

云端版和本地版。

MMS有云端版和本地版。MMS代理没有区分。

    • クラウド版

インターネットにあり、アカウントを作るとだれでも利用可能。
モニタリングは無料
バックアップは有料だが、$5/月以下の利用は無料

オンプレ版

自前の環境にMMSサーバをインストールできる
情報を外に出せない企業向け

试着使用云端版MMS。

无论您选择使用监视功能还是备份功能,首先需要注册MMS账户。

MMS账户的注册

访问MMS公式网站

スクリーンショット 2014-05-03 09.01.03.png

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

スクリーンショット 2014-05-03 09.08.06.png

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

スクリーンショット 2014-05-03 09.17.42.png

建议注册一个账户,填写适当的信息。可能可以使用任何邮箱地址。无需进行诸如”收到确认邮件后点击链接”之类的步骤。

(2014/7/1附注)
目前,除了密码外,需要进行两步验证。需要通过电话的短信或语音指南,或使用谷歌身份验证器获取一次性密码。

最方便的方式是通过电话的短信消息。你可以将电话号码添加为国际日本号码,比如+81-90-1234-5678,并在登录时收到一次性密码的短信消息。

当您成功创建账户后,将会显示欢迎界面。

スクリーンショット 2014-05-03 09.17.21.png

我們試著使用監視功能。

本次尝试的环境如下所示。

    • 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)。

スクリーンショット 2014-05-03 09.23.14.png

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

スクリーンショット 2014-05-03 09.23.24.png

降低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”按钮,将会显示主机添加画面!

スクリーンショット 2014-05-03 09.30.15.png

请按照以下方式输入。

    • Internal HostnameにMMSエージェントから見えるホスト名を入れます。localhostはやめて、ユニークなホスト名を入れる事が推奨です。

 

    • PortにMongoDBの待ち受けポートを入れます。

 

    • (オプション)SSLで通信を暗号化する場合は「Use SSL」を入力。

 

    • (オプション)DBにユーザ・パスワード認証をかけている場合は「Auth Mechanism」でUsername/Passwordを選んで「DB Username」と「DB Password」を入力。

 

    (オプション)DBをケルベロス認証している人は「Auth Mechanism」でKerberosを選択

当一切准备完毕,请点击”验证主机”。

スクリーンショット 2014-05-03 09.35.30.png

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

スクリーンショット 2014-05-03 09.35.49.png

点击「开始监控」即可开始监测!

如果顺利的话,将显示如下内容在Hosts上

スクリーンショット 2014-05-03 09.46.03.png

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

スクリーンショット 2014-05-03 09.47.51.png

关于监视代理的使用方法说明到此结束。

试试使用备份功能。

首先,有一个重要的注意事项。
备份功能不能应用于独立的MongoDB。
原因是备份的方法是通过复制MongoDB的更新日志(oplog)来实现的,但独立的MongoDB没有启用oplog。为了备份独立的MongoDB,需要将其配置为单节点副本集。

此外,在创建备份功能之前,最好先对备份目标的MongoDB启用监视功能,以便更加顺利。

因此,本次旨在介绍备份副本集的备份。假设在监控功能下,备份副本集的状态如下所示开始一切。

スクリーンショット 2014-05-03 13.56.32.png

安装备份代理

从画面左侧的选项卡中选择”备份”。

スクリーンショット 2014-05-03 10.12.18.png

请点击「开始设置」。

スクリーンショット 2014-05-03 10.13.40.png

需要进行双重认证。可以通过电话认证和Google Authenticator进行认证,但由于将日本电话号码+81***输入到电话中未成功,似乎还不能使用日本电话号码。因此我们将使用Google Authenticator进行认证。

当认证完成后,请点击“下一步”按钮,进入发票页面并进行适当输入。

スクリーンショット 2014-05-03 12.54.11.png

目前的费用如下:

    • 差分バックアップに用いるoplog(DBに対する変更のログ)のサイズが 1Gあたり$1

 

    スナップショットが1GBあたり$0.08

月に$5まで無料ということは、スナップショットは取らず、一か月のデータ変更のログ容量(oplog容量)が5G以下であれば、無料ということになります。
勘違いしてはいけないのは、ドキュメントのサイズがそのままoplogのサイズにはならないということです。
ほとんど更新しない読み込み専用システムであれば、ほとんどお金はかかりません。
ただし、ほとんど更新しないということは、自動バックアップを取る意味もあまりなく、mongodumpで十分かもしれません。。。

請求資訊後,將會轉至以下網頁。

スクリーンショット 2014-05-03 13.15.41.png

下一个是。

スクリーンショット 2014-05-03 13.15.55.png

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

スクリーンショット 2014-05-03 13.22.03.png

我会下载

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

关闭弹出窗口的操作手册。

スクリーンショット 2014-05-03 13.28.05.png

点击 “确认代理”。
如果显示 “代理已验证”,表示连接成功!点击 “下一步”。

在MMS备份代理中添加MongoDB节点。

監視機能で正しくレプリカセットが認識され、かつAgent Verifiedな状態であれば、
Nextをクリックすると、レプリカセットを選択する画面になるはずです。

スクリーンショット 2014-05-03 13.59.43.png

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

スクリーンショット 2014-05-03 14.00.41.png
    • Sync Sourceで、バックアップのための更新ログ(oplog)を取得する先を選べます。

 

    • プライマリのロードを高めないようにしたければ、「any seconday」でセカンダリから取得するのがよいでしょう。

 

    • (オプション)SSLで通信を暗号化する場合は「Use SSL」を入力。

 

    • (オプション)DBにユーザ・パスワード認証をかけている場合は「Auth Mechanism」でUsername/Passwordを選んで「DB Username」と「DB Password」を入力。

 

    (オプション)DBをケルベロス認証している人は「Auth Mechanism」でKerberosを選択

これらを入力したらNextです

スクリーンショット 2014-05-03 14.05.34.png

成功すると、このようにReplica Set Statusのメニューで見えるようになります。

定期抓取快照

从菜单右侧的设置图标点击“编辑快照计划”,即可进入以下界面进行设置。

スクリーンショット 2014-05-03 14.17.59.png

恢复

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

スクリーンショット 2014-05-03 14.16.07.png

然后,您可以选择快照或输入要回溯到的时间。

由于我的环境中还没有快照,所以它没有显示出来。

尝试使用本地版MMS(专业人士使用)。

监视功能

概述流程

基本上就像原文所解释的那样。

    1. 确认硬件要求

 

    1. 准备MongoDB用于存储MMS数据

 

    1. 准备SMTP服务器

 

    1. 安装MMS

 

    1. 配置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

スクリーンショット 2014-05-03 10.22.33.![スクリーンショット 2014-05-03 14.27.45.png](https://qiita-image-store.s3.amazonaws.com/0/33447/6a1d2c67-1ee5-17c9-de49-6f4bf74fa5f0.png)<br>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,如果出现以下类似页面,则表示成功。

スクリーンショット 2014-05-03 14.27.45.png

以上为本地版说明的结束。

印象

以前,我也使用过MMS,但最近安装的门槛大大降低了。正如您所见,非常易于使用。当您在MongoDB上构建一个相当重要的系统时,建议先添加云版本的监控功能。

此外,根据资金的情况,备份也是非常方便的。特别是差分备份和点时间恢复,在没有MMS的情况下是相当困难的(或者说是不可能的),所以我认为只要支付了费用就可以享受到好处。

尽管本地版本的构建相对困难,但即使对信息进行加密,也存在不能将信息发送到互联网的系统,因此成为了一种选择。

bannerAds