Script kiểm tra trạng thái máy chủ bằng Ping và cảnh báo qua Telegram
Để viết một script kiểm tra trạng thái hoạt động của VPS và gửi thông báo qua Telegram khi VPS bị Down, chúng ta có thể sử dụng một số công cụ như ping
và curl
, cùng với việc sử dụng Telegram Bot API để gửi thông báo. Sau đây là một script đơn giản để thực hiện các tác vụ này:
I. Tạo Bot Telegram
Đầu tiên các bạn hãy tạo Bot Telegram để nhận thông báo về trạng thái hoạt động của VPS, nếu chưa biết cách tạo bạn có thể tham khảo bài viết bên dưới:
Chạy script check tại máy tính cá nhân window bạn tham khảo thêm tại đây:
[Ubuntu] Cài đặt instance Ubuntu 22.04 trên windows 10 – Nhan Hoa Knowledgebase
II. Viết Script cảnh báo
Bước 1: Viết Script cảnh báo
Bạn tạo một file ví dụ tên như sau:
vi check_vps_status.sh
Thêm script sau vào và save lại.
#!/bin/bash
#Thay đổi các thông số này cho phù hợp với VPS và Telegram Bot của bạn
HOST=”example.com”
TELEGRAM_BOT_TOKEN=”YOUR_BOT_TOKEN”
TELEGRAM_CHAT_ID=”YOUR_CHAT_ID”
# Kiểm tra kết nối tới VPS bằng ping
if ! ping -c 1 “$HOST” > /dev/null; then
# Nếu kết nối thất bại, gửi thông báo tới Telegram MESSAGE=”VPS is down!”
curl -s -X POST “https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage” \ -d chat_id=”${TELEGRAM_CHAT_ID}” \ -d text=”${MESSAGE}”
fi
Trong đó:
HOST
: là địa chỉ của VPS bạn muốn kiểm tra.TELEGRAM_BOT_TOKEN
: là mã token của bot Telegram của bạn.TELEGRAM_CHAT_ID
: là ID của cuộc trò chuyện (chat) mà bạn muốn gửi thông báo đến.
Phần quyền thực thi File vừa tạo
chmod +x check_vps_status.sh ### Phân quyền thực thi File
Thiết lập Cron để chạy Script
Sau khi chỉnh sửa các thông số trên, bạn có thể thực thi nó định kỳ bằng cách sử dụng cron
. Ví dụ, để chạy script này mỗi 10 phút, bạn có thể thêm một dòng sau vào crontab của bạn (bằng cách chạy lệnh crontab -e
):
*/10 * * * * /path/to/check_vps_status.sh >/dev/null 2>&1
Script này sẽ kiểm tra kết nối tới VPS, và gửi thông báo tới Telegram nếu VPS bị Down. Lưu ý rằng nếu VPS của bạn bị gián đoạn kết nối thường xuyên, bạn có thể nhận được rất nhiều thông báo, vì vậy hãy cân nhắc trước khi thực thi script này.
Hẹn gặp lại các bạn tại các bài viết sau tại wiki.nhanhoa.com