MongoDBのパフォーマンスを監視するための6つの必須ツール
以前、Ubuntu 18.04にMongoDBをインストールする方法をご紹介しました。データベースのデプロイが完了したら、次は運用中のパフォーマンスを継続的に監視することが重要になります。これはデータベース管理業務の中でも最も重要なタスクの一つです。
幸い、MongoDBにはパフォーマンスやアクティビティを取得するためのさまざまな手段が用意されています。本記事では、稼働中のMongoDBインスタンスの状態に関する統計情報をレポートするための監視ユーティリティとデータベースコマンドを紹介します。
1. mongostat
mongostatは、Linux、FreeBSD、Solaris、macOSなど主要なUnix系OSで利用できるvmstat監視ツールと似た機能を持つコマンドです。データベースの状態を手軽に把握でき、稼働中のmongodまたはmongosインスタンスの動的なリアルタイムビューを提供します。挿入(insert)、クエリ(query)、更新(update)、削除(delete)といった操作タイプごとのデータベース処理件数を取得できます。
以下のようにmongostatを実行します。認証が有効になっている場合は、パスワードに特殊文字が含まれるとエラーが発生することがあるため、シングルクォートで囲むことをおすすめします。
$ mongostat -u "root" -p '=@!#@%$admin1' --authenticationDatabase "admin"
mongostatのその他のオプションについては、次のコマンドで確認できます。
$ mongostat --help
2. mongotop
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 } )
または
>db.serverStatus()
4. dbStatsコマンド
dbStatsコマンドは、特定のデータベースのストレージ統計情報を返します。使用しているストレージ容量、データベース内に格納されているデータ量、オブジェクト・コレクション・インデックスのカウントなどを確認できます。
>db.runCommand({ dbStats: 1 } )
または
>db.stats()
5. collStatsコマンド
collStatsコマンドは、dbStatsと同様の統計情報をコレクション単位で収集するために使用します。出力には、コレクション内のオブジェクト数、コレクションのサイズ、消費ディスク容量、およびインデックスに関する情報が含まれます。
>db.runCommand( { collStats : "aurthors", scale: 1024 } )
6. replSetGetStatusコマンド
replSetGetStatusコマンドは、コマンドを処理したサーバーの視点からレプリカセットの状態を出力します。このコマンドはadminデータベースに対して、以下の形式で実行する必要があります。
>db.adminCommand( { replSetGetStatus : 1 } )
上記のユーティリティやデータベースコマンドに加えて、対応しているサードパーティ製の監視ツールを直接、または各ツールのプラグイン経由で利用することも可能です。具体的には、mtop、munin、nagiosなどがあります。
詳細については、MongoDB公式ドキュメントの「Monitoring for MongoDB」を参照してください。
以上です!本記事では、稼働中のMongoDBインスタンスの状態に関する統計情報をレポートするための便利な監視ユーティリティとデータベースコマンドを紹介しました。ご質問やご意見がありましたら、ぜひフィードバックフォームからお知らせください。
-
Bashスクリプトをマスターしてワークフローを強化:開発者と管理者のための初心者向け入門講座
Bashスクリプトは、反復的なタスクを自動化し、日々の作業効率を高めたいと考えているすべての開発者、システム管理者、パワーユーザーにとって欠かせないスキルです。 このたび、無料で学べるプログラミング学習プラットフォーム「freeCodeCamp.org」のYouTubeチャンネルで、初心者向けのBashスクリプト講座が公開されました。講座を担当するのは、HerbertechのHerbert氏です。 この講座で学べること 本講座では、Bashスクリプティングの基礎を段階的に習得できます。主な学習内容は以下のとおりです。 基本的なコマンドの使い方と最初のBashスクリプトの書き方 変数と位置引
-
Linux向けPDFページトリミングツールおすすめ4選|効率的・信頼性が高く無料でも使える
Portable Document Format(PDF)は、現在もっとも広く普及しているファイル形式のひとつです。OSやソフトウェア、ハードウェアの環境に左右されず、文書を正確に表示・共有できる点が最大の強みで、電子文書の事実上の標準として、特にインターネット上で幅広く利用されています。 電子情報のやり取りが増えるにつれ、貴重な情報がPDFドキュメントの形で提供される場面もますます多くなっています。そこで本記事では、Linuxシステムで使えるPDFページトリミング(切り抜き)ツールのおすすめ4選を、それぞれの特徴とともに紹介します。 1. Master PDF Editor【有料】 Mast