ログ記録
mongosyncは、コレクションやインデックスのコピーなどのエントリ、変更ストリーム イベント、API 呼び出しなど、イベントの実行中のログを保持します。
目的地
mongosync
はログ メッセージを stdout または ファイルに書き込むことができます。
標準出力
デフォルトでは、 mongosync
はログ メッセージを stdout に出力します。
$ mongosync --config /etc/mongosync.conf
出力例:
{"level":"info","mongosyncID":"shard02","verbosity":"INFO","id":"shard02","port":27301,"time":"2022-06-21T11:15:33-04:00","message":"Mongosync Options"} {"level":"info","mongosyncID":"shard02","time":"2022-06-21T11:15:33-04:00","message":"Initialized client0 with URI: mongodb://192.0.2.1:27130 and client1 with URI: mongodb://192.0.2.2:27140."} {"level":"info","mongosyncID":"shard02","time":"2022-06-21T11:15:33-04:00","message":"Preflight checks completed."} {"level":"info","mongosyncID":"shard02","time":"2022-06-21T11:15:33-04:00","message":"Launch replication thread"}
ファイルへのログ
ログ メッセージを ファイルに出力するには、 --logPath
オプションを使用してmongosync
を起動するか、構成ファイルでlogPath
設定を設定します。
ファイルにログを記録する際、 mongosync
は構成された ディレクトリ内のファイルにログを書き込みます。 ディレクトリが存在しない場合は作成されます。 ディレクトリにmongosync.log
ファイルがすでに存在する場合、 mongosync
はログファイルをローテーションして古いログを保持し、新しいファイルを作成します。
$ ls /var/log/mongosync
以下に例を挙げます。
mongosync-2022-06-17T16-27-58.187.log mongosync.log mongosync-2022-06-21T13-31-42.668.log
現在アクティブなログファイルはmongosync.log
です。 その他のファイルは、 mongosync
がローテーションした古いログです。
ログファイルのローテーション
--logPath
オプションを使用してmongosync
を起動すると、ログファイルをローテーションするためにUSR1
シグナルをmongosync
プロセスに送信できます。
kill -s USR1 $mongosync_pid
$mongosync_pid
は、 mongosync
プロセス ID です。
冗長
mongosync
は、 mongosync
の出力するログ メッセージのレベルを増減するためにユーザー定義の冗長度をサポートします。
冗長レベルは、コマンドラインから--verbosity
オプションを使用するか、構成ファイルのverbosity
設定を使用して設定できます。
形式
mongosync
は構造化された JSON 形式でログ メッセージを出力します。 各ログ メッセージは、そのエントリのキーと値のペアを保持するドキュメントです。 キーはログ メッセージ要素にラベルを付け、値は報告されたイベントを示します。
以下に例を挙げます。
{ "level": "info", "mongosyncID": "shard01", "componentName": "Change Event Application", "time": "2022-06-21T09:31:42-04:00", "message": "Starting change stream reader." }
例
ログ メッセージを表示するには、ログディレクトリにあるmongosync.log
ファイルを確認します。 ログのフォーマットは、その内容をjq
または同様のコマンドにパイプすることで可能です。
$ cat /var/log/mongosync/mongosync.log | jq
出力例:
{ "level": "info", "mongosyncID": "shard02", "verbosity": "INFO", "id": "shard02", "port":27301, "time": "2022-06-21T11:15:33-04:00", "message": "Mongosync Options" } { "level": "info", "mongosyncID": "shard02", "time": "2022-06-21T11:15:33-04:00", "message": "Initialized client0 with URI: mongodb://192.0.2.1:27130 and client1 with URI: mongodb://192.0.2.2:27140." } { "level": "info", "mongosyncID": "shard02", "time": "2022-06-21T11:15:33-04:00", "message": "Preflight checks completed." } { "level": "info", "mongosyncID": "shard02", "time": "2022-06-21T11:15:33-04:00", "message": "Launch replication thread" }