iT邦幫忙

2021 iThome 鐵人賽

DAY 23
0
Security

監控大挑戰 - 以 Zabbix 為例系列 第 23

Day 23. Zabbix 通知設定 - Custom alertscripts - Line

在 SMTP Mail 之後,今天要跟大家介紹第二種通知方式 Custom alertscripts ,發送 LINE 通知訊息。

本文參考 這篇實作:https://dotblogs.com.tw/xerion30476/2019/08/28/153643

一開始因為沒事不會去打開 Zabbix 網頁查看有沒有問題,後來設定了 SMTP Mail 通知,一開始很新鮮,但後來因為常常被其他 Mail 埋沒了,為了讓問題不被埋沒,所以開始了 Line 通知的旅程。

想在 LINE 上收到 Zabbix 通知大致分成五個步驟

  1. 進入LINE Notify登入LINE帳號後,選擇要發送訊息的群組,以及取得權杖(Token)
  2. 在 Zabbix Server 上設定腳本(Script)
  3. 在管理介面上,新增 media
  4. 將 LINE 權杖 綁定在 一位使用者上
  5. 將 LINE 通知功能與觸發問題連線

現在開始LINE通知設定的詳細步驟

LINE Notify:https://notify-bot.line.me/zh_TW/
登入LINE Notify→個人頁面→發行權杖→選擇要發送訊息的群組、權杖名稱→發行→取得權杖
點選個人頁面

點選發行權杖

填寫權杖名稱 到時候會顯示再通知上面
選擇 要發送訊息的群組 就可以送出了(我們選擇 維運群組,這樣只要群組內大家就都看的到了)

可以把 LINE 權杖(Token)複製下來了

LINE 設定告一段落了

在 Zabbix Server 上設定腳本(Script)

檔案名稱不一定要叫line_notify.sh

vim /usr/lib/zabbix/alertscripts/line_notify.sh
#!/bin/bash
# LINE Notify Token - Media > "Send to".
TOKEN="$1"

# {ALERT.SUBJECT}
subject="$2"

# {ALERT.MESSAGE}
message="$3"

curl https://notify-api.line.me/api/notify -H "Authorization: Bearer ${TOKEN}" -F "message=${message}"

指定 zabbix 為使用者 ,並給予可執行的權限

chmod 775  /usr/lib/zabbix/alertscripts/line_notify.sh
chown zabbix:zabbix  /usr/lib/zabbix/alertscripts/line_notify.sh

在管理介面上,新增 media

Media Type 這邊偷吃步一下 點選Email 然後 點選 clone 複製改成 如下圖:

clone 的原因 可以省下 Message Templates 及 Options 就不用再多做設定

  • Name: LINE
  • Type: Script
  • Script name: line_notify.sh 同腳本名稱
  • Script parameter: (這跟 SCRIPT 對應)
    • {ALERT.SENDTO}為收件人(Token)
    • {ALERT.SUBJECT}為主旨
    • {ALERT.MESSAGE}為發送訊息

Script parameter 參數是有順序性的 (我有白目測試確實會壞掉)
https://www.zabbix.com/documentation/5.0/manual/config/notifications/media/script

設定完有個 Test 按鈕
Send to : 貼上 LINE 權杖(Token)複製

成功測試

將 LINE 權杖 綁定在 一位使用者上

接下來要到 Administration → Users
選擇需要 通知的使用者(我是都偷懶 Administrator ) → 選擇 Media 分頁 → Media Add

Type: Line
Send to : 貼上 LINE 權杖(Token)複製

記得Add完要 Update 不然會沒有存到喔

將 LINE 通知功能與觸發問題連線 (如果 Mail 有設定過,這可以跳過)

到 Configuration → Actions
因為我是設定Admin 所以將 Report problems to Zabbix administrators → Enabled
若是使用其他帳號在clone Report problems to Zabbix administrators 進行設定即可。

完成後就大功告成~

圖為製造發生問題時的通知

其實 LINE Notify 也是 Webhook 的一種XD,只是大多數人都用 Script 實作。

附上 Webhook 的方式(不用再寫腳本瞜)
https://share.zabbix.com/zabbix-tools-and-utilities/cat-notifications/zabbix-line-notify

內容如有介紹不周的地方,再麻煩大家提點,感激不盡。
同步發表 行雲部落格 再麻煩大家多多指教 謝謝
行雲者研發基地官網 粉絲專頁


上一篇
Day 22. Zabbix 通知設定 - SMTP - Mail
下一篇
Day 24. Zabbix 通知設定 - Webhook - Telegram
系列文
監控大挑戰 - 以 Zabbix 為例30

尚未有邦友留言

立即登入留言