การเชื่อมต่อ Zabbix - แจ้งเตือนโครงสร้างพื้นฐาน
เชื่อม Zabbix เข้ากับ Echobell ด้วย media type แบบ webhook แล้วรับการแจ้งเตือนหรือสายโทรเข้าเมื่อทริกเกอร์ทำงาน
Zabbix เป็นแพลตฟอร์มมอนิเตอร์โอเพนซอร์สสำหรับเครือข่าย เซิร์ฟเวอร์ และแอปพลิเคชัน media type แบบ webhook จะส่งการแจ้งเตือนของมันไปยังแชนเนล Echobell
สร้างแชนเนล
สร้างแชนเนลใหม่ใน Echobell แล้วคัดลอก Webhook URL ของมัน
สร้าง media type แบบ webhook
ใน Zabbix ไปที่ Alerts → Media types → Create media type ตั้ง Type เป็น Webhook และตั้งชื่อว่า "Echobell" จากนั้นเพิ่มพารามิเตอร์ต่อไปนี้
| Name | Value |
|---|---|
url | {ALERT.SENDTO} |
title | {ALERT.SUBJECT} |
body | {ALERT.MESSAGE} |
host | {HOST.NAME} |
severity | {EVENT.SEVERITY} |
status | {EVENT.VALUE} |
วางสคริปต์
วางโค้ดนี้ลงในช่อง Script
var params = JSON.parse(value),
req = new HttpRequest();
req.addHeader('Content-Type: application/json');
var response = req.post(params.url, JSON.stringify({
title: params.title,
body: params.body,
host: params.host,
severity: params.severity,
status: params.status
}));
if (req.getStatus() !== 200) {
throw 'Echobell returned HTTP ' + req.getStatus() + ': ' + response;
}
return 'OK';กำหนด media ให้ผู้ใช้
ไปที่ Users → Users เปิดผู้ใช้ที่ต้องได้รับการแจ้งเตือน แล้วในแท็บ Media เพิ่มรายการที่ Type เป็น Echobell และ Send to เป็น URL webhook ของแชนเนลคุณ
สร้าง trigger action
ไปที่ Alerts → Actions → Trigger actions แล้วเพิ่ม action ที่มีการดำเนินการส่งข้อความถึงผู้ใช้คนนั้นผ่าน media type ชื่อ Echobell
แจ้งเฉพาะตอนมีปัญหา
Zabbix ส่งทั้งเหตุการณ์ที่เป็นปัญหาและเหตุการณ์ที่กลับมาปกติ โดย {EVENT.VALUE} มีค่า 1 เมื่อเป็นปัญหา และ 0 เมื่อกลับมาปกติ ให้ตั้งเงื่อนไขนี้กับแชนเนลเพื่อให้การกลับมาปกติเงียบไว้
status == "1"
ถ้าต้องการการแจ้งเตือนตอนกลับมาปกติด้วย ให้ใช้แชนเนลที่สองที่ตั้งเงื่อนไข status == "0" และลดระดับความเร่งด่วนลง