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 -yInstall 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 --versionInstall tenderduty
tmux new-session -s tenderduty
mkdir tenderduty && cd tenderduty
docker run --rm ghcr.io/blockpane/tenderduty:latest -example-config >config.ymlSet configuration
nano $HOME/tenderduty/config.ymlFor simple monitoring without notificatio, just change these in the config:
celestia to<PROJECT_NAME>chain_id:
mocha-4to 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:latestCheck 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 enableYou 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 tenderdutyLast updated