New RelicのプラグインであるMongoDB Pluginを入れて、MongoDBのリソース状況を監視してみたので、手順を書きます。
今回はEC2のAmazon Linuxにインストールしました。
なお、MongoDBのリソース監視には本家が作っているMMS(MongoDB Management Service)というものもあります。こちらは12月後半に登場予定です。
New Relic とは
クラウドでサーバのリソース状況を監視してくれるサービスです。各リソースに閾値を設定できて、超えるとメールで通知してくれます(例: CPU 90%以上など)。サービスの生死確認もできます。
今回の利用範囲は無料で使えます。
アカウントを作成して、License Keyを取得しておきましょう。
MongoDB Pluginで何ができるの?
以下のデータがグラフィカルに確認できます。
- データベース オペレーションの概要(Insert, Updateの件数など)
- インデックスの使用状況
- ファイルシステムの書き込み状況
- ロック(クライアント数、ロックキュー、ロック時間など)
- データサイズ(ファイルサイズ、コレクション数、インデックス数など)
- システムメモリ(Mapped Memory, Page Faultsなど)
手順のダイジェスト
- 監視対象サーバへnewrelic agentのインストールと起動
- pipでmongodb用newrelic pluginをインストール
- newrelic plugin用のコンフィグファイルを編集
- newrelic pluginの起動
New RelicのダッシュボードにMongoDBが追加されます。
監視対象サーバへnewrelic agentのインストール
rpmからNew Relicのエージェントである、newrelic-sysmondをインストールします。コンフィグにLicense Keyを設定した後に、起動します。
sudo rpm -Uvh http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm
sudo yum -y install newrelic-sysmond
sudo nrsysmond-config --set license_key=#License Key#
sudo /etc/init.d/newrelic-sysmond start
New Relicのサイトへログインして、監視対象サーバが追加されていたら成功です。
pipでmongodb用newrelic pluginをインストール
pipのインストール
sudo yum -y install python-pip
sudo yum -y install gcc python-devel # c extensionをコンパイルするため
sudo pip install newrelic-plugin-agent # plugin-agentをインストール
sudo pip install newrelic_plugin_agent[mongodb] # mongodb用の追加ファイルをインストール
newrelic_plugin_agent -h
で情報が表示されたら成功です。
newrelic plugin用のコンフィグファイルを編集
/opt/newrelic_plugin_agent/newrelic_plugin_agent.cfg
からコピーします。
cp /opt/newrelic_plugin_agent/newrelic_plugin_agent.cfg /etc/newrelic/newrelic_plugin_agent.cfg
License Keyを記入
%YAML 1.2
---
Application:
license_key: # ここにLicense Keyを書く
wake_interval: 60
#proxy: http://localhost:8080
MongoDB用の設定をコメントアウトを外して監視サーバの情報を記入
mongodb:
name: kitchhike.com
host: localhost
port: 27017
# admin_username: user
# admin_password: pass
# ssl: False
# ssl_keyfile: /path/to/keyfile
# ssl_certfile: /path/to/certfile
# ssl_cert_reqs: 0 # Should be 0 for ssl.CERT_NONE, 1 for ssl.CERT_OPTIONAL, 2 for ssl.CERT_REQUIRED
# ssl_ca_certs: /path/to/cacerts file
databases:
- kitchhike_production
newrelic pluginの起動
newrelic_plugin_agent -c /etc/newrelic/newrelic_plugin_agent.cfg
ダッシュボードの左側のメニューに、MongoDBが追加されれば成功です。
トラブルシューティング
/var/log/newrelic/newrelic_plugin_agent.log
を見てみましょう。
こちらも参考に。
https://github.com/MeetMe/newrelic-plugin-agent#troubleshooting
参考URL
- New Relicでアプリケーションのパフォーマンス測定
http://dev.classmethod.jp/tool/newrelic/ - New Relic MongoDB Plugin http://newrelic.com/plugins/meetme-inc/94
- installation-instructions
https://github.com/MeetMe/newrelic-plugin-agent#installation-instructions