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

内容如有介绍不周的地方,再麻烦大家提点,感激不尽。
同步发表 行云部落格 再麻烦大家多多指教 谢谢
行云者研发基地官网 粉丝专页


<<:  Day22 React-Router

>>:  DAY22 时刻表选取组别功能实现

【Day9】:STM32记忆体架构

前言 从今天开始的3天,我们会以更底层的角度来了解单晶片的架构,若只是要会使用STM32可以暂时先略...

踏入 LeetCode 的第一步 - 操作与使用

初探 LeetCode 的操作与使用 注册登入 LeetCode 之後,可以从 Problems ...

Day.26 Binary Search Tree IV

今天讲二元树的删除,特别拉一篇出来讲,是因为它满复杂,要处理的case很多。 树的删除这边会把它分成...

Day 18 | 常用范例:表格分页 Pagination 前後端做好只需三分钟!?

今天的范例是超级无敌常用,有用到表格就一定会有的 分页(Pagination),从零到有不用三分钟!...

Day 07 「Tell. Don't Ask.」 测试与依赖:测行为

2021 IT 铁人 Day 07 测试与依赖:测行为 今天来聊「不回传值的命令」的使用场景与测试。...