MongoDB のパフォーマンスを監視するための 6 つの便利なツール
最近、Ubuntu 18.04 に MongoDB をインストールする方法を紹介しました。データベースを正常に展開したら、実行中のパフォーマンスを監視する必要があります。これはデータベース管理において最も重要なタスクの 1 つです。
幸いなことに、MongoDB はそのパフォーマンスとアクティビティを取得するためのさまざまな方法を提供します。この記事では、実行中の MongoDB インスタンスの状態に関する統計をレポートするための監視ユーティリティとデータベース コマンドについて説明します。
1. モンゴスタット
Mongostat は vmstat 監視ツールと機能が似ており、Linux、FreeBSD、Solaris、MacOS などのすべての主要な Unix 系オペレーティング システムで利用できます。 Mongostat は、データベースのステータスの概要を簡単に把握するために使用されます。実行中のmongod または mongos インスタンスの動的リアルタイム ビューを提供します。挿入、クエリ、更新、削除などの種類ごとにデータベース操作の数を取得します。
図のように、mongostat を実行できます。認証を有効にしている場合は、特に特殊文字が含まれている場合にエラーが発生しないように、ユーザー パスワードを一重引用符で囲んでください。
mongostat -u "root" -p '=@!#@%$admin1' --authenticationDatabase "admin"
その他のmongostat 使用オプションについては、次のコマンドを入力します。
mongostat --help
2. モンゴトップ
Mongotop は、実行中の MongoDB インスタンスの動的なリアルタイム ビューも提供します。 MongoDB インスタンスがデータの読み取りと書き込みに費やした時間を追跡します。デフォルトでは、値を 1 秒ごとに返します。
mongotop -u "root" -p '=@!#@%$admin1' --authenticationDatabase "admin"
その他のmongotop 使用オプションについては、次のコマンドを入力します。
mongotop --help
3.serverStatusコマンド
まず、次のコマンドを実行してmongo シェルにログインする必要があります。
mongo -u "root" -p '=@!#@%$admin1' --authenticationDatabase "admin"
次に、serverStatus コマンドを実行します。このコマンドは、インスタンスに関する統計を収集することによって、データベースの状態の概要を提供します。
>db.runCommand( { serverStatus: 1 } )
OR
>db.serverStatus()
4. dbStats コマンド
dbStats コマンドは、使用されているストレージの量、データベースに含まれるデータの量、オブジェクト、コレクション、インデックス カウンターなど、特定のデータベースのストレージ統計を返します。
>db.runCommand({ dbStats: 1 } )
OR
>db.stats()
5. コル統計
collStats コマンドは、dbStats によってコレクション レベルで提供されるものと同様の統計を収集するために使用されますが、その出力にはコレクション内のオブジェクトの数、コレクションのサイズが含まれます。 、コレクションによって消費されるディスク容量、およびそのインデックスに関する情報。
>db.runCommand( { collStats : "aurthors", scale: 1024 } )
6. replSetGetStatusコマンド
replSetGetStatus コマンドは、コマンドを処理したサーバーの観点からレプリカ セットのステータスを出力します。このコマンドは、次の形式で admin データベースに対して実行する必要があります。
>db.adminCommand( { replSetGetStatus : 1 } )
上記のユーティリティとデータベース コマンドに加えて、サポートされているサードパーティの監視ツールを直接または独自のプラグイン経由で使用することもできます。これらには、mtop、munin、nagios が含まれます。
詳細については、MongoDB のモニタリングのドキュメントを参照してください。
今のところはここまでです!この記事では、実行中の MongoDB インスタンスの状態に関する統計をレポートするためのいくつかの便利な監視ユーティリティとデータベース コマンドについて説明しました。ご質問やご意見がございましたら、以下のフィードバック フォームをご利用ください。