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

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

Check the logs

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!

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_toarrow-up-right

  • Create the group: alarm . Customize them, add the bot in your chat and get chats IDs how_toarrow-up-right

  • 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>"

Restart docker tenderduty

Last updated