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" }