Celestia Validator monitoring guide with tenderduty
TenderDuty monitoring allows you to monitor nodes, see the height of the network, validator status, uptime, signed and transmitted blocks. You can enable notifications in Telegram and Discord.
Update packages and Install dependencies
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
Install 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
Set configuration
nano $HOME/tenderduty/config.yml
For simple monitoring without notificatio, just change these in the config:
celestia to
<PROJECT_NAME>chain_id:
mocha-4
to chain_id: <YOUR_CHAIN_ID>valoper_address: celestiavaloper1xxxxxxx... to valoper_address: <YOUR_VALOPER_ADDRESS>
url: tcp://localhost:<VALIDATOR_NODE_RPC_PORT>
TO url: tcp://localhost:<YOUR_NODE_RPC_PORT>


After setting up the config, run
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
Check the logs
docker logs -f --tail 20 tenderduty

Turn on firewall to protect your server and open the required port
Default tenderduty port - 8888. if you have custom ports on your node or have another nodes in this server, check it and open custom ports!
sudo apt install ufw
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh/tcp
sudo ufw limit ssh/tcp
sudo ufw allow 8888/tcp
sudo ufw enable
You can open dashboard on web browser by using tenderduty port and your server IP http://<YOUR_SERVER_IP>: Default port on tenderduty is 8888

Configure Telegram alerting Open telegram and find @BotFather
Create telegram bot via @BotFather, customize it and get bot API token how_to
Create the group: alarm . Customize them, add the bot in your chat and get chats IDs how_to
Open config.yml file
change enabled: no to enabled: yes api_key: '5555555555:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' to api_key: '<YOUR_BOT_API_KEY>' channel: "-666666666" to channel: "<YOUR_GROUP_CHAT_ID>"
nano $HOME/tenderduty/config.yml

Restart docker tenderduty
docker restart tenderduty
Last updated