กลุ่มชุมชนแลกเปลี่ยนความรู้แบ่งปั่น และช่วยเหลือ ต่อการใช้งาน OpenSource Zabbix เพราะการแบ่งปัน นั้นยิ่งใหญ่กว่า.

ขั้นตอนการดำเนินการทำ Zabbix 5 เพื่อให้ส่งแจ้งเตือนผ่าน LINE Notify โดยใช้ Webhook (The how to procedure for Zabbix 5 sending alert via LINE Notify using Webhook)

 ขั้นตอนการดำเนินการทำ Zabbix 5 เพื่อให้ส่งแจ้งเตือนผ่าน LINE Notify โดยใช้ Webhook

(The how to procedure for Zabbix 5 sending alert via LINE Notify using Webhook)

ขั้นตอนที่ 1: ทำการสร้าง "Media types" ในรูปแบบ "Webhook" เพื่อรองรับการทำงานการแจ้งเตือนผ่าน LINE, โดยไปที่เมนู Adminstration -> Media types -> Create media type
(Step 1: Creating "Media types" with type "Webhook" for suppored customising send LINE alert. Goto  Adminstration -> Media types -> Create media type) 



ขั้นตอนที่ 2: ที่หน้าจอ "Media types" กำหนดรายละเอียดดังนี้
(Step 2: On menu named "Media types" specified parameters as following.)

Name: YOUR_MEDIA_TYPE_NAME - e.g.: LineWebhook
Type: Webhook
Script parameters:
  • URL ---> https://notify-api.line.me/api/notify
  • To ---> {ALERT.SENDTO}
  • Subject ---> {ALERT.SUBJECT}
  • Message ---> {ALERT.MESSAGE}
  • linetoken ---> {$LINENOTIFYTOKEN}
Script: FOLLOWING AFTER IMAGE


Script here:
====================
try {
   #Zabbix.Log(4, 'webhook script value='+value);
   var params = JSON.parse(value);
   var req = new CurlHttpRequest();
   var fields = {};
   var resp;
   
   req.AddHeader('Content-Type : application/x-www-form-urlencoded');
   req.AddHeader('Authorization: Bearer '+params.linetoken);

   resp = req.Post(params.URL, 'message='+encodeURIComponent(params.Subject));

   #Zabbix.Log(4, 'webhook response='+resp);

} catch (error) {
    #Zabbix.Log(4, 'webhook json : '+value);
    #Zabbix.Log(4, 'webhook error : '+error);
    resp = error;
}

return JSON.stringify(resp);
====================


ขั้นตอนที่ 3: กำหนดให้ "Message Templates" อย่างน้อยคือ "Problem" และ "Problem recovery", โดยไปที่แท็ป Message templates เลือก Add ที่ Message type อย่างน้อยคือ "Problem" และ "Problem recovery"
(Step 3: Configure the "Message Template" at least are "Problem" and "Problem recovery" , Goto Message templates tab and add Message type at least are "Problem" and "Problem recovery")



ขั้นตอนที่ 4: สามารถทดสอบ "Media Type" ที่สร้างขึ้น ว่าสามารถทำการส่ง Line Notify ได้หรือไม่ โดยสำหรับ linetoken สามารถนำ token ที่ได้จาก LINE มาใส่ได้เลย
(Step 4: To testing this "Media Type" for sending Line Notify, You can fill linetoken with token that get from LINE.)



ขั้นตอนที่ 5: สร้าง "Macro" แบบ "Global" ในรูปแบบ "SecureText" ชื่อ {$LINENOTIFYTOKEN} โดยใส่ค่า token ที่ได้จาก line มาใส่ โดยไปที่เมนู Administration -> General -> Macros
(Step 5: Create "Macro" on "Global" type with "SecureText" capability named {$LINENOTIFYTOKEN} and fill with token that get from LINE.)



ขั้นตอนที่ 6: กำหนดให้ "User" ที่เกี่ยวข้องใช้งาน "Media" ที่สร้างขึ้นตามขั้นตอนที่ 2-3, โดยไปที่เมนู Administration -> Users -> เลือกผู้ใช้งานที่ต้องการ เช่น Admin -> Media โดยกำหนด "Type" เป็นชื่อ Media Type ที่สร้างขึ้นตามขั้นตอนที่ 2-3
(Step 6: Configure the related "User" to using "Media" that created in step no. 2-3, Goto Administration -> Users -> Choose related User such as Admin -> Media the set to "Type")



ขั้นตอนที่ 7: กำหนด "Action" ที่เกี่ยวข้องใช้งาน "Media" ที่สร้างขึ้นตามขั้นตอนที่ 2, โดยไปที่เมนู Configuration -> Actions -> เลือกชื่อ Action ที่ต้องการ หรือสร้าง Action ใหม่ -> จากนั้นกำหนดรายละเอียดดังนี้
(Step 7: Configure the related "Action" to using "Media" that created in step no. 2, Goto Configuration -> Actions -> Choose related Action or Create new Action ->  Then specified detail as following.)

เมนู "Action" (Action menu)

Name: YOUR_ACTION_NAME - e.g.: actiontriggerhigh
Condition: YOUR_ACTION_WILL_BE_WORKING_CONDITION - e.g.: Trigger severity equals High.
Enables: Seleted



ขั้นตอนที่ 8: กำหนด แท็ป "Operations" (Operations tab configuration)



(A) ส่วนการทำงาน "Operations" ทำการ Add ผู้ใช้งานที่ได้ทำการกำหนดไว้ในขั้นตอนที่ 6 และเลือก "Send only to" ตามที่ได้สร้างขึ้นในขั้นตอนที่ 2-3
(For "Operations" section, Add the user that configured in step no. 6 and select "Send only to" that created on step no. 2-3)

(B) เช่นเดียวกันสำหรับ (A) ในส่วนการทำงาน "Recovery operations" ทำการ Add ผู้ใช้งานที่ได้ทำการกำหนดไว้ในขั้นตอนที่ 6 และเลือก "Send only to" ตามที่ได้สร้างขึ้นในขั้นตอนที่ 2-3
(As same as (A), For "Recovery operations" section, Add the user that configured in step no. 6 and select "Send only to" that created on step no. 2-3)



จากนั้น: สามารถสร้าง Trigger และทดสอบการทำงานเพื่อให้มีการส่ง Alert ผ่าน Line Notify ได้ต่อไป
(After that: Could create the Trigger and testing the scenario for sending alert via Line Notify)


Share:
 
Zabbix in Thailand
Facebook Group · 701 members
Join Group
กลุ่มนี้จัดตั้งขึ้นเพื่อแลกเปลี่ยนความรู้ของ zabbix ใครมีคู่มือ เทคนิค หรือ ปัญหา มาร่วมมือกันแก้ไขกันสำหรับชาวไทย -----------------------------------...
 

Popular

ค้นหาบล็อกนี้

Labels

Comments

Labels

Recent Posts