Thiết lập cảnh báo Zabbix qua robot Feishu
Các bước thực hiện:
- Tạo nhóm trên Feishu và thêm robot tùy chỉnh, sao chép địa chỉ webhook của robot;
- Tạo tệp script feishu.py trong thư mục script của Zabbix và cấu hình địa chỉ webhook;
- Tạo loại phương tiện cảnh báo trong Zabbix và thêm vào người dùng;
- Tạo hành động (action) và cấu hình các thao tác.
- Tạo nhóm và thêm robot tùy chỉnh trên Feishu
Trên ứng dụng PC của Feishu, hãy tạo một nhóm mới.
Trong cài đặt nhóm, chọn thêm "Robot tùy chỉnh".
Đặt tên và mô tả cho robot, sau đó sao chép địa chỉ webhook được tạo.
- Tạo tệp script Feishu
Đăng nhập vào máy chủ Zabbix, truy cập thư mục /usr/lib/zabbix/alertscripts/ và tạo tệp mới tên feishu.py.
vi /usr/lib/zabbix/alertscripts/feishu.py
Dán nội dung sau vào tệp:
#!/usr/bin/python3
import requests
import json
import sys
import os
import datetime
url = "webhook地址" # Dán địa chỉ webhook đã sao chép vào đây
def send_message(message):
payload = {
"msg_type": "text",
"content": {
"text": message
}
}
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
return response
if __name__ == '__main__':
msg = sys.argv[1]
send_message(msg)
Cấp quyền thực thi cho tệp script:
chmod +x /usr/lib/zabbix/alertscripts/feishu.py
- Thêm phương tiện cảnh báo trong Zabbix
Tạo loại phương tiện cảnh báo với tham số: {ALERT.MESSAGE}
Thêm phương tiện cảnh báo cho người dùng
Cấu hình mức độ cảnh báo cần nhận
Sau khi hoàn tất, nhấn nút Cập nhật.
- Tạo hành động và cấu hình
Tạo một hành động mới
Cấu hình hành động - hình ảnh dưới đây thể hiện cách cấu hình hoàn chỉnh
Chi tiết từng phần cấu hình:
Chọn người dùng nhận thông báo, tên script kích hoạt, nội dung tin nhắn
Thông báo lỗi: {EVENT.NAME}
Máy chủ: {HOSTNAME1}
Thời gian: {EVENT.TIME}
Mức độ: {TRIGGER.SEVERITY}
Nội dung: {EVENT.NAME}
Mục kiểm tra: {TRIGGER.KEY1}
Chi tiết: {ITEM.NAME}:{ITEM.VALUE}
Trạng thái: {TRIGGER.STATUS}:{ITEM.VALUE1}
ID sự kiện: {EVENT.ID}
Hành động khôi phục:
Thông báo khôi phục: {EVENT.NAME}
Máy chủ: {HOSTNAME1}
Thời gian: {EVENT.TIME}
Mức độ: {TRIGGER.SEVERITY}
Nội dung: {EVENT.NAME}
Mục kiểm tra: {TRIGGER.KEY1}
Chi tiết: {ITEM.NAME}:{ITEM.VALUE}
Trạng thái: {TRIGGER.STATUS}:{ITEM.VALUE1}
ID sự kiện: {EVENT.ID}
Lưu lại cấu hình.
- Kiểm tra phương tiện cảnh báo và xử lý lỗi thường gặp
Kiểm tra phương tiện cảnh báo
Nếu thành công, tin nhắn sẽ được gửi qua robot nhóm.
Lỗi thường gặp:
- Đường dẫn Python3 không đúng
Dòng đầu tiên trong script feishu.py cần chỉ định đúng đường dẫn đến Python3.
Sử dụng lệnh sau để xác định đường dẫn Python3 hiện tại:
[root@Zabbix alertscripts]# whereis python3
python3: /usr/local/bin/python3.8 /usr/local/bin/python3.8-config /usr/local/bin/python3 /usr/local/lib/python3.8
Sửa dòng đầu tiên trong file feishu.py thành đường dẫn phù hợp:
#!/usr/local/bin/python3
- Mô-đun requests chưa được cài đặt
Cài đặt mô-đun requests bằng lệnh:
[root@Zabbix alertscripts]# pip3 install requests