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