Hướng dẫn tạo Telegram Bot theo dõi CPU và tiến trình của VPS

1. Telegram bot là gì?

Telegram bot là một loại chương trình tự động đặc biệt hoạt động trong nền tảng nhắn tin Telegram. Những bot này được xây dựng dựa trên API của Telegram và có thể thực hiện nhiều chức năng khác nhau mà không cần sự tương tác trực tiếp từ con người. Dưới đây là những điểm nổi bật về Telegram bot:

  1. Tự Động Hóa: Bots có thể tự động thực hiện nhiều nhiệm vụ, từ việc gửi thông tin cập nhật, trả lời câu hỏi, đến việc thực hiện các tác vụ phức tạp hơn như quản lý dữ liệu hoặc giao tiếp với các ứng dụng khác.
  2. Tích Hợp API: Telegram cung cấp một API mạnh mẽ cho phép các nhà phát triển tích hợp các bot với nhiều chức năng khác nhau, từ gửi tin nhắn văn bản, ảnh, video, đến việc tạo các nút bấm tùy chỉnh trong ứng dụng.
  3. Đa Dạng Ứng Dụng: Telegram bots có thể được sử dụng cho nhiều mục đích, bao gồm cung cấp dịch vụ khách hàng, quản lý nhóm và kênh, giáo dục, giải trí, và thậm chí là thương mại điện tử.
  4. Giao Diện Người Dùng Thân Thiện: Bots thường được thiết kế để dễ dàng sử dụng, với giao diện trò chuyện tự nhiên, giúp người dùng tương tác mà không cần phải hiểu biết kỹ thuật sâu.
  5. Bảo Mật và Quyền Riêng Tư: Telegram đặt trọng tâm vào bảo mật và quyền riêng tư, nên các bots cũng được thiết kế để bảo vệ thông tin cá nhân của người dùng.

Các Telegram bot phổ biến có thể bao gồm bots cho việc theo dõi tin tức, quản lý tài chính cá nhân, học ngoại ngữ, hoặc thậm chí là chơi trò chơi. Nhờ tính linh hoạt và khả năng mở rộng, bots trên Telegram ngày càng trở nên phổ biến và hữu ích trong nhiều lĩnh vực.

2. Telegram bot trong việc theo dõi và quản lý VPS, máy chủ

Telegram bot có thể được sử dụng một cách hiệu quả để theo dõi và quản lý máy chủ VPS (Virtual Private Server). Dưới đây là một số công dụng cụ thể của Telegram bot trong việc theo dõi VPS:

  1. Thông Báo và Cảnh Báo Tự Động: Bot có thể được cấu hình để gửi thông báo tự động đến người dùng Telegram khi có các sự kiện quan trọng hoặc bất thường xảy ra trên VPS, như tình trạng sử dụng CPU cao, hết dung lượng lưu trữ, hoặc sự cố về mạng.
  2. Giám Sát Tình Trạng Máy Chủ: Telegram bot có thể cung cấp thông tin về tình trạng hiện tại của VPS, bao gồm sử dụng CPU, bộ nhớ, dung lượng đĩa, và trạng thái của các dịch vụ đang chạy.
  3. Thực Hiện Lệnh Quản Lý Từ Xa: Bot có thể được sử dụng để thực hiện các lệnh từ xa trên VPS, cho phép quản lý các tác vụ như khởi động lại dịch vụ, cập nhật phần mềm, hoặc thực hiện các bản vá bảo mật.
  4. Kiểm Soát Truy Cập và Bảo Mật: Bot có thể tích hợp các tính năng bảo mật như xác thực hai yếu tố hoặc kiểm soát truy cập dựa trên quyền người dùng, giúp đảm bảo chỉ những người có quyền mới có thể thực hiện các lệnh quản lý trên VPS.
  5. Tự Động Hóa và Tích Hợp: Telegram bot có thể được lập trình để tự động hóa các quy trình, chẳng hạn như sao lưu dữ liệu định kỳ, hoặc tích hợp với các công cụ và dịch vụ giám sát khác.

Sử dụng Telegram bot trong việc theo dõi và quản lý VPS không chỉ mang lại sự tiện lợi do khả năng truy cập từ xa thông qua Telegram, mà còn tăng cường khả năng phản hồi nhanh chóng đối với các sự kiện và cảnh báo liên quan đến máy chủ.

3. Hướng dẫn tạo Telegram Bot theo dõi CPU và tiến trình của VPS

Ở bài viết này mình sẽ hướng dẫn cách viết một script thông báo qua Telegram khi CPU của VPS vượt mức chỉ định (bạn có thể tùy chỉnh) và kèm theo thông tin 10 tiến trình đang chiếm dụng CPU cao nhất, cùng với thông tin về CPU, RAM, và disk ở thời điểm gửi thông báo.

Hướng dẫn tạo Telegram Bot theo dõi CPU và tiến trình của VPS

Hướng dẫn tạo Telegram Bot theo dõi CPU và tiến trình của VPS

3.1 Tạo Telegram bot

Trước tiên, bạn cần tạo một Telegram bot với BotFather (@BotFather). Bạn truy cập vào Telegram, sau đó tìm BotFather và làm như ảnh.

  1. Bạn nhấn start để bắt đầu.
  2. Bạn điền /newbot để tiến hành tạo bot.
  3. Bạn đặt tên cho bot (Ví dụ: HOSTVN VPS MONITOR)
  4. Bạn tạo username cho bot. Lưu ý: chữ cuối cùng của username phải là bot. (Ví dụ: hostvn_g_bot).
  5. Sau khi bạn tạo bot thành công, bạn sẽ nhận được Token ID của bot (Token ID này sẽ cần thiết cho việc kết nối bot với script).

1 1

3 3

Tiếp theo, bạn tìm Get My ID (@getmyid_bot), nhấn start để lấy Chat ID.

4 3

3.2 Tạo script trên VPS

Trước tiên bạn đăng nhập vào VPS với tài khoản root hoặc tài khoản user (sudo).

3.2.1 Tạo file script (Ví dụ: mình tạo file tên là cpu-monitor.sh ở /usr/local/bin/ )

1. Bạn chạy lệnh sau để tiến hành tạo file script.

sudo nano /usr/local/bin/cpu-monitor.sh

 

2. Tiếp đến bạn điền nội dung bên dưới vào file script

Lưu ý:

  1. Thay TOKEN_IDCHAT_ID bằng thông tin bạn đã nhận được ở các bước trước.
  2. Ở phần MAX_CPU_USAGE bạn hãy thay 0.1 thành mức CPU bạn muốn nhận được cảnh báo khi chạm tới, ví dụ bạn muốn khi CPU chạm mức 75% sẽ có thông báo thì bạn thay 0.1 thành 75 (mình để mức thấp 0.1 để test bot).
#!/bin/bash

TOKEN="TOKEN_ID"
CHAT_ID="CHAT_ID"
MAX_CPU_USAGE=0.1 # Đặt ngưỡng CPU theo ý bạn (ví dụ ở đây mình để 0.1% để test bot)

CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
if (( $(echo "$CPU_USAGE > $MAX_CPU_USAGE" | bc -l) )); then
    # Lấy thông tin tiến trình
    TOP_PROCESSES=$(ps -eo %cpu,%mem,pid,cmd | sort -nr | head -10)
    
    # Lấy thông tin hệ thống
    MEMORY_USAGE=$(free -h | grep Mem | awk '{print $3 "/" $2}')
    DISK_USAGE=$(df -h | grep '/$' | awk '{print $3 "/" $2}')

    MESSAGE="Cảnh báo: Sử dụng CPU trên VPS vượt ngưỡng $MAX_CPU_USAGE%! - CPU hiện tại: $CPU_USAGE%. - Memory Usage: $MEMORY_USAGE - Disk Usage: $DISK_USAGE. - Top Processes:  $TOP_PROCESSES"
    curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" -d chat_id=$CHAT_ID -d text="$MESSAGE"
fi

 

5 2

 

3. Lưu và đóng tập tin, hãy nhấn Ctrl+O, sau đó Enter, cuối cùng là Ctrl+X

 

3.2.2 Chạy quyền thực thi cho script

Chạy lệnh sau để đặt quyền thực thi cho script:

sudo chmod +x /usr/local/bin/system-monitor.sh

 

3.2.3 Thiết lập Cron Job

Để script tự động chạy theo định kỳ (ví dụ: mỗi 10 phút), bạn cần thiết lập một cron job.

1. Chạy lệnh crontab -e để chỉnh sửa cron job.

crontab -e

2. Thêm dòng sau vào cuối file (số 10 ở đây nghĩa là 10 phút, bạn có thể thay đổi thời gian theo nhu cầu, mình để là 1 phút để test bot)

*/10 * * * * /usr/local/bin/system-monitor.sh

 

6 2

 

3. Lưu và thoát trình soạn thảo (hãy nhấn Ctrl+O, sau đó Enter, cuối cùng là Ctrl+X).

Bạn có thể thấy bot hoạt động rất tốt, script sẽ tự động chạy theo chu kỳ mỗi 1 phút và khi CPU vượt mức 0.1% thì mình sẽ nhận được thông báo về Telegram Bot như đã thiết lập trước đó. Thông tin mình nhận được đầy đủ các thông số như CPU, RAM, Disk và 10 tiến trình đang chiếm dụng CPU cao nhất.

7 2

 

Sau khi hoàn thành, script này sẽ tự động kiểm tra sử dụng CPU của VPS và gửi thông báo tới bạn qua bot Telegram nếu sử dụng CPU vượt quá ngưỡng đã định, kèm theo danh sách 10 tiến trình chiếm dụng CPU cao nhất và thông tin về sử dụng RAM và disk tại thời điểm hiện tại. Điều này giúp bạn theo dõi và quản lý hiệu suất của VPS một cách hiệu quả.

Chúc bạn thành công!

Bạn cũng có thể tham khảo thêm các dịch vụ Web HostingCloud VPSServerEmail Business do chúng tôi cung cấp hoặc xem các bài viết chia sẻ khác của chúng tôi tại đây

Ebook Wordpress

Đăng ký nhận Ebooks toàn tập hướng dẫn sử dụng WordPress cơ bản


Góc chia sẻVPS Server

Xây dựng Streaming Server với Nginx-RTMP trên Ubuntu 20.04

2023-11-6 13:57:50

Phần mềmVPS ServerWordpress

Hướng dẫn cài đặt Wordpress trên FastPanel

2023-11-18 11:42:26

0 trả lời ATác giả MQuản lý
    Chưa có phản hồi nào
Trung tâm cá nhân
Giỏ hàng
Phiếu mua hàng
Đăng nhập ngay
Tin nhắn Danh sách tin nhắn
Tìm kiếm
Tối