Monitors System - Hướng dẫn cài đặt Chat Bot Telegram gởi tin nhắn cảnh báo của Zabbix về Telegram người quản trị
Thứ Ba, 29 tháng 1, 2019
Khi thời đại Chat Bot lên ngôi thì việc ngồi đọc mail thông báo của hệ thống rất ít, đa phần người dùng có điện thoại thông minh, và có cài Telegram App thì việc tự động nhận tin nhắn của con Bot gởi về khá tiện.
Nghe tới đây thấy cao xa và phức tạp quá phải không, thì vấn đề này hiện nay khá tiện, khó thì không mà nói dễ thì cũng không dễ. Đầu tiên cần cám ơn những người đã upload code lên mạng để cộng đồng cùng dùng, đấy mới là điều cần cảm ơn họ trước khi làm.
Với cá nhân tôi có nề tảng về lập trình có thể đem code của họ về làm thành của mình được, nhưng số ít người không có khả năng code và đọc code thì cứ dùng sao y bản chính có thể dùng liền, cũng một phần đáp ứng được yêu cầu cá nhân, và cũng là tôn trọng tác giả.
OK đầu tiên vào Github để tim code như sau :
https://github.com/ableev/Zabbix-in-Telegram
Bước thứ 1 : Tiếp theo sẽ updaload nó lên host Zabbix server , vị trí lưu code sẽ là user/local/share/zabbix/alertscripts , khi tới đây nếu đã đọc thật kỹ bài hướng dẫn cài Zabbix sẽ nhớ vì sao lại là đường dẫn này :)
Sau khi uplaod xong thì phân quyền các file này để chạy không cần Sudo, file mẫu zbxtg_settings.exam.py thì sửa lại là zbxtg_settings.py vì bên trong các file kia có include config của file này để chạy
sudo chmod 775 /usr/local/share/zabbix/alertscripts/zbxtg.pysudo chmod 775 /usr/local/share/zabbix/alertscripts/zbxtg_group.pysudo chmod 775 /usr/local/share/zabbix/alertscripts/ZbxTgDaemon.pysudo chmod 775 /usr/local/share/zabbix/alertscripts/zbxtg_settings.py
Mở Telegram để tạo Bot, tìm tới BotFather để yêu cầu nó tạo
Quá trình như sau :
/Start -> /newbot ->Usernamebot sau khi ok nó sẽ trả về token cho bạn
Quay lại bước 1 để tiến hành config, mở file config lên và nhập thông tin vào file config xong để test Bot.
[root@ localhost~]#vi /usr/local/share/zabbix/alertscripts/zbxtg_settings.py
Trong file này cần sửa các các nội dung sau :
tg_key = "key bot father gởi" # telegram bot api keyzbx_server = "http://Ip server zabbix/" # zabbix server full urlzbx_api_user = "Admin" //tôi dùng Adminzbx_api_pass = "password"zbx_db_host = "localhost"
zbx_db_database = "zabbix_db"
zbx_db_user = "zabbix_admin"
zbx_db_password = "password database"
OK thế là lưu lại test thôi
Kết quả trả về của Bot
Như vậy là con Bot đã hoạt động tốt, bắt đầu config trigger trên Zabbit cho nó chạy :
Telegram : Administrator - > Media Types -> Create Media Types
Administrator - > User -> Media ->Add script và sendto nick Telegram
Cuối cùng tạo trigger để gởi tin nhắn
Configuration->Action->New condition(chọn trigger)->Select những thông báo cần chạy
Nội dung bên trong là :
Last value: {ITEM.LASTVALUE1} ({TIME})
zbxtg;graphs
zbxtg;graphs_period=10800
zbxtg;itemid:{ITEM.ID1}
zbxtg;title:{HOST.HOST} - {TRIGGER.NAME}
Cuối cùng khi có vấn đề gì liên quan đến condition nếu thỏa mãn sẽ báo về tin nhắn bằng trigger.
Vidu : Trigger equals xxx: xxxhas just been restarted,nếu khởi động lại server nào đó thỏa được điều kiện này thì trigger sẽ kích hoạt gởi thông tin
Đơn giản thế là xong.
Nhãn: Monitors System