MongoDBデータベース監視
MongoDB――概要
MongoDBはNoSQLデータベースで、大規模なデータ処理と保存を支援すべく、開発の容易さや拡張性を重視したデザインになっています。Applications ManagerのMongoDB監視機能を利用すれば、重要メトリックが詳細にわかり、データインフラの最適化が可能です。メモリ利用率、オープンな接続、CPU利用率、データベース操作のパフォーマンスと遅延、トランザクション詳細、応答時間、キューのロック、ジャーナリングなどの統計データをご確認いただけます。Applications Managerは、自動アラートでデータベースのパフォーマンスやリソール利用を追跡し、中央コンソールのグラフやカスタム ダッシュボードで表示します。
新規MongoDB監視を作成する
サポート対象のバージョン:MongoDB 3.6.2以前のバージョンをサポートします。mongodサービスやmopngosサービスも対象です。
MongoDB監視の要件:Applications ManagerでMongoDB監視を作成するには、MongoDBデータベースすべてに読み込み権限が必要です。
Mongoデータベース サーバー監視を作成するには、次の手順に従ってください。
- 新規の監視のリンクをクリックします。
- Mongoを選択してください。
- Mongo監視の表示名を指定します。
- MongoDB/mongoプロセスを実行しているホストの名前やIPアドレスを入力ください。
- サーバーが稼働しているポートを入力してください。デフォルトでは27017番です。
- 該当ノードだけをディスカバリする場合は、レプリカ セット/シャーディングのノードすべてのディスカバリを無効にしてください。デフォルトでは、有効になっています。
- MongoDBサーバーへの接続に使う認証情報を指定するには、「認証を必要とする」を選択してください。ここで、ユーザー名とパスワードを入力します。
- ポーリング間隔を指定します(分)。
- Enterprise EditionのAdminサーバーから新規監視を追加するには、Managedサーバーを選択します。
- MongoDBサーバーを関連付ける監視グループを、コンボボックスから選択します(任意項目)。監視は複数グループに関連付け可能です。
- 監視の追加をクリックします。これにより、ネットワークからMongoDBサーバーを検出し、監視が始まります。
監視対象のパラメーター
MongoDBの監視には、下記のパラメーターや属性を用います。属性ではMongoDBの稼働状況がわかります。これらパラメーターにもとづいて、監視対象の数値型属性にしきい値を設定することも可能です。
監視タブをクリックし、監視カテゴリ ビューへ移動してください。データベース テーブルで、MongoDBをクリックしてください。Mongodb一括設定ビューが3つのタブに分類・表示されます。
- 可用性タブでは、過去24時間か30日の可用性履歴がわかります。
- パフォーマンス タブでは、過去24時間か30日のステータスとイベントがわかります。
- リスト ビューでは一括管理設定が可能です。
監視スナップショットでは、過去6時間の可用性とパフォーマンス履歴が表示されます。ビジネス ビューは、レプリカ セットやシャーディング サーバーにあるノード間のリンクを、包括的かつ簡潔に把握するのに有用です(ただし、レプリカ セットやシャーディング サーバー群に参加していないサーバーは、他の画面で確認ください)。
サーバー ステータス
パラメーター | 説明 |
---|---|
パフォーマンス ステータス | サーバーの使用済みメモリと空きメモリを示します(%)。 |
メモリ利用率 | サーバーの利用中メモリ、空きメモリ、総メモリを表します(MB)。 |
現在の接続 | データベース サーバーで利用中の接続と、利用できる接続の数を表します。サーバー負荷と必要キャパシティの評価に有益です。 |
ネットワーク トラフィック | データベースによるネットワーク トラフィックの送受信速度を指します(バイト/秒)。mongodプロセスが安定してネットワーク トラフィックを送受信しているかわかります。 |
データベース操作カウンター | mongodインスタンスが最後に起動して以来の、各種データベース操作(insert、get、query、update、command)の実行ペースを指します(数/秒)。データベースへの負荷を分析・追跡するのに役立ちます。 |
アサーション エラー | サーバー プロセス起動以来の、アサーション(regular、warning、message、user、rollover)の実行ペースを指します(数/秒)。 |
ロック統計 | データベースが最後に起動して以来の経過時間です(秒)。 |
現在のキューロック詳細 | キューイング済みで、読み込みロックや書き込みロックを待期している操作の数を表します。 |
アクティブ クライアントのロック詳細 | データベースで読み書き操作を行っている、アクティブなクライアント接続の数を示します。 |
バックグラウンド フラッシュ | データベースによるディスクへの全書き込みフラッシュの発生ペースを指します(数/秒)。 |
バックグラウンド フラッシュ統計 | mongodプロセスがディスクへの書き込みに費やした時間を指します(秒)。 |
ジャーナリング コミット | 最新ジャーナル グループ コミット間隔に、ジャーナルに書き込まれたトランザクションの数を表します。ジャーナルは、シーケンシャルなバイナリのトランザクションで、ハード シャットダウンが発生した際、データベースの一貫性を保つのに利用されます。MongoDBはジャーナリング時にグループ コミットを行い、何ミリ秒にもわたる一連の操作をコミットします。この挙動は、高いパフォーマンスの実現を目的としています。 |
ジャーナリング データ | 最新ジャーナル グループ コミット間隔に、ジャーナルに書き込まれたデータ量を指します(MB)。 |
ジャーナリング統計 | 最新ジャーナル グループ コミット間隔に、ジャーナリングの各フェーズでかかった時間を表します(秒)。 |
メモ:上記サーバー統計のメトリックのうち、mongod装置ではすべてを表示しますが、mongos装置については、最初の6つのみが表示されます。
カーソルs
パラメーター | 説明 |
---|---|
オープン カーソル数 | 1セッションで同時に開けるカーソル数の上限を指します。過剰なカーソルを開かないよう注意するのに有用です。 |
タイムアウト カーソル数 | 最新のサーバー再起動以来、タイムアウトしたカーソルの数です。 |
インデックス カウンター
パラメーター | 説明 |
---|---|
アクセス済みインデックス | MongoDBステートメントによるアクセスがあったインデックスの数です。 |
メモリでの対応インデックス | インデックスのうち、クエリ時に必要情報がすべてメモリにあれば、そちらで対応するものを表します。 |
ディスクでの対応インデックス | インデックスのうち、メモリで必要情報がそろわず、ディスク用見込みを要するものを指します。 |
ミス率 | ヒットとミスの比率を指します。ミスとは、メモリにないインデックスへのアクセスをトライした回数を、コレクションごとに数えたものです。ヒットは、インデックス アクセスに成功し、mongodがメモリからインデックスを返した回数を、コレクションごとにカウントしています。 |
ページ フォールト
パラメーター | 説明 |
---|---|
総ページ フォールト | データが物理メモリにないか、物理メモリが枯渇しているかの理由で、MongoDBがファイル データの一部でも読み書きができず、ページ フォールトが発生した回数の合計を指します。 |
ページ フォールトのカウンター | MongoDBはWindowsでは、ソフト ページ フォールトもハード ページ フォールトもカウントします。このカウンターは、パフォーマンス低下時は劇的に上昇することがあり、物理メモリ不足と関連があります。 |
データベース統計
パラメーター | 説明 |
---|---|
データベース名 | 統計監視の対象となるデータベースの名前です。 |
コレクション | コレクションの数を指します。コレクションとは、MongoDBドキュメントのグループです。 |
オブジェクト | コレクションに含まれる、JSONデータとパフォーマンス オブジェクトすべてを指します。 |
平均オブジェクト サイズ | シャードに存在する、キー・バリュー形式オブジェクトの平均サイズです。 |
データ サイズ | コレクションに保存されているデータのサイズです(MB)。 |
インデックス | データベースにあるインデックスの総数です。 |
インデックス サイズ | データベースにある全インデックスの総サイズを表します(KB)。 |
ファイル サイズ | データベース コンテンツを保持しているファイルのサイズです(MB)。 |
レプリカ ステータス
パラメーター | 説明 |
---|---|
レプリケーション詳細 | MongoDBレプリカ セット設定のステータス情報です。ホストでレプリケーションが有効になっている場合のみ、表示されます。 |
レプリケーション操作カウンター | mongodインスタンスが最後に起動して以来の、データベース レプリケーション操作(insert、update、delete、getMore、command)の実行ペースを指します(数/秒)。レプリカへの負荷を分析するのに役立ちます。 |
シャーディング操作カウンター(シャーディング有効/無効) | mongosインスタンスが最後に起動して以来の、データベース レプリケーション操作(insert、update、delete、getMore、command)の実行ペースを指します(数/秒)。シャーディングの有無は不問です。 |
メモ:レプリカ統計タブでは、mongod装置のレプリカ情報と、mongos装置のシャーディング情報のみを表示します。