Monitoring

TenderDuty

TenderDuty v2 - monitoring and alerting

Tenderduty is a comprehensive monitoring tool for Tendermint networks. More details can be found here

This TenderDuty v2 monitoring allows you to study control over nodes and, in particular, see the height of the network, validator status, uptime, signed and passed blocks. It is also possible to connect alerts to Telegram and Discord. Installation is possible in different ways, but I will use installation via Docker, although there are no fundamental differences. So, we will need a separate server (which definitely provides additional security) or a server with node(s) already installed. You will also need to find an open RPC or open your primary (not recommended) or backup node.

# updating repositories
sudo apt update && sudo apt upgrade -y

# install the necessary utilities
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

Installing 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

Install tenderduty

tmux new-session -s tenderduty

mkdir tenderduty && cd tenderduty
docker run --rm ghcr.io/blockpane/tenderduty:latest -example-config >config.yml

Download the config and edit it

wget -O $HOME/tenderduty/config.yml "https://raw.githubusercontent.com/111STAVR111/props/main/Tenderduty/config.yml"
nano $HOME/tenderduty/config.yml

For simple monitoring without alerts, just change in the config:

  • network name:

  • chain-id:

  • valoper_address:

  • url:

After installing and editing the config, run docker

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

# logs
docker logs -f --tail 20 tenderduty

Checking our work in the browser

# find out the address and paste it into the browser
echo -e "\033[0;32mhttp://$(wget -qO- eth0.me):8888/\033[0m"
# http://55.18.19.38:8888/

Setting up alerts in Discord

It's pretty easy to turn on an alert for discord. To do this you only need to perform a few steps

Let's go to our config and paste this link into the Webhook section

Let's go to our config and paste this link into the Webhook section

$HOME/tenderduty/config.yml

Reboot our Tenderduty - and now everything should be displayed in discord

docker restart tenderduty

Useful commands

# view installed images
docker images
# view activated containers
docker ps
# stop container
docker stop tenderduty
# restart container
docker restart tenderduty
# logs
docker logs -f --tail 20 tenderduty
# find out the RPC nodes for the config
NODE_FOLDER=".lava"
echo -e "\033[0;32mhttp://$(wget -qO- eth0.me)$(grep -A 3 "\[rpc\]" ~/$NODE_FOLDER/config/config.toml | egrep -o ":[0-9]+")\033[0m"

Last updated