AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

mongostat

このドキュメントは、mongostat のバージョン 100.19.0 用です。

mongostat は、現在実行中のmongod またはmongos インスタンスのステータスの概要を簡単に表示するコマンドライン ツールです。mongostat を使用して、システムのボトルネックを特定します。

mongostat UNIX/Linux のファイルシステムユーティリティ vmstat と機能的に似ていますが、mongod および mongos インスタンスに関するデータを提供します。

mongostatシェルではなく、 システムコマンドラインからmongo を実行します。

mongostat 構文:

mongostat <options> <connection-string> <polling interval in seconds>
--help

mongostat のオプションと使用に関する情報を返します。

--verbose, -v

標準出力またはログファイルに返される内部レポートの量が増えます。-v フォームでの冗長性を高めるには、オプションを複数回含めてください(例: -vvvvv)。

--version

mongostat のリリース番号を返します。

--config=<filename>

バージョン100.3.0の新機能。

次の mongostat オプションの機密値を含む YAML 構成ファイルへのフル パスを指定します:

これは、mongostat にパスワードを指定する際に、パスワード プロンプトを使用して指定する以外で推奨される方法です。ファイル内の引数は任意に組み合わせて使用することができます。

構成ファイルは以下の形式をとります。

password: <password>
uri: mongodb://mongodb0.example.com:27017
sslPEMKeyPassword: <password>

uri を指定せずに password オプションを指定する場合は、mongostat コマンドラインオプションを使用して、--username や --host など、接続文字列の他のコンポーネントを指定できます。

このファイルは、必ず適切なファイルシステム権限で保護してください。

重要

--config オプションを使用する際には、次の制限事項と動作にご注意ください。

  • passwordフィールドを指定し、競合するパスワードを含む接続文字列をuriフィールドに指定した場合、mongorestoreはエラーをスローします。

  • --config を使用して構成ファイルを指定し、かつ --password、--uri、または --sslPEMKeyPassword mongostatコマンドラインオプションも使用している場合、コマンドラインオプションは対応する構成ファイルオプションを上書きします。

--uri=<connectionString>

MongoDB 配置の解決可能な URI 接続文字列 を引用符で囲んで指定します。

--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

のバージョン100.0 mongostat以降では、 オプションを使用せずに、接続文字列を位置指定パラメータとして提供することもできます。--uri

mongostat mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

接続文字列は、位置指定パラメータとして mongodb:// または mongodb+srv:// で始まっている限り、コマンドラインの任意の点で指定できます。以下に例を挙げます。

mongostat --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

入力できる接続文字列は 1 つのみです。複数の値を含めようとすると、--uri オプションを使用する場合でも、位置引数として使用する場合でも、エラーになります。

接続文字列のコンポーネントの詳細については、「接続文字列 URI 形式」ドキュメントを参照してください。

注意

connection string 内の一部のコンポーネントは、--username や --password など、独自の明示的コマンドライン オプションを使用して指定することもできます。明示的オプションを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

注意

mongostatUbuntu で18.04 cannot unmarshal DNSを使用している場合、SRV 接続文字列(mongodb+srv:// 形式)を オプションとともに使用すると、--uri エラー メッセージが表示されることがあります。その場合は、次のいずれかのオプションを代わりに使用します。

警告

一部のシステムでは、--uri オプションで接続文字列に設定されたパスワードが、他のユーザーによって呼び出される可能性のある ps などのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。

  • 接続文字列のパスワードを省略し、インタラクティブなパスワード プロンプトを受け取る

  • --config オプションを使用して、パスワードを含む構成ファイルを指定します。

--host=<hostname><:port>, -h=<hostname><:port>

デフォルト: localhost:27017

MongoDB 配置の解決可能なホスト名を指定します。デフォルトでは、mongostat によってポート番号 27017 のローカルホストで実行されている MongoDB インスタンスに接続しようとします。

レプリカセットに接続するには、次のように、レポートするセット ノードを指定できます(--discover フラグも参照)。

--host=<hostname1><:port>,<hostname2><:port>,<...>

IPv6 を使用し、<address>:<port> 形式を使用する場合は、アドレスとポートの組み合わせの一部を括弧で囲む必要があります(例: [<address>])。

あるいは、URI connection string でホスト名を直接指定することもできます。--host を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

--port=<port>

デフォルト: 27017

MongoDB インスタンスがクライアント接続のためにリッスンする TCP ポートを指定します。

あるいは、URI connection string でポートを直接指定することもできます。接続文字列を提供すると同時に、--port を使用中に競合する情報を指定すると、エラーが発生します。

--ssl

TLS / SSLmongodmongos サポートが有効になっている または への接続を有効にします。

あるいは、URI connection string で TLS/SSL サポートを直接構成することもできます。--ssl を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslCAFile=<filename>

証明書認証機関からのルート証明書チェーンを含む .pem ファイルを指定します。相対パスまたは絶対パスを使用して .pem ファイルのファイル名を指定します。

あるいは、URI connection string で .pem ファイルを直接指定することもできます。--sslCAFile を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslPEMKeyFile=<filename>

TLS/SSL 証明書とキーの両方を含む .pem ファイルを指定します。相対パスまたは絶対パスを使用して、.pem ファイルのファイル名を指定します。

このオプションは、--ssl オプションを使用して、allowConnectionsWithoutCertificates なしでmongodmongos CAFileが有効になっている または に接続する場合に必要です。

あるいは、URI connection string で .pem ファイルを直接指定することもできます。--sslPEMKeyFile を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslPEMKeyPassword=<value>

証明書鍵ファイルの複合化用パスワード(--sslPEMKeyFile --sslPEMKeyPassword)を指定します。証明書鍵ファイルが暗号化されている場合にのみ、 オプションを使用します。いずれの場合も、mongostat はすべてのログとレポート出力からパスワードを削除します。

PEMファイル内の秘密キーが暗号化されており、--sslPEMKeyPassword オプションを指定しない場合は、mongostat はパスフレーズの入力を要求します。詳細については、「 TLS/SSL 証明書のパスフレーズ 」を参照してください。

あるいは、URI connection string でパスワードを直接指定することもできます。--sslPEMKeyPassword を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

警告

一部のシステムでは、--sslPEMKeyPassword オプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のある ps などのシステム ステータス プログラムに表示される場合があります。代わりに --config オプションを使用して、パスワードを含む構成ファイルを指定することを検討してください。

--sslCRLFile=<filename>

証明書失効リストを含む .pem ファイルを指定します。相対パスまたは絶対パスを使用して .pem ファイルのファイル名を指定します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslAllowInvalidCertificates

サーバー証明書の検証チェックをバイパスし、無効な証明書を使用できるようにします。 設定を使用すると、 MongoDBallowInvalidCertificates は無効な証明書の使用を警告としてログを記録します。

警告

--sslAllowInvalidCertificates オプションは使用可能ですが、可能な限り使用しないでください。--sslAllowInvalidCertificates の使用が必要な場合は、侵入が不可能なシステムでのみこのオプションを使用してください。

mongodサーバー証明書を検証せずに または インスタンスに接続すると、潜在的なセキュリティ上のリスクが発生します。 TLS/SSL 証明書のホスト名の検証を無効にするだけの場合は、 を参照してください。mongos--sslAllowInvalidHostnames

あるいは、URI connection string で証明書の検証を直接無効にすることもできます。接続文字列を提供すると同時に、--sslAllowInvalidCertificates を使用中に競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslAllowInvalidHostnames

TLS/SSL 証明書のホスト名の検証を無効にします。証明書内のホスト名が指定されたホスト名と一致しない場合でも、mongostat によって MongoDB インスタンスへの接続が許可されます。

あるいは、URI connection string でホスト名の検証を直接無効にすることもできます。--sslAllowInvalidHostnames を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--username=<username>, -u=<username>

認証 を使用するMongoDBデータベースへの認証すに使用するユーザー名を指定します。--password および--authenticationDatabase オプションと組み合わせて使用します。

あるいは、URI connection string でユーザー名を直接指定することもできます。--username を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

を使用してMongoDB MONGODB-AWSauthentication mechanismAtlasクラスターに接続する場合は、次の場所でAWSアクセスキーID を指定できます。

  • このフィールド

  • connection string、または

  • AWS_ACCESS_KEY_ID 環境変数。

それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。

--password=<password>, -p=<password>

認証 を使用するMongoDBデータベースに対して認証するためのパスワードを指定します。--username および--authenticationDatabase オプションと組み合わせて使用します。

ユーザーにパスワードの入力を求めるには、--username --password--passwordなしで オプションを渡すか、--password="" のように 値として空の文字列を指定します。

あるいは、URI connection string でパスワードを直接指定することもできます。--password を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

を使用してMongoDB MONGODB-AWSauthentication mechanismAtlasクラスターに接続する場合は、次の場所でAWSシークレット アクセスキーを指定できます。

  • このフィールド

  • connection string、または

  • AWS_SECRET_ACCESS_KEY 環境変数。

それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。

警告

一部のシステムでは、--password オプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のある ps などのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。

  • --password オプションを省略し、インタラクティブなパスワード プロンプトを表示する

  • --config オプションを使用して、パスワードを含む構成ファイルを指定します。

--awsSessionToken=<AWS Session Token>

を使用してMongoDB Atlasクラスターに接続し、 MONGODB-AWSauthentication mechanismAWSアクセスキーIDとシークレットアクセスキーに加えてセッション トークンを使用する場合は、次の場所にAWSセッション トークンを指定できます。

それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。

MONGODB-AWS authentication mechanism を使用している場合にのみ有効です。

--authenticationDatabase=<dbname>

指定された--username が作成された認証データベースを指定します。詳細については、「 認証データベース 」を参照してください。

--authenticationDatabasemongodmongos自己管理型配置で認証を使用する および インスタンスには が必要です。

GSSAPI(Kerberos)、PLAIN(LDAP SASL)、または MONGODB-AWS authentication mechanisms を使用する場合は、--authenticationDatabase を $externalに設定する必要があります。

あるいは、URI connection string で認証データベースを直接指定することもできます。--authenticationDatabase を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

--authenticationMechanism=<name>

デフォルト: SCRAM-SHA-1

mongostatインスタンスがmongod またはmongos への認証に使用する認証メカニズムを指定します。

バージョン 100.1.0 での変更:

バージョン 100.1.0 以降、mongostat は MongoDB Atlas クラスターに接続する際、MONGODB-AWS 認証メカニズムのサポートを追加します。

値
説明

RFC5802 標準の Salted Challenge Response Authentication Mechanism(SHA-1 ハッシュ関数を使用)。

RFC7677 標準の Salted Challenge Response Authentication Mechanism(SHA-256 ハッシュ関数を使用)。

featureCompatibilityVersion を 4.0 に設定する必要があります。

MongoDB TLS/SSL 証明書認証。

MONGODB-AWS

MongoDB Atlas クラスターへの接続に使用する AWS IAM 認証情報を使用した外部認証。「AWS IAM 認証情報を使用して MongoDB Atlas クラスターに接続する」を参照してください。

バージョン100.1.0の新機能。

GSSAPI(Kerberos)

Kerberos を使用する外部認証。このメカニズムは MongoDB Enterprise でのみ使用できます。

PLAIN(LDAP SASL)

LDAP を使用する外部認証。データベース内のユーザー認証には、PLAIN を使用することもできます。PLAIN はパスワードをプレーン テキストで送信します。このメカニズムは MongoDB Enterprise でのみ使用できます。

あるいは、URI connection string で認証メカニズムを直接指定することもできます。--authenticationMechanism を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

--gssapiServiceName=<string>

GSSAPI/Kerberos を使用してサービスの名前を指定します。サービスがデフォルト名mongodb を使用しない場合のみ必要となります。

このオプションは MongoDB Enterprise でのみ使用できます。

--gssapiHostName=<string>

GSSAPI/Kerberos を使用してサービスのホスト名を指定します。マシンのホスト名が DNS で解決されたホスト名と一致しない場合にのみ必要となります。

このオプションは MongoDB Enterprise でのみ使用できます。

--humanReadable=<boolean>

デフォルト: true

true の場合、 mongostatは、日付と数量の値をフォーマットして読みやすくします。次のサンプル出力を参照してください。

insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
991 *0 *0 *0 0 2|0 3.4% 4.5% 0 2.90G 297M 0|0 0|0 12.9m 84.2k 2 Oct 6 09:45:37.478
989 *0 *0 *0 0 2|0 3.6% 4.7% 0 2.91G 310M 0|0 0|0 12.9m 84.1k 2 Oct 6 09:45:38.476
988 *0 *0 *0 0 1|0 3.7% 4.8% 0 2.92G 323M 0|0 0|0 12.8m 83.8k 2 Oct 6 09:45:39.481
976 *0 *0 *0 0 2|0 3.9% 5.0% 0 2.94G 335M 0|0 0|0 12.7m 83.7k 2 Oct 6 09:45:40.476

false の場合、 mongostat 次のサンプル出力のように未加工データを返します。

insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
992 *0 *0 *0 0 2|0 1.3 2.4 0 2941255680 149946368 0|0 0|0 12913607 84271 2 2016-10-06T09:45:25-04:00
989 *0 *0 *0 0 1|0 1.5 2.6 0 2974810112 163577856 0|0 0|0 12873225 84087 2 2016-10-06T09:45:26-04:00
996 *0 *0 *0 0 1|0 1.6 2.8 0 2972712960 177209344 0|0 0|0 12955423 84345 2 2016-10-06T09:45:27-04:00
987 *0 *0 *0 0 1|0 1.8 2.9 0 2989490176 190840832 0|0 0|0 12861852 84008 2 2016-10-06T09:45:28-04:00
-o=<field list>

出力フィールドが-o で指定されている場合、指定されたフィールドのみがmongostat の出力に含まれます。

serverStatus fieldsを指定するには、metrics.document.inserted のようにドット表記を使用します。

カスタム フィールド名にはスペースを含めることができます。スペースを含める場合は、フィールド名の前後に追加の引用符を付けないでください。フィールドにカスタム名を指定するには、次のように <field>=<customName> を使用します。

mongostat -o='host=H,time=T,version=MongoDB Version'

-o は、特定の serverStatus フィールドに返される情報を変更するための次のメソッドをサポートしています。

.rate()

を使用して、 呼び出しから 呼び出しへの serverStatusフィールドの変化率を 1.rate() 秒あたりに表示します。mongostat

次のコマンドでフィールドにおける変化率を表示します: .rate()は、mongostat -oと.rate() メソッドで を使用する方法を説明します。

.diff()

.diff()を使用して、前回の 呼び出し以降に serverStatusフィールドがどの程度変更されたかを確認します。呼び出し間隔はmongostat <sleeptime>で指定されます。

次のコマンドでフィールドにおける変更を表示します: .diff()は、mongostat -oと.diff() メソッドで を使用する方法を説明します。

mongostat -oは、-O または の いずれか の指定をサポートしています。両方のオプションを含めることはできません。

の例については、「 mongostat出力フィールドの指定-o 」を参照してください。

-O=<field list>

指定すると、mongostat にはデフォルトのserverStatus 出力の後に、指定されたmongostat フィールドが含まれます。

serverStatus fieldsを指定するには、metrics.document.inserted のようにドット表記を使用します。

カスタム フィールド名にはスペースを含めることができます。スペースを含める場合は、フィールド名の前後に追加の引用符を付けないでください。フィールドにカスタム名を指定するには、次のように <field>=<customName> を使用します。

mongostat -O=host=H,time=T

mongostat -Oは、-o または の いずれか の指定をサポートしています。両方のオプションを含めることはできません。

の例については、「 mongostat出力にフィールドを追加する-O 」を参照してください。

--noheaders

列名またはフィールド名の出力を無効にします。

--rowcount=<number>, -n=<number>

出力される行数を制御します。mongostat 操作の継続時間を制御するために、sleeptime 引数と組み合わせて使用します。

--rowcountが指定されていない限り、mongostat は無限の数の行を返します(例: の値)。0

--discover

レプリカセットまたはシャーディングされたクラスターのすべてのメンバーから統計を検出し、レポートします。レプリカセットのいずれかのメンバーに接続すると、レプリカセットの--discover 以外のすべての 非表示されていないメンバー は になります。 に接続すると、mongos mongostatはクラスター内のすべての シャード からのデータを返します。レプリカセットがシャーディングされたクラスター内に シャード を提供する場合、mongostat はそのレプリカセットの非表示でないメンバーを報告します。

mongostat --hostオプションは必須ではありませんが、この場合は役立つ可能性があります。

--discoverを使用して実行中いる場合、mongostat --rowcountは を尊重します。

--all

すべての任意の フィールド を返すように mongostat を構成します。

--json

mongostat の出力を JSON 形式で返します。

--interactive

mongostat 出力が、デフォルトのスクロール出力ではなく、インタラクティブな非スクロール インターフェースで表示されます。

--interactiveは--json オプションでは使用できません。

の例については、「 インタラクティブ インターフェースで統計情報を表示する--interactive 」を参照してください。

<sleeptime>

デフォルト: 1

最後の mongostat 引数は、mongostat が呼び出し間で待機する時間の長さ(単位: 秒)です。デフォルトでは、 mongostat は 1 秒ごとに 1 回の呼び出しを返します。

mongostat は、 1秒間の操作に関する値を返します。 <sleeptime>の値が1 より大きい場合、 はデータを平均化し、1mongostat 秒あたりの平均操作数を示します。

mongostat は、 1秒間の操作に関する値を返します。 mongostat [sleoptime]<sleeptime> の値が1 より大きい場合、 は統計データを平均化し、1mongostat 秒あたりの平均操作を示します。

mongostat は次のフィールドを出力します。

inserts

1 秒あたりにデータベースに挿入されるオブジェクトの数。アスタリスクが続く場合(例:*)、データはレプリケートされた操作を参照します。

query

1 秒あたりのクエリ操作の数。

update

1 秒あたりのアップデート操作の数。

delete

1 秒あたりの削除操作の数。

getmore

1 秒あたりの get more(つまり、カーソル バッチ) 操作の数。

command

1 秒あたりのコマンド数。セカンダリ システムでは、mongostat はパイプ文字で区切られた2つの値を| コマンドの形式で表します(例:local|replicated )。

flushes

WiredTigerストレージ エンジンの場合、flushes は各ポーリング間隔の間にトリガーされるWiredTigerチェックポイントの数を示します。

dirty

WiredTigerストレージ エンジンのみ。ダーティバイトを含むWiredTigerキャッシュの割合。wiredTiger.cache.tracked dirty bytes in the cache /wiredTiger.cache.maximum bytes configured で計算されます。

used

WiredTigerストレージ エンジンのみ。使用中のWiredTigerキャッシュの割合。wiredTiger.cache.bytes currently in the cache /wiredTiger.cache.maximum bytes configured で計算されます。

vsize

最後の mongostat 呼び出し時にプロセスによって使用された仮想メモリの量(単位: メガバイト)。

res

最後の mongostat 呼び出し時にプロセスによって使用された常駐メモリの量(単位: メガバイト)。

locked

グローバル書込みロック(write lock)における時間の割合。mongostat が MongoDB インスタンスの 3.0 前に対して実行されている場合にのみ表示されます。

qr

MongoDB インスタンスからデータを読み取るのを待機しているクライアントのキューの長さ。

qw

MongoDB インスタンスからデータを書込むのを待機しているクライアントのキューの長さ。

ar

読み取り操作を実行しているアクティブなクライアントの数。

aw

書込み操作を実行しているアクティブなクライアントの数。

netIn

MongoDB インスタンスが受信したネットワークトラフィックの量(単位: バイト)。

これには、 mongostat 自体からのトラフィックが含まれます。

netOut

MongoDB インスタンスが送信したネットワークトラフィックの量(単位: バイト)。

これには、 mongostat 自体からのトラフィックが含まれます。

conn

オープン コネクションの合計数。

set

レプリカセットの名前(該当する場合)。

repl

ノードのレプリケーション状態。

値
レプリケーション型

PRI

SEC

REC

リカバリ中

UNK

不明

RTR

mongos プロセス("ルーター")

ARB

MongoDB の監視について詳しくは、「MongoDB の監視」を参照してください。

MongoDB のその他のステータス出力の背景については、以下を参照してください。

MongoDB メトリクスを提供する追加のユーティリティについては、mongotop を参照してください。