top of page

HƯỚNG DẪN CÀI ĐẶT THÔNG BÁO ĐẾN TELEGRAM TRÊN ZABBIX SERVER

Writer's picture: Tuan NguyenTuan Nguyen

Updated: Jul 16, 2018

Các bước thực hiện:

  • Cài đặt Telegram

  • Cài đặt thông báo trên Zabbix Server



1. Cài đặt Telegram

Đầu tiên mình xin giới thiệu sơ về Telegram là gì ?

- Telegram là ứng dụng nhắn tin, gọi dùng trên iOS, Android, web,… được hai anh em Nikolai và Pavel Durov người Nga tạo ra.

- Là một ứng dụng miễn phí.

- Có tính bảo mật cao.

- Mã nguồn mở.

Để zabbix server có thể gửi được thông báo đến Telegram chúng ta phải có được token truy cập API và ID Telegram.


1.1. Lấy token

Đăng nhập vào Telegram: https://web.telegram.org

Nhập “botfather” vào ô tìm kiếm. Kết quả tìm kiếm ra tên là “BotFather” như hình, chúng ta chọn vào.

Bấm START



Nhập vào ô chat: “/newbot” rồi nhấn Enter để tạo bot.

Đặt tên cho bot, ở đây mình đặt tên cho bot của mình là “testzabbixbot”, sau khi nhập vào bạn nhấn Enter.

Đặt username cho bot, mình đặt là “tuannguyen_bot” nhấn Enter.

Okie, vậy là chúng ta đã có được token để truy cập vào API, bạn copy và lưu lại token này để dùng cho các bước tiếp theo nhé.


Bây giờ chúng ta kiểm tra xem token này có thể truy cập vào API được chưa nhé. Cú pháp như sau: https://api.telegram.org/bot<Dán token của bạn vào đây>/getUpdates

Ví dụ: mình dùng token của mình đã có được ở bước trên để truy cập vào API như sau:

Kết quả trả ra như bên dưới là đúng.


1.2. Lấy ID

Chúng ta quay lại contact BotFather, nhấn vào đường link để vào bot, hoặc bạn có thể nhập vào ô Search tên bot mà bạn đã đặt ở trên.

Nhấn vào START.

Đây là nơi sẽ nhận thông báo từ zabbix server. Chúng ta chat thử

Okie, bây giờ ta đã lấy được ID, bạn copy và lưu ID này lại. Lưu ý mỗi tài khoản Telegram có ID khác nhau nhé.


Vậy là trên Telegram chúng ta đã có được hai thành phần quan trọng là token API và ID người nhận.


2. Cài đặt trên zabbix server


2.1. Tạo file script trên zabbix server


Login vào hoặc SSH vào zabbix server

Kiểm tra đường dẫn lưu file script.

# cat /usr/local/etc/zabbix_server.conf

Chúng ta sẽ tạo file script (mình đặt tên file là telegramscript) nằm trong đường dẫn:

/usr/local/share/zabbix/alertscripts

# cd /usr/local/share/zabbix/alertscripts/
# vim telegramscript

Lưu ý: giá trị của biến BOT_TOKEN là token mà bạn đã lấy được trên Telegram nhé.

Code:

#!/usr/bin/env python

import telebot,sys

BOT_TOKEN='615372156:AAEwTtBVOq5YAhzF6_-5OGWcwEONaoP_SlE'

DESTINATION=sys.argv[1]

SUBJECT=sys.argv[2]

MESSAGE=sys.argv[3]

MESSAGE = MESSAGE.replace('/n','\n')

tb = telebot.TeleBot(BOT_TOKEN)

tb.send_message(DESTINATION,SUBJECT + '\n' + MESSAGE)

Cài python-pip

# yum install python-pip -y

Cài pyTelegramBotAPI.

# pip install pytelegrambotapi

Okie, bây giờ chúng ta sẽ kiểm tra xem script đã chạy được chưa nhé.

Cú pháp: ./<tên file script> <ID Telegram> <Subject> <Nội dung>

Chúng ta xem đã nhận tin nhắn hay chưa.

Okie, vậy là script đã ok.


Trên giao diện web của zabbix server


2.2. Tạo Media types

Administration > Media types > Create media type

Name: Đặt tên cho media.

Type: Chọn Script.

Script name: Điền đúng tên file script mà chúng ta đã tạo ở trên nhé.

Script parameters: Chúng ta bấm Add để thêm lần lượt 3 tham số sau:

- {ALERT.SENDTO} tham số này sẽ được gán cho biến DESTINATION trong file script.

- {ALERT.SUBJECT} tham số này sẽ được gán cho biến SUBJECT trong file script.

- {ALERT.MESSAGE} tham số này sẽ được gán cho biến MESSAGE trong file script.



Chúng ta đã tạo xong một Media types.



2.3. Gán Media types cho user

Mình sẽ gán cho user Admin: Users > Click vào user cần gán


Chọn tab Media > Add

- Type: Chọn tên Media types chúng ta đã tạo.

- Send to: Nhập ID Telegram của bạn vào.

- Nhấn Add.

Nhấn Update



2.4. Gán media types và user cho actions


Configuration > Actions: mình sẽ edit Action có sẵn, bạn có thể bấm Create action để tạo một action mới


Ở đây mình có sẵn 1 host đang được zabbix server monitor có name là Helpdesk-Computer, mình muốn khi host này có sự cố gì thì zabbix server sẽ alert đến telegram của mình nên mình sẽ add host đó vào.

Qua tab Operations chọn New


- Send to Users: Bấm Add để chọn user, ở đây mình add user Admin vào

- Send only to: Chọn tên Media types đã tạo

- Chọn Add để thêm

Chọn Update để hoàn thành việc thêm/chỉnh sửa action


2.5. Kiểm tra kết quả

Vậy là ta đã cấu hình xong, bây giờ ta xem thử khi có sự cố thì zabbix server có alert qua Telegram không nhé


Ở đây chúng ta có thể thấy khi có sự cố zabbix đã alert được tới Telegram


Vào Telegram chúng ta thấy đã nhận được thông báo, vậy là bạn đã làm thành công rồi nhé


Done !

23 views0 comments

Recent Posts

See All

Komentarze


 

© 2018 by Tuấn Nguyễn

 Liên hệ tôi
  • Facebook - Black Circle
  • Google+ - Black Circle
bottom of page