日志记录
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
,则可以向mongosync
进程发送USR1
信号以轮换其日志文件:
kill -s USR1 $mongosync_pid
$mongosync_pid
是mongosync
进程 ID。
详细程度
mongosync
支持用户定义的详细程度,以提高或降低mongosync
输出的日志消息的级别。
可以使用命令行中的--verbosity
选项或配置文件中的verbosity
设置来设置详细程度。
format
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" }