การเชื่อมต่อ 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" จากนั้นเพิ่มพารามิเตอร์ต่อไปนี้

NameValue
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" และลดระดับความเร่งด่วนลง