การเชื่อมต่อ Zabbix - แจ้งเตือนโครงสร้างพื้นฐาน

เชื่อม Zabbix เข้ากับ Echobell ด้วย media type แบบ webhook แล้วรับการแจ้งเตือนหรือสายโทรเข้าเมื่อทริกเกอร์ทำงาน


Zabbix เป็นแพลตฟอร์มมอนิเตอร์โอเพนซอร์สสำหรับเครือข่าย เซิร์ฟเวอร์ และแอปพลิเคชัน media type แบบ webhook จะส่งการแจ้งเตือนของมันไปยังแชนเนล Echobell

สร้างแชนเนล

สร้างแชนเนลใหม่ใน Echobell แล้วคัดลอก Webhook URL ของมัน

สร้าง media type แบบ webhook

ใน Zabbix ไปที่ AlertsMedia typesCreate 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 ให้ผู้ใช้

ไปที่ UsersUsers เปิดผู้ใช้ที่ต้องได้รับการแจ้งเตือน แล้วในแท็บ Media เพิ่มรายการที่ Type เป็น Echobell และ Send to เป็น URL webhook ของแชนเนลคุณ

สร้าง trigger action

ไปที่ AlertsActionsTrigger actions แล้วเพิ่ม action ที่มีการดำเนินการส่งข้อความถึงผู้ใช้คนนั้นผ่าน media type ชื่อ Echobell

แจ้งเฉพาะตอนมีปัญหา

Zabbix ส่งทั้งเหตุการณ์ที่เป็นปัญหาและเหตุการณ์ที่กลับมาปกติ โดย {EVENT.VALUE} มีค่า 1 เมื่อเป็นปัญหา และ 0 เมื่อกลับมาปกติ ให้ตั้งเงื่อนไขนี้กับแชนเนลเพื่อให้การกลับมาปกติเงียบไว้

status == "1"

ถ้าต้องการการแจ้งเตือนตอนกลับมาปกติด้วย ให้ใช้แชนเนลที่สองที่ตั้งเงื่อนไข status == "0" และลดระดับความเร่งด่วนลง