25
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MongoDBAdvent Calendar 2013

Day 8

MongoDBの監視をNew Relicでやってみよう

Last updated at Posted at 2013-12-09

New RelicのプラグインであるMongoDB Pluginを入れて、MongoDBのリソース状況を監視してみたので、手順を書きます。
今回はEC2のAmazon Linuxにインストールしました。

なお、MongoDBのリソース監視には本家が作っているMMS(MongoDB Management Service)というものもあります。こちらは12月後半に登場予定です。

New Relic とは

Screen Shot 2013-12-09 at 12.36.37 PM.png

クラウドでサーバのリソース状況を監視してくれるサービスです。各リソースに閾値を設定できて、超えるとメールで通知してくれます(例: CPU 90%以上など)。サービスの生死確認もできます。
今回の利用範囲は無料で使えます。

アカウントを作成して、License Keyを取得しておきましょう。

MongoDB Pluginで何ができるの?

以下のデータがグラフィカルに確認できます。

  • データベース オペレーションの概要(Insert, Updateの件数など)
  • インデックスの使用状況
  • ファイルシステムの書き込み状況
  • ロック(クライアント数、ロックキュー、ロック時間など)
  • データサイズ(ファイルサイズ、コレクション数、インデックス数など)
  • システムメモリ(Mapped Memory, Page Faultsなど)

手順のダイジェスト

  1. 監視対象サーバへnewrelic agentのインストールと起動
  2. pipでmongodb用newrelic pluginをインストール
  3. newrelic plugin用のコンフィグファイルを編集
  4. 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を記入

newrelic_plugin_agent.cfg
%YAML 1.2
---
Application:
  license_key: # ここにLicense Keyを書く
  wake_interval: 60
  #proxy: http://localhost:8080

MongoDB用の設定をコメントアウトを外して監視サーバの情報を記入

newrelic_plugin_agent.cfg
  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が追加されれば成功です。

Screen Shot 2013-12-09 at 12.31.43 PM.png

トラブルシューティング

/var/log/newrelic/newrelic_plugin_agent.logを見てみましょう。

こちらも参考に。
https://github.com/MeetMe/newrelic-plugin-agent#troubleshooting

参考URL

25
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?