Docs Menu
Docs Home
/
MongoDB データベース ツール
/

mongostat の例

項目一覧

このページではmongostatの例を示します。

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

最初の例では、 mongostatは20秒の間、1 秒ごとにデータを返します。 mongostatは、ポート27017のローカルホスト インターフェースで実行されているmongodインスタンスからデータを収集します。 次の呼び出しはすべて同じ動作を生成します。

mongostat --rowcount=20 1
mongostat --rowcount=20
mongostat -n=20 1
mongostat -n=20

次の例では、 mongostatは、プログラムが実行されている限り、 5分(または300秒)ごとにデータを返します。 mongostatは、ポート27017のローカルホスト インターフェースで実行されているmongodインスタンスからデータを収集します。 次の呼び出しは同一の動作を生成します。

mongostat --rowcount=0 300
mongostat -n=0 300
mongostat 300

次の例では、 mongostatは 1 時間の間、 5分ごと( 12回)のデータを返します。 mongostatは、ポート27017のローカルホスト インターフェースで実行されているmongodインスタンスからデータを収集します。 次の呼び出しは同一の動作を生成します。

mongostat --rowcount=12 300
mongostat -n=12 300

-Oでは、 serverStatusの出力からデフォルトのmongostat出力に追加するフィールドを指定できます。 カスタム ファイル名にスペースを含める場合は、フィールド名の前後に追加の引用符を付けないでください。

次の例では、デフォルトのmongostat出力にフィールドを追加します。

mongostat -O='host,version,network.numRequests=network requests'

mongostatの出力は次のようになります。

insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time host version network requests
*0 *0 *0 *0 0 2|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 158b 39.4k 2 Oct 11 12:14:45.878 localhost:37017 3.3.14 91
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 157b 39.3k 2 Oct 11 12:14:46.879 localhost:37017 3.3.14 95
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 157b 39.2k 2 Oct 11 12:14:47.884 localhost:37017 3.3.14 99

次のフィールドがデフォルトの出力に追加されます。

network.numRequestsフィールドには「ネットワーク リクエスト」というカスタム フィールド名があります。

-oは、 mongostatが出力に含める列を指定します。 任意のserverStatusフィールドをmongostat出力列として指定できます。

次の例では、 mongostatのカスタム フィールドを使用します。

mongostat --port 27500 -o='host,opcounters.insert.rate()=Insert Rate,opcounters.query.rate()=Query Rate,opcounters.command.rate()=Command Rate,wiredTiger.cache.pages requested from the cache=Pages Req,metrics.document.inserted=inserted rate'

mongostatの出力は次のようになります。

host Insert Rate Query Rate Command Rate Pages Req Inserted Rate
localhost:27500 180 1 8 2999446 9638
localhost:27500 40 3 12 2999601 9678
localhost:27500 181 2 9 3000207 9859
localhost:27500 39 2 12 3000362 9899
localhost:27500 181 2 11 3000969 10080
localhost:27500 39 2 10 3001124 10120

カウンターおよび対応するカスタム フィールド名:

カウンター
カスタムフィールド名
opcounters.insert.rate
挿入率
opcounters.query.rate
クエリ レート
opcounters.command.rate
コマンド レート
キャッシュからリクエストされたwiredTiger.cache.pages
Pages Req
metrics.document.inserted
挿入率

.rate()を使用すると、あるmongostat呼び出しから次の呼び出しへの数値フィールドの変化率を 1 秒あたりに表示できます。 たとえば、挿入操作中にドキュメントが挿入されたレートを表示できます。 したがって、 .rate()は、 mongodインスタンスのパフォーマンスを表示するのに役立ちます。

次の例では、 metrics.document.inserted serverStatusフィールドの変化率を報告します。 呼び出しでは、 -oの機能を使用して、 metrics.document.inserted.rate()を「挿入レート」として、 metrics.document.insertedを「挿入」とラベル付けする列の名前を指定します。

mongostat -o='host,mem,bits,metrics.document.inserted.rate()=inserted rate,metrics.document.inserted=inserted' --rowcount=5

出力は次のようになります。

host mem.bits inserted rate inserted
localhost:37017 64 501 3455
localhost:37017 64 967 13128
localhost:37017 64 972 22851
localhost:37017 64 214 25000
localhost:37017 64 0 25000

.diff()は、現在のserverStatusフィールド値と前回のmongostat呼び出しの値との差を返します。 次の例では、コレクションに挿入されているドキュメント数に関する統計を返します。 inserted diffは後続の 呼び出し間のmetrics.document.insertedフィールドの差であり、 insertedmetrics.document.insertedの値です。

mongostat -o='host,mem.bits,metrics.document.inserted.diff()=inserted diff,metrics.document.inserted=inserted' --rowcount=5

出力は次のようになります。

host mem.bits inserted diff inserted
localhost:27017 64 0 25359
localhost:27017 64 94 25453
localhost:27017 64 938 26391
localhost:27017 64 964 27355
localhost:27017 64 978 28333

多くの場合、 --discoverオプションを使用すると、マシンのグループ全体の状態のより完全なスナップショットが提供されます。 mongosシャーディングされた クラスター に接続された プロセスがローカルマシンのポート27017 で実行されている場合、次の形式を使用してクラスターのすべてのノードから統計情報を返すことができます。

mongostat --discover

--interactive非スクロール インデックス で統計情報を表示するには、 オプションを使用します。 スタイルのインタラクティブ出力。--interactiveオプションを使用すると、表示する特定のホスト、列、またはフィールドを強調表示できます。 --discoverと組み合わせると、 --interactiveは次の例のように、レプリカセットまたはシャーディングされたクラスターのすべてのメンバーの統計情報を表示します。

mongostat --discover --interactive

シャーディングされたクラスターの出力は、次のようになります。

host insert query update delete getmore command dirty used flushes mapped vsize res faults qrw arw net_in net_out conn set repl time
hostname.local:27018 *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.25G 25.0M n/a 0|0 1|0 157b 43.9k 19 tic PRI Nov 2 11:44:46.439
hostname.local:27019 *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.18G 26.0M n/a 0|0 1|0 322b 44.4k 12 tic SEC Nov 2 11:44:46.439
hostname.local:27020 *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.18G 26.0M n/a 0|0 1|0 322b 44.4k 12 tic SEC Nov 2 11:44:46.439
hostname.local:27021 2017 *0 *0 *0 826 1029|0 0.0% 0.0% 0 3.25G 31.0M n/a 0|0 1|0 1.74m 1.60m 20 tac PRI Nov 2 11:44:46.439
hostname.local:27022 *2021 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.19G 32.0M n/a 0|0 1|0 322b 44.6k 12 tac SEC Nov 2 11:44:46.438
hostname.local:27023 *2022 *0 *0 *0 0 3|0 0.0% 0.0% 0 3.19G 33.0M n/a 0|0 1|0 323b 44.7k 12 tac SEC Nov 2 11:44:46.438
localhost:27017 2071 *0 *0 *0 0 2073|0 0 0B 2.43G 9.00M 0 0|0 0|0 249k 130k 4 RTR Nov 2 11:44:47.429
Press '?' to toggle help

バージョン 100.1.0 の新機能

Amazon Web ServicesIAM MongoDB Atlasの認証情報 経由での認証をサポートするように構成済みの connection stringクラスターに接続します。mongostat は、次のように から を提供します。

mongostat 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

AtlasAmazon Web Servicesこの方法で IAM 認証情報を使用してMONGODB-AWSauthentication mechanism $externalauthSourceに接続するには、この例に示すように、 と が使用されます。

AWS セッショントークンを使用する場合 同様に、AWS_SESSION_TOKEN authMechanismProperties 値を次のとおり指定します。

mongostat 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>

注意

AWS アクセスキー ID、シークレット アクセス キー、またはセッション トークンに次の文字が含まれている場合。

: / ? # [ ] @

上記文字はパーセント エンコーディングを使用して変換される必要があります。

あるいは、次のように、 、 、 --usernameオプションを使用して、Amazon Web Services IDstring--passwordアクセスキー--awsSessionToken 、シークレットアクセスキー、およびオプションのセッショントークンをそれぞれ接続 の外部で提供することもできます。

mongostat 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>

コマンドライン パラメーターとして指定する場合、これら 3 つのオプションにパーセント エンコーディングは必要ありません。

標準のAmazon Web Services IAM 環境変数 を使用してプラットフォーム上でこれらの認証情報を設定することもできますmongostatを使用すると、MONGODB-AWSauthentication mechanism は次の環境変数をチェックします。

  • AWS_ACCESS_KEY_ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

設定されている場合、これらの認証情報を接続文字列や明示的なオプションで指定する必要はありません。

注意

Amazon Web Services の環境変数を使用してこれらの値を指定する場合、これらの認証情報に対応する明示的オプションまたは接続文字列 オプションと混在させることはできません。アクセス キー ID シークレット アクセス キー(および使用する場合はセッション トークンも)の環境変数を使用、または代わりに明示的オプションもしくは接続文字列 オプションをそれぞれを指定します。

次の例では、bash shell でこれらの環境変数を設定しています。

export AWS_ACCESS_KEY_ID='<aws access key id>'
export AWS_SECRET_ACCESS_KEY='<aws secret access key>'
export AWS_SESSION_TOKEN='<aws session token>'

他の shell で環境変数を設定する構文は異なります。詳細については、ご使用のプラットフォームのドキュメントを参照してください。

次のコマンドで、これらの環境変数が設定されているかどうかを確認できます。

env | grep AWS

設定が完了すると、次の例では、これらの環境変数を使用して MongoDB Atlas クラスターに接続します。

mongostat 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

戻る

動作