Desync_monitor는 지정된 노드의 데이터베이스가 동기화되었는지 확인하는 특수 도구입니다.
이 도구는 데몬으로 사용하거나 일회성 검사를 실행하는 데 사용할 수 있습니다.
이 도구의 작동 원리는 다음과 같습니다:
- 각 블록에는 모든 거래의 변경 내용에 대한 해시가 포함되어 있으며, 지정된 노드에 마지막 블록 ID를 요청합니다.
- 그런 다음 해당 ID를 가진 블록을 모든 노드에서 요청하고 위의 해시를 비교합니다.
- 해시가 다른 경우, 동기화 오류 메시지가 지정된 이메일 주소로 전송됩니다.
위치
이 도구는 tools/desync_monitor/
에 위치해 있습니다.
명령 프롬프트 플래그
다음 플래그를 사용하여 명령 프롬프트에서 사용할 수 있습니다:
- confPath -- 구성 파일의 경로입니다. 기본 파일 이름은
config.toml
입니다. - nodesList -- 블록을 요청할 노드 목록입니다. 쉼표로 구분됩니다. 기본값은
127.0.0.1:7079
입니다. - daemonMode -- 데몬 모드로 실행하여 N초마다 확인해야 할 경우 사용합니다. 이 플래그는 기본적으로
false
로 설정됩니다. - queryingPeriod -- 도구를 데몬 모드로 실행할 경우, 확인 간의 시간 간격(초)을 설정합니다. 기본값은
1
초입니다.
구성
이 도구는 toml 형식의 구성 파일을 사용합니다.
기본적으로 실행 파일이 있는 폴더에서 config.toml 파일을 찾습니다.
configPath 플래그를 사용하여 파일 경로를 변경할 수 있습니다.
nodes_list
- nodes_list -- 요청 정보의 노드(호스트) 목록을 요청합니다.
[daemon]
데몬 모드 구성.
- daemon_mode -- 도구가 데몬으로 작동하고 동기화 검사를 수행합니다.
- querying_period -- 동기화 검사 간의 시간 간격.
[alert_message]
경고 메시지 매개변수.
- to -- 동기화 오류 경고 메시지를 받을 수신자 주소;
- subject -- 메시지 주제;
- from -- 발신자 주소.
[smtp]
동기화 오류 메시지를 보내기 위한 (Simple Mail Transfer Protocol SMTP) 서버 매개변수.
- host -- SMTP 서버 호스트;
- port -- SMTP 서버 포트;
- username -- SMTP 서버 사용자 이름;
- password -- SMTP 서버 비밀번호;