このドキュメントは、mongotop のバージョン 100.19.0 用です。
Synopsis
mongotop は、 MongoDBインスタンスmongod がデータの読み取りと書き込みに費やす時間を追跡する方法を提供するコマンドラインmongotop ツールです。 により、各コレクションごとに統計情報を取得できます。デフォルトでは 、 はmongotop 1 秒ごとに値を返します。
構文
mongotop 構文:
mongotop <options> <connection-string> <polling interval in seconds>
mongotopコマンドライン オプションなしで を実行すると、ポート 経由でmongod localhost で実行中27017 インスタンスに接続され、デフォルトで 1 秒ごとに値が返されます。
mongotop
mongotop が 30 秒ごとにレポートするようにするには、ポーリング間隔を指定します。
mongotop 30
mongodインスタンスに接続すると、プログラムは最初に接続について報告し、次に設定された頻度で統計について報告します。
2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1 ns total read write <timestamp> <db.collection> 81802ms 0ms 81802ms ...
コマンドライン オプション
mongotop [options] [frequency]
さまざまな コマンドライン オプション を使用して mongotop を実行できます。
例、リモートmongotop mongodホストmongodb0.example.com で実行中 インスタンスに を接続し、30 秒ごとにレポートするには、次のようにします。
ホストとポートを指定するには、任意のレポート頻度(この例では30 秒)と
--uriオプションを含めます。mongotop 30 --uri='mongodb://mongodb0.example.com:27017' [additional options] mongodインスタンスに認証が必要な場合は、 URI接続文字列の一部としてユーザー、パスワード、および認証データベースを指定できます。mongotop 30 --uri='mongodb://user:password@mongodb0.example.com:27017/?authSource=admin' [additional options] mongotopserverStatustopを実行中ユーザーには、 権限と 権限が必要です。URI接続文字列の詳細については、
--uriを参照してください。--hostまたは、 と--portオプションを使用して、ホストとポートを指定することもできます。mongotop 30 --host=mongodb0.example.com --port=27017 [additional options] mongodインスタンスに認証が必要な場合は、ユーザー-uと認証データベース--authenticationDatabaseを指定できます。--passwordmongoexportオプションを省略すると、 でパスワードの入力を求められます。mongotop 30 --host=mongodb0.example.com --port=27017 -u=user --authenticationDatabase=admin [additional options] mongotopserverStatustopを実行中ユーザーには、 権限と 権限が必要です。
利用可能なオプションの詳細については、「オプション」を参照してください。
mongodインスタンスに接続すると、プログラムは最初に接続について報告し、次に設定された頻度で統計について報告します。
2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1 ns total read write <timestamp> <db.collection> 81802ms 0ms 81802ms ...
オプション
--quiet出力量を制限する quiet モードで
mongotopを実行します。このオプションにより次の項目が抑制されます。
データベース コマンド からの出力
レプリケーション アクティビティ
接続を受け付けたイベント
接続を終了したイベント
--config=<filename>バージョン100.3.0の新機能。
次の
mongotopオプションの機密値を含む YAML 構成ファイルへのフル パスを指定します:これは、
mongotopにパスワードを指定する際に、パスワード プロンプトを使用して指定する以外で推奨される方法です。ファイル内の引数は任意に組み合わせて使用することができます。構成ファイルは以下の形式をとります。
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> passwordを指定せずにuriオプションを指定する場合は、mongotopコマンドラインオプション(--usernameや--hostなど)を使用して接続文字列の他のコンポーネントを指定できます。このファイルは、必ず適切なファイルシステム権限で保護してください。
重要
--configオプションを使用する際には、次の制限事項と動作にご注意ください。passwordフィールドを指定し、競合するパスワードを含む接続文字列をuriフィールドに指定した場合、mongorestoreはエラーをスローします。--config--password--uriを使用して構成ファイルを指定し、かつ 、 、または--sslPEMKeyPasswordmongotopコマンドラインオプションも使用している場合、コマンドラインオプションは対応する構成ファイルオプションを上書きします。
--uri=<connectionString>MongoDB 配置の解決可能な URI 接続文字列 を引用符で囲んで指定します。
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" のバージョン
100.0mongotop以降では、 オプションを使用せずに、接続文字列を位置指定パラメータとして提供することもできます。--urimongotop mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 接続文字列は、位置指定パラメータとして
mongodb://またはmongodb+srv://で始まっている限り、コマンドラインの任意の点で指定できます。以下に例を挙げます。mongotop --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl 入力できる接続文字列は 1 つのみです。複数の値を含めようとすると、
--uriオプションを使用する場合でも、位置引数として使用する場合でも、エラーになります。接続文字列のコンポーネントの詳細については、「接続文字列 URI 形式」ドキュメントを参照してください。
注意
内の一部のコンポーネントは、
connection stringや--username--passwordなど、独自の明示的コマンドライン オプションを使用して指定することもできます。明示的オプションを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。注意
mongotopUbuntu で18.04cannot unmarshal DNSを使用している場合、SRV 接続文字列(mongodb+srv://形式)を オプションとともに使用すると、--uriエラー メッセージが表示されることがあります。その場合は、次のいずれかのオプションを代わりに使用します。--uri非 SRV接続文字列(mongodb://形式)と オプション--host直接接続するホストを指定するための オプション
--host=<hostname><:port>, -h=<hostname><:port>デフォルト: localhost:27017
MongoDB 配置の解決可能なホスト名を指定します。デフォルトでは、
mongotopによってポート番号27017のローカルホストで実行されている MongoDB インスタンスに接続しようとします。replSetNameレプリカセットに接続するには、次のように とセットノードのシードリストを指定します。--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> レプリカセット リスト形式を指定する場合、
mongotopは常にプライマリに接続します。また、レプリカセットの任意の 1 つのノードに接続するには、そのノードのみのホストとポートを指定します。
--host=<hostname1><:port> IPv6 を使用し、
<address>:<port>形式を使用する場合は、アドレスとポートの組み合わせの一部を括弧で囲む必要があります(例:[<address>])。あるいは、
URI connection stringでホスト名を直接指定することもできます。接続文字列を提供し、さらに--hostを使用中に競合する情報を指定すると、エラーが発生します。プライマリ に到達できないレプリカセットに接続した場合、
mongotopはエラー メッセージを返します。
--port=<port>デフォルト: 27017
MongoDB インスタンスがクライアント接続のためにリッスンする TCP ポートを指定します。
あるいは、
URI connection stringでポートを直接指定することもできます。--portを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--sslTLS / SSL
mongodmongosサポートが有効になっている または への接続を有効にします。あるいは、 で
URI connection string--sslTLS/SSL サポートを直接構成することもできます。 を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslCAFile=<filename>証明書認証機関からのルート証明書チェーンを含む
.pemファイルを指定します。相対パスまたは絶対パスを使用して.pemファイルのファイル名を指定します。あるいは、
.pemURI connection stringで ファイルを直接指定することもできます。--sslCAFileを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslPEMKeyFile=<filename>TLS/SSL 証明書とキーの両方を含む
.pemファイルを指定します。相対パスまたは絶対パスを使用して、.pemファイルのファイル名を指定します。このオプションは、
--sslオプションを使用して、allowConnectionsWithoutCertificatesなしでmongodmongosCAFileが有効になっている または に接続する場合に必要です。あるいは、
.pemURI connection stringで ファイルを直接指定することもできます。--sslPEMKeyFileを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslPEMKeyPassword=<value>証明書鍵ファイルの複合化用パスワード(
--sslPEMKeyFile--sslPEMKeyPassword)を指定します。証明書鍵ファイルが暗号化されている場合にのみ、 オプションを使用します。いずれの場合も、mongotopはすべてのログとレポート出力からパスワードを削除します。PEMファイル内の秘密キーが暗号化されており、
--sslPEMKeyPasswordオプションを指定しない場合は、mongotopはパスフレーズの入力を要求します。詳細については、「 TLS/SSL 証明書のパスフレーズ 」を参照してください。あるいは、
URI connection stringでパスワードを直接指定することもできます。--sslPEMKeyPasswordを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
警告
一部のシステムでは、
--sslPEMKeyPasswordpsオプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のある などのシステム--configステータス プログラムに表示される場合があります。代わりに、 オプションを使用して、パスワードを含む構成ファイルを指定することを検討してください。
--sslCRLFile=<filename>証明書失効リストを含む
.pemファイルを指定します。相対パスまたは絶対パスを使用して.pemファイルのファイル名を指定します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslAllowInvalidCertificatesサーバー証明書の検証チェックをバイパスし、無効な証明書を使用できるようにします。 設定を使用すると、 MongoDB
allowInvalidCertificatesは無効な証明書の使用を警告としてログを記録します。警告
--sslAllowInvalidCertificatesオプションは使用可能ですが、可能な限り使用しないでください。--sslAllowInvalidCertificatesの使用が必要な場合は、侵入が不可能なシステムでのみこのオプションを使用してください。mongodサーバー証明書を検証せずに または インスタンスに接続すると、潜在的なセキュリティ上のリスクが発生します。 TLS/SSL 証明書のホスト名の検証を無効にするだけの場合は、 を参照してください。mongos--sslAllowInvalidHostnamesあるいは、
URI connection stringで証明書の検証を直接無効にすることもできます。接続文字列を提供し、さらに--sslAllowInvalidCertificatesを使用中に競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslAllowInvalidHostnamesTLS/SSL 証明書のホスト名の検証を無効にします。証明書内のホスト名が指定されたホスト名と一致しない場合でも、
mongotopによって 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 を指定できます。このフィールド
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シークレット アクセスキーを指定できます。このフィールド
AWS_SECRET_ACCESS_KEY環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
警告
一部のシステムでは、
--passwordpsオプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のある などのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。--passwordオプションを省略し、インタラクティブなパスワード プロンプトを表示する--configオプションを使用して、パスワードを含む構成ファイルを指定します。
--awsSessionToken=<AWS Session Token>を使用してMongoDB Atlasクラスターに接続し、
MONGODB-AWSauthentication mechanismAWSアクセスキーIDとシークレットアクセスキーに加えてセッション トークンを使用する場合は、次の場所にAWSセッション トークンを指定できます。このフィールド
AWS_SESSION_TOKENauthMechanismPropertiesパラメータをconnection stringに、またはAWS_SESSION_TOKEN環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
MONGODB-AWSauthentication mechanismを使用している場合にのみ有効です。
--authenticationDatabase=<dbname>指定された
--usernameが作成された認証データベースを指定します。--authenticationDatabaseは、mongodおよびmongosインスタンスが「自己管理型配置で認証」を使用する場合に必要です。「認証データベース」を参照してください。GSSAPI (Kerberos)、PLAIN (LDAP SASL)、または
MONGODB-AWSauthentication mechanisms--authenticationDatabaseを使用する場合は、 を$externalに設定する必要があります。あるいは、
URI connection stringで認証データベースを直接指定することもできます。--authenticationDatabaseを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--authenticationMechanism=<name>デフォルト: SCRAM-SHA-1
mongotopインスタンスがmongodまたはmongosへの認証に使用する認証メカニズムを指定します。バージョン 100.1.0 での変更:
バージョン
100.1.0以降、mongotopは 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-AWSMongoDB 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=<serviceName>GSSAPI/Kerberos を使用してサービスの名前を指定します。サービスがデフォルト名
mongodbを使用しない場合のみ必要となります。このオプションは MongoDB Enterprise でのみ使用できます。
--gssapiHostName=<hostname>GSSAPI/Kerberos を使用してサービスのホスト名を指定します。マシンのホスト名が DNS で解決されたホスト名と一致しない場合にのみ必要となります。
このオプションは MongoDB Enterprise でのみ使用できます。
--locksmongotopのモードを切り替えて、データベースごとのロックの使用状況を報告します。このデータは、 MongoDB.2 6またはそれ以前のインスタンスに接続されている場合にのみ使用できます。--locksmongod30は、データベースごとのロックの使用状況を報告しない. 以降のインスタンスに対して呼び出されるとエラーを返します。
--jsonmongotopの出力をJSON形式で返します。タイミング データに加えて、--jsonオプションはポーリング間隔中に実行された操作の数も返します。
フィールド
mongodインスタンスに接続すると、プログラムは最初に接続について報告し、次に設定された頻度で統計について報告します。mongotop はミリ秒(ms)単位で指定された時間値を返します。
2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1 ns total read write <timestamp> <db.collection> 81802ms 0ms 81802ms ... ns total read write <timestamp> <db.collection> 0ms 0ms 0ms ...
mongotop では、--locks オプションに応じて、アクティブな名前空間またはデータベースのみがレポートされます。データベースかコレクションが表示されない場合、最近のアクティビティはありません。 シェルで簡単な操作を発行して、mongo mongotopの出力に影響を与えるアクティビティを生成できます。
mongotop.nsデータベース名とコレクションを組み合わせたデータベース名前空間が含まれます。
mongotop --locksを使用すると、nsフィールドはmongotopの出力に表示されません。
mongotop.dbデータベースの名前が含まれます。
.という名前のデータベースは、特定のデータベースではなく、グローバル ロックを参照します。このフィールドは、
mongotop--locksオプションを使用して を呼び出していない限り表示されません。
mongotop.totalこの
mongodがこの名前空間で操作に費やした合計時間を提供します。
mongotop.readこの
mongodがこの名前空間で読み取り操作を実行するのに費やした時間を提供します。
mongotop.writeこの
mongodがこの名前空間で書き込み操作を実行するのに費やした時間を提供します。
詳細情報
MongoDB の監視について詳しくは、「MongoDB の監視」を参照してください。
MongoDB のその他のさまざまなステータス出力に関する追加の背景情報については、以下を参照してください。
MongoDBメトリクスを提供する追加のユーティリティについては、 mongostat を参照してください。