NOTE: We recommand using a VPS (2 GB RAM, 20 GB Hard disk). Also, make sure to open the port 26657 on your validator server.
# add user
adduser node
# add user to sudoers
usermod -aG sudo node
# login as user
su - node
sudo apt update
sudo apt install pkg-config build-essential libssl-dev curl jq git libleveldb-dev -y
sudo apt-get install manpages-dev -y
curl https://dl.google.com/go/go1.19.5.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
# Update environment variables to include go
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
# check go version
go version
cd
git clone https://github.com/blockpane/tenderduty
cd tenderduty
go install
cd
NOTE: You can delete the existing config.yml
file and create a new file using vim
or nano
.
In the Config, add the following:
- Replace "PagerDuty-Events-API-V2-Integration-Key" with PagerDuty Integration key
- Replace "valoper-address" with your Valooper Address
- Replace tcp://ip-address:26657 with your validator ip with the correct port (Default is 26657
---
enable_dashboard: yes
listen_port: 8888
hide_logs: no
node_down_alert_minutes: 3
node_down_alert_severity: critical
prometheus_enabled: yes
prometheus_listen_port: 28686
pagerduty:
enabled: no
api_key: <PagerDuty-Events-API-V2-Integration-Key>
default_severity: alert
discord:
enabled: no
webhook: https://discord.com/api/webhooks/999999999999999999/zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
telegram:
enabled: no
api_key: '5555555555:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
channel: "-666666666"
slack:
enabled: no
webhook: https://hooks.slack.com/services/AAAAAAAAAAAAAAAAAAAAAAA/bbbbbbbbbbbbbbbbbbbbbbbb
chains:
"Elys Testnet":
chain_id: elystestnet-1
valoper_address: <valoper-address>
public_fallback: yes
alerts:
stalled_enabled: yes
stalled_minutes: 10
consecutive_enabled: yes
consecutive_missed: 5
consecutive_priority: critical
percentage_enabled: yes
percentage_missed: 10
percentage_priority: warning
alert_if_inactive: yes
alert_if_no_servers: yes
pagerduty:
enabled: yes
api_key: "" # uses default if blank
discord:
enabled: no
webhook: "" # uses default if blank
telegram:
enabled: no
api_key: "" # uses default if blank
channel: "" # uses default if blank
slack:
enabled: no
webhook: "" # uses default if blank
nodes:
- url: tcp://<ip-address>:26657
alert_if_down: yes
Make sure to add the correct path for config.yml
file.
sudo tee /etc/systemd/system/tenderduty.service > /dev/null <<EOF
[Unit]
Description=Tenderduty Daemon
#After=network.target
StartLimitInterval=350
StartLimitBurst=10
[Service]
Type=simple
User=node
ExecStart=/home/node/go/bin/tenderduty -f /home/node/config.yml
Restart=on-abort
RestartSec=30
[Install]
WantedBy=multi-user.target
[Service]
LimitNOFILE=1048576
EOF
# Enable service
sudo systemctl enable tenderduty
# Start service
sudo service tenderduty start
# Check logs
sudo journalctl -fu tenderduty
To visit Tenderduty page - http://ip-address:8888 #Example - http://123.12.134.12:8888