Hotline : 07 088 44444
Thích
Chia sẻ

Hướng dẫn tạo bot Telegram để gửi thông báo

24/03/2021

Những ngày qua chúng tôi nhận được khá yêu cầu chia sẻ về vấn đề tự động hóa, như: tự động cảnh báo, tự động chạy dịch vụ, tự động backup hay tự động gửi báo cáo về vấn đề XYZ hằng ngày,… và còn nhiều yêu cầu khác.

Nhưng nhìn chung phần lớn các bạn đều gặp phải vấn đề lỗi dịch vụ do hệ thống thiếu tài nguyên. Hoặc hơn thế, những trường hợp tấn công DDoS, nhiễm virus khiến băng thông sử dụng quá cao.

Vậy làm sao để phát hiện nhanh nhất, để tiến hành xử lý, khắc phục? Bài viết này sẽ hướng dẫn các bạn một cách đơn giản nhất để tạo bot telegram, cảnh báo về tài nguyên hệ thống khi resource còn trống ít nhất 10% hoặc gửi báo cáo về hệ thống một cách định kỳ.

Yêu cầu

Áp dụng với server chạy linux cài được 2 gói: sysstat và vnstat .

  • Với CentOS (CentOS 6 đã bị khai tử nên không thể cài đặt được vì vậy bạn có thể bỏ qua bài viết) để cài 2 gói này:
yum install epel-release -y
yum install sysstat vnstat -y
  • Với Ubuntu:
apt-get update
apt-get install sysstat vnstat -y

Tạo bot Telegram

Với Telegram, việc tạo và kiểm soát bot thật sự đơn giản. Và đồng thời tin nhắn trên Telegram được mã hóa, chính vì vậy vấn đề bảo mật sẽ tốt hơn rất nhiều lần.

Đó cũng chính là nguyên nhân vì sao mình hướng dẫn tạo bot ở Telegram mà không phải ở các kênh mạng xã hội khác.

Để sỡ hữu bot Telegram, cần phải:

Bước 1: Login vào telegram thông qua số điện thoại.

Telegram hoạt động ở cả Android/ IOS/ MAC/ Window/ Linux/ hoặc trên cả Trình duyệt web.

Link chính chủ không fake: https://telegram.org/

Bước 2: Tìm BotFather.

Sau khi login, thông qua khung search tìm kiếm BotFather

Hướng dẫn tạo bot telegram
Hướng dẫn tạo bot telegram

Step 3: Tạo bot.

  • Thực hiện chat với BotFather để tạo bot. Gõ /help để biết thêm chi tiết về các hành động mà BotFather hỗ trợ
bot_created_2.png
  • Dùng command /newbot để vào mode tạo bot, sau đó điền thông tin: Bot name, và username cho bot. Với bot name và username cho bot là duy nhất không bị trùng và đúng định dạng
bot_created_3.png

Lưu ý:

  • Sau khi tạo bot thành công sẽ hiển thị chuỗi TOKEN chuỗi này là chuỗi riêng và duy nhất để định danh cho bất kỳ một bot nào.
  • Bạn không nên share TOKEN này với bất kỳ ai khác để tránh lộ thông tin và mất dữ liệu không cần thiết. Riêng với bài hướng dẫn này mình không ẩn đi để các bạn dễ hình dung.

Lấy chat_id

Step 1: Thêm bot vào group hoặc chanel của bạn.

add_bot_to_room.png

Step 2: Chat bất kỳ nội dung nào room/chanel và truy cập link api để lấy chat_id.

Link api: https://api.telegram.org/bot1776293817:AAFLG7eyrDluRydbJ2ONILJvvu2tikj7lkw/getUpdates

Với: 1776293817:AAFLG7eyrDluRydbJ2ONILJvvu2tikj7lkw là api mà bạn đã tạo bot thành công

get_chatID.png

Script cảnh báo

Lưu ý rằng bạn đã cài đặt các thư viện được đề cập ở mục 1 nhé.

Trong script cảnh báo mình viết sẵn, các bạn thực hiện điều chỉnh các dòng sau cho phù hợp với server của mình và có thể phát triển thêm:

  • chat_id thay bằng chat_id của group/chanel được tìm thấy ở phần hướng dẫn lấy chat_id mục 3
  • token thay bằng token của con bot đang dùng
  • interface thay bằng card mạng đang hoạt động (không dùng card mạng tên: lo)
  • time_report thay thế bằng thời gian muốn thực hiện report định kỳ hằng ngày, mặc định là 12h sáng, 0h khuya và 20 giờ đêm tính theo GMT +7
  • Các tham số thực hiện cảnh báo, ram (mem_threshold), cpu (cpu_threshold), disk (disk_threshold), inode(inode_threshold) ở mức 90% resouce hiện tại
  • Tham số cảnh báo băng thông sử dụng (bwin_threshold và bwout_threshold) ở mức 90MBit/s
chat_id="-419974609"
token="1776293817:AAFLG7eyrDluRydbJ2ONILJvvu2tikj7lkw"
interface="eth0" #Network interface
time_report=("12:00" "00:00" "20:00")

mem_threshold=90; cpu_threshold=90; disk_threshold=90; inode_threshold=50; #Percent
bwin_threshold=90; bwout_threshold=90; #MB

Sau khi điều chỉnh xong các thông số này, hãy upload file script lên vps/server, cấp quyền thực thi (chmod +x đường_dẫn_tới_script) và tiến hành thêm cron

File script: 

Output mà script cung cấp như hình bên dưới

bot_out_put.png

Thêm cron

Mặc định cron luôn chạy và khởi động cùng hệ thống vì vậy bạn không cần lo việc cron không hoạt động.

Cách thêm cron

$ crontab -u root -e

# Dùng trình editor để thêm dòng sau
* * * * * /bin/bash đường_dẫn_tới_script
# Sau khi điền xong, lưu lại và thoát khỏi cron

Kết thúc quá trình, hãy yên tâm rằng khi gặp sự cố bạn sẽ nhận được thông báo nhanh nhất qua telegram.

Lời kết

Hy vọng bài viết trên sẽ giúp bạn tạo được bot Telegram để gửi thông báo. Nếu có thắc mắc hay đóng góp ý kiến, mời bạn để lại bình luận phía dưới bài viết này. Vietnix xin chân thành cảm ơn bạn!

Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Vietnix thông qua các kênh sau:
  • Hotline: 1800 1093 - 07 088 44444
  • Email: support@vietnix.vn
  • Hoặc chat trực tiếp với Vietnix thông qua biểu tượng Livechat ở góc phải màn hình. Đội ngũ chuyên viên của chúng tôi luôn sẵn sàng tư vấn và hỗ trợ bạn 24/7.
Vietnix hiện đang có chương trình khuyến mãi lớn nhất trong năm, giảm giá TRỌN ĐỜI: Đăng ký dùng thử ngay và Vietnix sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ!
Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hòan thành chứng chỉ CDMP của PersonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Hãy kết nối với mình nhé!
Bài viết liên quan
Không có bài viết liên quan
Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Minh
Minh
1 month ago

Admin có thể cho mình xin full file script không

Nguyễn Thanh Trường
Admin
Nguyễn Thanh Trường
1 month ago
Reply to  Minh

Chào Minh,
Vietnix có bản full file Script trên github. Bạn có thể tham khảo tại link: https://github.com/VietnixHosting/Notify-Resource-Usage
Cảm ơn Minh đã quan tâm tới Vietnix.