MongoDBの性能やパフォーマンス、可用性を監視

アプリケーションパフォーマンス監視

NoSQLデータベース・Apache Cassandraの メモリー使用量、接続数を監視

MongoDBは、ビッグデータのプロセスやストレージに対応するための開発や拡張を容易にできるよう、設計されたNoSQLデータベースです。CassandraやMongoDBをはじめとするNoSQLデータベースは、仮想的にアプリケーションの拡張性が無制限のため、アプリケーションインフラストラクチャは複雑になりがちです。したがって、障害の診断やキャパシティプランニングを迅速かつ適切に行うには、データベースの監視業務が重要なタスクとなります。

Applications ManagerのMongoDB監視機能は、データインフラストラクチャの最適化に重要なメトリクスの詳細を可視化します。例えば、メモリー使用率の統計、オープンの接続の統計、CPU使用量などです。

統合的で詳細なデータベースの情報を提供

MongoDB環境は、可用性が高く、多くの分散化されたノードにわたって水平に拡大します。異なるノードの概略は、効果的なアプリケーション監視に不可欠な情報です。Applications Managerは、レプリケーションサーバーやシャーディングサーバーの異なるノード間のリンクに関して、統合的な非常に詳細な情報を、ひとつのビューにまとめて提示します。障害が発生した際の分析に役立つ、非常に精度の高い情報を把握できます。

mongodb-business-view

[mongodb-business-view]

メモリー使用量

MongoDBは、データの蓄積にのためにメモリーマップファイルを使用します。これらのマップファイルは、RAMの合計がアプリケーションの解決に十分でないかどうかを決めるための判断材料としては少し難しいところがあります。アプリケーションのパフォーマンスの問題は、RAMが十分ではないからかもしれません。Applications Managerは、MongoDB環境で稼働するアプリケーションのメモリーの消費を監視し、使用済み、空きのすべてのサーバーのメモリーを表示します。

[MongoDB メモリー使用量監視]

[MongoDB メモリー使用量監視]

接続数

Applications Managerは、使用された/利用可能な、クライアントとデータベースサーバーの接続の数を追跡します。時々、クライアントとデータベース間の接続数が、サーバーの処理可能なリクエスト数を超えることがあります。これは、MongoDB環境のアプリケーションパフォーマンスに異常をきたす場合があります。

[MongoDB 接続数]

[MongoDB 接続数]

データベースオペレーションカウンタ

Applications Managerはレプリケーションやシャーディング操作の詳細と一緒にデータベース操作の統計情報を提供することができます。最後のインスタンスを開始してから、秒単位のデータベース操作の総数(INSERT、GETMORE、DELETE、UPDATE、COMMAND)を監視することによって、一貫した方法で操作が行われていることを確認できます。このデータは、データベースの負荷の解析と追跡に役立ちます。

[MongoDB データベースオペレーションカウンタ]

[MongoDB データベースオペレーションカウンタ]

現在のキューのロック

一貫性を確保するため、MongoDBはロックシステムを採用しています。しかし、ある特定の操作が長時間実行されたままだったり、待機時間が発生したりすると、リクエストや操作はロックが解除されるのを待つため、アプリケーションのパフォーマンスに遅延が発生します。Applications Managerは、読み込みロックまたは書き込みロックを待っている操作の数や、読み取り/書き込み操作を実行するデータベースへのアクティブなクライアント接続の数といった、詳細なロックの統計を提供します。

[MongoDB 現在のキューのロック 詳細]

[MongoDB 現在のキューのロック 詳細]

ジャーナリング統計

MongoDBは、動作耐久性を保証するためにジャーナリングを使用します。ジャーナリングは、データファイルの変更を適用する前に、ジャーナルに変更操作を書き込むシステムです。ジャーナリングによって、MongoDBが停電、災害、その他のあらゆる衝撃への耐久性が保証されます。 Applications Managerは、最後にコミットした間隔でジャーナルにコミットするためにポーリングされたデータを収集し、書き込みロックのバックグラウンドでコミットされ、スケジュールされた間隔の前にコミットします。また、ディスクのデータ書き込み時間のように、バックグラウンドのフラッシュ統計情報を取得することができます。

[MongoDB ジャーナリング統計]

[MongoDB ジャーナリング統計]