로깅
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
설정을 사용하여 설정할 수 있습니다.
형식
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" }