For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tenderduty

Bước 1. Cài Tenderduty

Giữ Go hiện có (không cần hạ xuống Go 1.18 nếu máy đang dùng bản mới tương thích).

cd $HOME
rm -rf tenderduty
git clone https://github.com/blockpane/tenderduty
cd tenderduty
go install
cp example-config.yml config.yml

Tenderduty hỗ trợ dashboard, Prometheus, Telegram, Discord, theo dõi nhiều chain và nhiều loại cảnh báo.


Create service

sudo tee /etc/systemd/system/tenderdutyd.service > /dev/null <<EOF
[Unit]
Description=Tenderduty Monitoring Service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/tenderduty
ExecStart=/root/go/bin/tenderduty

Restart=always
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Start service

2. Tạo Bot Telegram

Trong Telegram:

  • tìm @BotFather

  • nhập tên bot

  • nhập username (phải kết thúc bằng bot)

Ví dụ:

BotFather sẽ trả về:

Đây là Bot Token.

⚠️ Không chia sẻ token này công khai.

Bước 3. Tạo nhóm Telegram

Ví dụ:

Sau đó

  • thêm bot vào nhóm

  • cấp quyền Admin cho bot (để bot có thể gửi tin)


Bước 4. Lấy Chat ID

Gửi một tin nhắn trong nhóm:

Sau đó chạy:

Ví dụ bạn đã nhận được:

Thì:


Bước 5. Cấu hình Telegram

Trong config.yml


Bước 6. Cấu hình chain

Ví dụ với Shentu:

Tên "Shentu" chỉ là nhãn hiển thị trên dashboard, không bắt buộc phải trùng chain id.


Bước 7. Khai báo RPC

Đây là chỗ nhiều người cấu hình sai.

Trước tiên kiểm tra RPC:

Máy của bạn cho kết quả:

Do đó:

Không để:

vì đó chỉ là ví dụ trong file mẫu.


Bước 8. Cấu hình cảnh báo

Mình khuyến nghị:

Các loại cảnh báo này được Tenderduty hỗ trợ cho validator Cosmos.


Bước 9. Khởi động


Bước 10. Kiểm tra log

Nếu thấy:

thì cấu hình đã đúng.


Bước 11. Kiểm tra Telegram

Gửi thử:

Nếu nhóm nhận được tin nhắn thì Telegram đã hoạt động.

Bước 12. Test thực tế

Dừng validator:

Quan sát:

Tenderduty sẽ phát hiện:

  • RPC down

  • no usable endpoints

  • validator inactive (nếu đủ điều kiện)

  • miss block

Đồng thời gửi Telegram theo cấu hình.

Sau đó chạy lại:


Cấu hình mình khuyên dùng cho validator production

  • ✅ Dashboard: bật.

  • ✅ Telegram: bật.

  • ❌ Discord: tắt.

  • ❌ PagerDuty: tắt.

  • ❌ Slack: tắt.

  • ❌ Healthcheck: tắt.

  • ❌ Public fallback: no (để phát hiện ngay khi RPC local có vấn đề).

  • ⚠️ Prometheus: chỉ bật nếu bạn thực sự dùng Grafana/Prometheus; nếu không thì đặt prometheus_enabled: no để giảm một cổng dịch vụ không cần thiết.

Đây là cấu hình gọn, ổn định và phù hợp với một validator vận hành trên VPS như Shentu của bạn.

Last updated