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ị


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ạn muốn dùng Git clone về hay downlaod về cũng được, miễn sao có được code là xong, như tồi tải về cho nhanh.



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.py
sudo chmod 775 /usr/local/share/zabbix/alertscripts/zbxtg_group.py
sudo chmod 775 /usr/local/share/zabbix/alertscripts/ZbxTgDaemon.py
sudo chmod 775 /usr/local/share/zabbix/alertscripts/zbxtg_settings.py

Bước thứ 2 : 

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






Như thế đã hoàn thành xong con Bot.

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 key
zbx_server = "http://Ip server zabbix/"  # zabbix server full url
zbx_api_user = "Admin" //tôi dùng Admin
zbx_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: