fbpx

MongoDB Enterprise Advanced(EA)版の管理ツール、Ops Managerインストール #mongodb

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

Ops Managerは、MongoDB Enterprise Advanced(EA, 有償版)で提供しているGUIの管理ツールです。Ops Managerは、MongoDBクラスタ―の構築、バックアップ&リストア、モニタリングなどをすべてGUIで操作できる優れたツールです。MongoDB Atlasのようにクラウドサービスも登場していますが、様々な理由からオンプレミスでMongoDBを構築する場合があります。そこで、Ops Managerの導入が難しいということを聞きます。今回は、MongoDB EAの導入を検討している方のためにOps Managerのインストール方法をご紹介します。

Ops Managerを利用すると、次のようなことがGUI上で簡単に実現できます。

  • レプリケーションクラスタ―及びシャーディングクラスターを構築する。
  • 既存のレプリケーションクラスタ―及びシャーディングクラスターをリバースしてOps Managerの管理下におく。
  • データバックアップの設定やリストア(ポイントインタイムリカバリ)を行う。
  • メトリックを収集し、モニタリングを行う。
  • メトリックに閾値を設定してアラートを行う。
  • BIコネクターを入れて、BIツールとの連携を行う。
  • バージョン管理を行う。

[参照サイト]
https://docs.opsmanager.mongodb.com/v3.6/tutorial/install-simple-test-deployment/

おそらく、初めてOps Managerを扱う場合、最大の嵌まりポイントは、マニュアルとGUI上の表記の違いや、ネーミングと機能の不整合による誤解かも知れません。次の章を注意して読んでください。

Ops Managerの構成


Ops Managerアプリケーションとオートメーションエージェント

Ops Managerは、大雑把に言うとOps Managerアプリケーションと、MongoDBサーバ側にデプロイされるオートメーションエージェントで構成されています。

Automation Agentの構成

Automation Agentは、MongoDBの各ノードに常駐し、MongoDBのプロセス(mongod)、モニタリングエージェント、バックアップエージェントを行うサービスです。

  • mongod
    Ops Managerを導入すると、MongoDBのプロセス(mongod)は、オートメーションエージェントの管理下になります。

  • Monitoring Agent
    各ノードのメトリックを収集してOps Managerに転送します。

  • Backup Agent
    Oplogのテールを10MBバイトにスライスしてOps Managerに転送します。

Ops Manager Applicationの構成

Ops Managerは、HTTP Serivce、Applicaton DB、Oplog Store、Backup Daemon Serviceで構成されます。

  • HTTP Service
    Ops ManagerのGUI、オートメーションエージェントとやり取りを司るサービスです。

  • Application DB
    Ops Manager自身の構成情報及びMongoDBクラスタ―の構成情報、メトリックを保存するMongoDBです。

  • Oplog Store
    クラスタ―から送られてきたOplogの差分を保存するMongoDBです。バックアップDBとも言います。Oplog Storeのサイズは、日次のユーザデータの増加サイズ、ポイントインタイムリカバリの保存期間に比例します。

  • Backup Daemon
    Oplogからオフラインで整合性の取れたデータベースをHEAD dataaseに再現したり、スナップショットを実行します。

  • HEAD database
    中身は、MongoDBのファイルです。HEAD dir、HAED directoryとも表記されています。Backup Daemonが管理しているのでMongoDBのプロセスは必要とせず、設定時は格納先を設定するだけでいいです。Oplogから整合性が取れたユーザデータセットを再現するので、ユーザデータとほぼ同等のサイズを消費します。データ圧縮のフォーマットはSnappyなので圧縮効果はあまり期待できません。スナップショット先と、間違わないようにしてください。

Backup Deamon Service

OplogからHAED databaseを構成し、スケジュールに従ってスナップショットを実行します。スナップショットは、複数の方式がありますが、大きく分けると、MongoDBに格納する方法と、ストレージに格納する方式があります。
スナップショットのサイズは、gizpフォーマットなのでおおよそ、ユーザデータサイズの1/3ぐらいです。

  • Block Store
    MongoDBのバックアップ(スナップショット)をMongoDBに格納する方式です。つまり、Block Storeとは、MongoDBです。

  • s3
    MongoDBのバックアップ(スナップショット)をAWS S3に保存する方式です。

  • File System Snapshot Store
    MongoDBのバックアップ(スナップショット)をストレージ(DISK)に保存する方式です。

Ops Manager構成に関する補足

Ops Managerは、1台から構成できます。1台にすべてを詰め込むこともできれば、Ops Managerのアプリケーションと、MongoDBを切り離し、別のサーバにすることも可能です。さらに、MongoDBやOps Managerのアプリケーションを冗長化することも可能です。どのような構成にすべきかは、それぞれのサイトの規模やSLAなどを考慮したオプションではないかと思います。Ops Managerで使うMongoDBは、Ops Managerのコンポネントの一部という位置づけなのでMongoDB EAを使ってもサブスクリプションを購入する必要はありません。
さらに、次のようなことを認識して頂きたいです。

  • Ops Managerの構築は、手動で実行する必要がある。
  • Ops Managerが使用しているDBは、手動で管理する必要がある。例えば、アプリケーションDBバックアップとか。

Ops Managerのインストール


事前準備

とりあえず、Linuxサーバ1台が必要です。

  • Linuxサーバ(ここではLinux7.5)、2vCPU、Memory15GB以上、ルートパーティション50GB以上
  • レプリケーションクラスター構築用のサーバ3台(ここまで実行する場合)
  • シャーディングクラスター構築用のサーバ3台(ここまで実行する場合)

初期アカウント登録の直後、Ops Managerの運用オプションのタイプなどの設定が求められます。インストール後に設定できますので、殆どはデフォルトでいいですが、SMTP Serverは、本物が求められます(最低、本物のようなフォーマットの情報入力が必要)。

Ops Managerアプリケーション用のMongoDBインストール

MongoDBのレポジトリをインストールします。

$ sudo vi /etc/yum.repos.d/mongo.repo
[mongodb-enterprise]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.6/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
 
$ sudo yum install -y mongodb-enterprise-3.6.8 mongodb-enterprise-server-3.6.8 mongodb-enterprise-shell-3.6.8 mongodb-enterprise-mongos-3.6.8 mongodb-enterprise-tools-3.6.8

アプリケーションDB用のディレクトリを作成します。

$ sudo mkdir -p /data/appdb
$ sudo chown -R mongod:mongod /data

アプリケーションDB用mongodを起動します。

 # sudo -u mongod mongod --port 27017 --dbpath /data/appdb --logpath /data/appdb/mongodb.log --wiredTigerCacheSizeGB 1 --fork

Ops Managerアプリケーションのインストール

Ops Managerのアプリケーションパッケージをダウンロードします。

[参照サイト]
https://www.mongodb.com/download-center#ops-manager

Ops Managerのアプリケーションをインストールします。

$ sudo rpm -ivh mongodb-mms-3.6.6.47217.20180502T0927Z-1.x86_64.rpm

Ops Managerアプリケーションのインストール先は、/opt/mongodb/mms/です。

Ops Managerを起動します。

$ sudo service mongodb-mms start

次のようにWebブラウザーからOps Managerへ接続します。

http://<opsManagerHost>:8080

Ops Managerの初期環境設定


 アカウント登録

Ops Managerのサービスが正常に上がっていると、次のような初期画面が表示されます。

初期ユーザとパスワードが存在しません。代わりに、Registerをクリックし、アカウントを登録します。

  • your-maile-address@yourcompany.com
  • パスワード

初期アカウント登録の直後、Ops Managerの運用オプションのタイプなどの設定が求められます。
これは、後に編集できますので、必要な項目だけを設定してください。
必須項目は、Web ServerとEmail関連情報の2点です。

次の2点は、特に注意してください。

  • SMTP Serverは本物が求められます。調べておいてください。型式だけを合わせても一応通りますが、後にユーザの追加時にメールアドレスに招待メールが送られたりし、支障が生じます。
  • Ops Managerは、基本的に何等かの方法でMongoDB社のダウンロードサイトに接続できなければなりません。Ops Managerが管理するクラスタ―は、Ops Manager経由でパッケージをダウンロードします。
  • だだし、インターネットから完全にシャットアウトされた環境でもOps Managerのインストール及び運用はできますが、必要なパッケージなどをすべて手動で管理する必要があります。特に、バージョンマニフェストの設定が肝です。

Web Server

Web Serverは、Ops Managerへ接続するためのFQDNを設定します。IPアドレスでも結構です。

http://IPアドレス:8080

この設定は、デフォルトで進みます。

Email

Email設定は、必須になっており、正しい情報(少なくとも正しい型式)を入力しないと先に進みません。
また、後に新規ユーザ登録でもメールの発信が必要になります。

User Authentication

この設定は、デフォルトで進みます。

Multi-Factor Authentication

この設定は、デフォルトで進みます。

Other Authentication Options

この設定は、デフォルトで進みます。

Server Pool

この設定は、デフォルトで進みます。

Backup Snapshots

この設定は、デフォルトで進みます。

Backup Snapshots Schedule

この設定は、デフォルトで進みます。

Backup Snapshots Schedule

この設定は、デフォルトで進みます。

KMIP Server Configuration

この設定は、デフォルトで進みます。

Queryable Snapshot Configurantion

この設定は、デフォルトで進みます。

HTTP/HTTPS Proxy

この設定は、デフォルトで進みます。

Twillo Integration

この設定は、デフォルトで進みます。

MongoDB Version Management

この設定は、デフォルトで進みます。

Alerts

この設定は、デフォルトで進みます。

初期環境設定の完了

次のような画面が表示されたら、初期環境設定は完了しています。

まとめ

OpsMangerは、インストールや設定が些か複雑ですが、MongoDBのクラスタ―構築や運用では殆ど手間がかからない優れたツールです。Ops Manager利用において不明点などが御座いましたら、弊社の営業まで気楽に連絡してください。

Author

モダンアーキテクチャー基盤のソリューションアーキテクトとして活動しています。

[著書]
・Amazon Cloudテクニカルガイド―EC2/S3からVPCまで徹底解析
・Amazon Elastic MapReduceテクニカルガイド ―クラウド型Hadoopで実現する大規模分散処理
・Cypherクエリー言語の事例で学ぶグラフデータベースNeo4j
・Neo4jを使うグラフ型データベース入門(共著)
・RDB技術者のためのNoSQLガイド(共著)

leeの記事一覧

新規CTA