Утилита мониторинга рассинхронизации¶
Специальная утилита, которая позволяет узнать, не произошло ли рассинхронизации БД на указанных нодах. Утилита может работать в качестве демона или быть вызвана однократно. Принцип работы основан на следующем: В каждый блок записывается хэш от всех изменений, сделанными всеми транзакциями блока.Затем у указанных нод берется максимальный общий блок, блок с этим ID запрашивается у всех нод, сравнивается хэш изменений, если он различается, то на заданный email посылается сообщение о рассинхронизации.
Где находится¶
tools/desync_monitor/
Флаги¶
Утилита имеет следующие флаги командной строки:
- confPath - путь до файла конфигурации. По умолчанию config.toml.
- nodesList - список хостов опрашиваемых нод, через запятую. По умолчанию 127.0.0.1:7079.
- daemonMode - запуск в виде демона, применяется если нужен опрос каждые N секунд. По умолчанию false.
- queryingPeriod - если осуществлен запуск в виде демона, раз в сколько секунд опрашивать ноды. По умолчанию 1 cекунда.
- alertMessageTo - на какой email отправлять сообщение с ошибкой. По умолчанию alert@apla.io.
- alertMessageSubj - тема сообщения об рассинхронизации. По умолчанию problem with nodes synchronization.
- alertMessageFrom - от кого будет получено сообщение. По умолчанию monitor@apla.io.
- smtpHost - хост SMTP сервера через который будет отправлен email. По умолчанию «».
- smtpPort - порт SMTP сервера через который будет оправлен email. По умолчанию 25.
- smtpUsername - имя пользователя, для подключения к SMTP. По умолчанию «».
- smtpPassword - пароль для подключения к SMTP. По умолчанию «».
Конфигурация¶
Утилита также имеет конфигурационный файл в формате toml. По умолчанию ищется файл config.toml в папке в которой запущен бинарник. Переопределить путь к файлу можно с помощью флага configPath
Пример конфигурационного файла
nodes_list = ["http://127.0.0.1:7079", "http://127.0.0.1:7002"]
[daemon]
daemon = false
querying_period = 1
[alert_message]
to = "genesis@genesis.space"
subject = "problem with genesis nodes"
from = "monitor@genesis.space"
[smtp]
host = ""
port = 25
username = ""
password = ""
- nodes_list - список хостов опрашиваемых нод
[daemon]¶
Настройки режима демона.
- daemon_mode - работать в виде демона, периодически опрашивая указанный список хостов нод.
- querying_period - с каким периодом проводить опрос в секундах.
[alert_message]¶
Настройки отправляемого сообщения.
- to - на какой адрес слать сообщение об рассинхронизации блокчейна.
- subject - тема сообщения об рассинхронизации.
- from - от кого будет получено сообщение.
[smtp]¶
Настройки SMTP сервера, через который сообщение об рассинхронизации блокчейна будет отправлено.
- host - хост SMTP серевера, через который будет отправлен email.
- port - порт SMTP сервера, через который будет отправлен email.
- username - имя пользователя, для подключения к SMTP.
- password - пароль для подключения к SMTP.