Script kiểm tra trạng thái máy chủ bằng Ping và cảnh báo qua Telegram

Tác giả: 30/11/2023

Để 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:

Tạo bot telegram

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