Система оповещения на базе TenderDuty v2
Tenderduty - это система оповещений и мониторинга сетей Tendermint.
Для проектов, в основе которых, блокчейном первого уровня используется Cosmos аптайм является одной из самых главных ролей для успешной работы и возможности избежать попадания в Jail. Согласны?)
Мониторинг TenderDuty v2 позволяет осуществлять контроль за состоянием ноды, которая позволяет видеть высоту сети, статус валидатора, аптайм, подписанные и пропущенные блоки. Также возможно подключение оповещений в социальные сети телеграм и дискорд
В данном гайде будем использовать установку через Docker.
В гайде буду устанавливать систему оповещений на отдельный сервер, для большей безопасности, при этом нам потребуется открывать RPC порты(файл конфиг) у самой ноды для их взаимодействия.
Часть 1. Подготовка сервера
Обновляем репозитории и устанавливаем необходимые утилиты
sudo apt update && sudo apt upgrade -y
sudo apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
Часть 2. Установка Docker
apt update && \ apt install apt-transport-https ca-certificates curl software-properties-common -y && \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" && \ apt update && \ apt-cache policy docker-ce && \ sudo apt install docker-ce -y && \ docker --version
Часть 3. Установка tenderduty
tmux new-session -s tenderduty
mkdir tenderduty && cd tenderduty docker run --rm ghcr.io/blockpane/tenderduty:latest -example-config >config.yml
При не отображении его в консоли, такое бывает при ошибке в nano. Открываем его через Mobaxtern Editor.
Выглядеть это будет следующим образом
Далее нам надо ввести данные своей сети и своего валидатора, а также конечной точки RPC. В данном примере, буду приводить к ноде HAQQ после обновления от 14.10.2022
- имя сети: HAQQ
- chain-id: haqq_54211-3
- valoper address:<взять свой адрес валидатора>
- Url: <адрес конечной точки PRC>, на 16 октября актуально http://142.132.202.50:11601/. Но вы можете создать свою или попросить рабочую в сообществе того проекта который ставите.
Итак, приступаем к редактированию файла конфига
Со строчки 51 приступаем, к замене данных на вышеприведенные, <валопер адрес> берем свой из ноды, на которую хотите поставить оповещение.
Переходим на строчку 110 и вбиваем туда свой адрес url конечной точки PRC
Важно, после проделанной работы заходим в файл config.toml вашей ноды и открываем порты в разделе RPC Server Configuration Options
laddr = "tcp://0.0.0.0:<ваш порт>
После настройки файла конфига производим запуск Tenderduty
docker run -d --name tenderduty -p "8888:8888" -p "28686:28686" --restart unless-stopped -v $(pwd)/config.yml:/var/lib/tenderduty/config.yml ghcr.io/blockpane/tenderduty:latest
docker logs -f --tail 20 tenderduty
Проверяем информацию в браузере
echo -e "\033[0;32mhttp://$(wget -qO- eth0.me):8888/\033[0m"
После этой команды вам высветится ваш адрес в формате <xxx.xxx.xxx.xxx:8888>, где все ххх будет адрес вашего сервера установки.
После всех проделанных процедур, вставляем данный адрес в браузерную строку. Вуаля!
Часть 4. Полезные команды
посмотреть запущенные контейнеры
docker ps
docker stop tenderduty
docker restart tenderduty